Pixelated mouse cursor in VM

Discussions related to using VirtualBox on Windows hosts.
Post Reply
xerces8foo
Posts: 99
Joined: 3. May 2014, 16:44

Pixelated mouse cursor in VM

Post by xerces8foo »

Host: Windows 10 Pro 21H2, Vbox 6.1.34 (the free version, no Extension Pack)
Guest: Windows 7 + Guest Additions v6.1.34

The Pointer scheme selected in the guest Control Panel is "(None)".

The pointer inside the VM is very pixelated. See photos attached. One is the pointer inside the VM window, very pixelated, the other shows it outside the VM window, not pixelated, smooth.

Is this some known issue?

The DPI scaling in the guest is set to 100%, the host has also 100%.


PS: The photos are too big for the forum to allow upload, so I put them on imgur:
https://imgur.com/XOqHicD
https://imgur.com/DLEiCpp
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Pixelated mouse cursor in VM

Post by mpack »

Unless you have the GAs installed then the mouse cursor is drawn by the guest OS, not by VirtualBox. If the GAs are installed then the cursor is integrated with the host and drawn by the host OS.

The images you provide are clearly not at 100% scaling. If I zoom in on the font used then individual pixels are about 5 or 6 host pixels across. Did you take these with a camera? That seems pointless when you want to discuss picture resolution. You should use the Windows Snipping Tool. That would also have made smaller images.

Btw, please provide a VM log file. Make sure the VM is fully shut down, then right click it in the manager UI. Select "Show Log" and save "VBox.log" (no other file) to a zip file. Attach the zip here.
xerces8foo
Posts: 99
Joined: 3. May 2014, 16:44

Re: Pixelated mouse cursor in VM

Post by xerces8foo »

Sniping tools don't record the mouse pointer or record it differently that it appears on the screen, so I used a camera.

VBox.log (zipped) attached.
Attachments
Windows 7 x64-2022-04-26-22-49-29.zip
(52.19 KiB) Downloaded 7 times
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Pixelated mouse cursor in VM

Post by mpack »

Well, something nasty certainly started happening around here in the log:
33:46:54.020748 GUI: UIDesktopWidgetWatchdog::sltHandleHostScreenResized: Screen 1 is formally resized to: -1920x360 x 1920x1080
33:46:54.020780 GUI: UIMachineLogic: Host-screen geometry changed
33:46:54.020807 GUI: UIDesktopWidgetWatchdog::sltHandleHostScreenWorkAreaResized: Screen 1 work area is formally resized to: -1920x360 x 1920x1080
33:46:54.020815 GUI: UIMachineLogic: Host-screen available-area changed
33:46:54.651265 GUI: UIDesktopWidgetWatchdog::sltHandleHostScreenWorkAreaResized: Screen 1 work area is formally resized to: -1920x360 x 1920x1040
33:46:54.651289 GUI: UIMachineLogic: Host-screen available-area changed
33:46:54.677835 GUI: UIMachineView::sltPerformGuestResize: Sending guest size-hint to screen 0 as 2560x1335 if necessary
33:46:54.770849 VMMDev: SetVideoModeHint: Got a video mode hint (2560x1335x32)@(0x0),(1;0) at 0
33:46:54.771117 VMMDev: Guest Log: Got multi resize request 1 displays
33:46:54.771197 VMMDev: Guest Log: [0]: 0 0x39 0,0 2560x1335 32
33:46:54.772967 VMMDev: Guest Log: VBoxMP::vboxWddmVModesAdd: WARNING! :resolution 2560x1335 too big for available VRAM (12189696 bytes)
33:46:54.773093 VMMDev: Guest Log: VBoxMP::VBoxVidPnUpdateModes: WARNING! :VBoxWddmVModesAdd failed -37
33:46:54.773262 VMMDev: Guest Log: VBoxMP::DxgkDdiEscape: WARNING! :VBoxVidPnUpdateModes failed Status(0xc0000001)
33:46:54.773331 VMMDev: Guest Log: vboxDispIfUpdateModesWDDM: VBoxTray: pfnD3DKMTEscape VBOXESC_UPDATEMODES failed Status 0xc0000001
I can't find those "formally resized to" notifications in my own Win7 logs. Were you dragging the Window borders? Were you using the VM display menus? So I can't tell if that "-1920" is just a misleading display or if you did something weird.

Much clearer is the other message - "resolution 2560x1335 too big for available VRAM". And indeed you have only allocated 48MB graphics RAM. You should enable 3D acceleration AND then max out this parameter (to 256MB) if you intend to be using >>fullHD display sizes.
fth0
Volunteer
Posts: 5668
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Pixelated mouse cursor in VM

Post by fth0 »

There has even been another error reported by the VirtualBox graphics implementation earlier on (at 00:00:16.657582). Both this error and the errors mentioned by mpack happened with the older VirtualBox Guest Additions (GA) 6.1.30, which were then updated during this VM run to the GA 6.1.34.

Please shut down the VM from within the guest OS, then start the VM again. If the reported issue persists, provide a new (zipped) VBox.log file.

Background rationale: The (requested and performed) reboot of the guest OS after updating the GA probably has less "cleaning" effect than restarting the whole VM, especially regarding the host-side parts of the VM.
xerces8foo
Posts: 99
Joined: 3. May 2014, 16:44

Re: Pixelated mouse cursor in VM

Post by xerces8foo »

I did:
- shutdown VM
- enabled 3D acceleration and set VRAM to 256MB
- restarted VM

issue persists

new log attached
Attachments
Windows 7 x64 VPN-2022-05-03-13-04-06.zip
(23.32 KiB) Downloaded 2 times
fth0
Volunteer
Posts: 5668
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Pixelated mouse cursor in VM

Post by fth0 »

Windows 7 x64 VPN-2022-05-03-13-04-06.log file wrote:
00:00:15.787220 VMMDev: Guest Log: Got multi resize request 1 displays
00:00:15.787258 VMMDev: Guest Log: [0]: 0 0x39 0,0 1920x975 24
00:00:15.795220 VMMDev: Guest Log: VBoxDispIfResizeDisplayWin7: VBoxTray:(WDDM) pfnSetDisplayConfig Failed to VALIDATE winEr 1610.
00:00:15.795290 VMMDev: Guest Log: Display config: Flags = 0x00000020
00:00:15.795319 VMMDev: Guest Log: PATH_INFO[1]:
00:00:15.795348 VMMDev: Guest Log: 0: flags 0x00000001
00:00:15.795367 VMMDev: Guest Log:   sourceInfo: adapterId 0x00000000:000049e7, id 0, modeIdx 1, statusFlags 0x00000001
00:00:15.795393 VMMDev: Guest Log:   targetInfo: adapterId 0x00000000:000049e7, id 0, modeIdx 0,
00:00:15.795398 VMMDev: Guest Log:               ot 0, r 1, s 1, rr 60000/1000, so 1, ta 1, statusFlags 0x00000003
00:00:15.795421 VMMDev: Guest Log: MODE_INFO[2]:
00:00:15.795444 VMMDev: Guest Log: 0: adapterId 0x00000000:000049e7, id 0
00:00:15.795464 VMMDev: Guest Log:   tgt pr 0x6b1de00, hSyncFreq 115200000/1000, vSyncFreq 60000/1000, active 1920x975, total 1920x975, std 255, so 1
00:00:15.795482 VMMDev: Guest Log: 1: adapterId 0x00000000:000049e7, id 0
00:00:15.795498 VMMDev: Guest Log:   src 1920x975, fmt 3, @0x0
00:00:15.795754 VMMDev: Guest Log: VBoxDispIfResizeDisplayWin7: VBoxTray:(WDDM) pfnSetDisplayConfig Failed to SET, winEr 1610.
The Windows 7 x64 VPN-2022-05-03-13-04-06.log file still exhibits the initial warning log messages, but not the follow-up messages with the peculiar display coordinates. VirtualBox makes up to 4 successive calls with different parameters to SetDisplayConfig function (winuser.h) until one of them succeeds, which means that the 3rd call is successful. Therefore, I cannot assess if those log messages indicate a real problem or not.

I'd suggest to create a ticket on the Bugtracker.
xerces8foo
Posts: 99
Joined: 3. May 2014, 16:44

Re: Pixelated mouse cursor in VM

Post by xerces8foo »

This is probably a Windows issue.

I have the cursor size set to "2" on the host (see screenshot).

That makes all cursors bigger, but some of them become pixelated.

For example the zoom-in/zoom-out cursors used among other in Firefox and Edge when displaying an image bigger that the browser window, for example this: https://eoimages.gsfc.nasa.gov/images/i ... 04_lrg.jpg

(no screenshot as it does not capture the mouse pointer)

The effect is even more obvious with bigger cursor size settings.

So this is basically a Windows (10) issue.
Attachments
screenshot os system settings for mouse pointer size on host
screenshot os system settings for mouse pointer size on host
mousesize.jpg (55.99 KiB) Viewed 2373 times
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Pixelated mouse cursor in VM

Post by scottgus1 »

I have seen some cursors pixelate in Windows also, when scaled up. I suppose that the cursors are raster images instead of vector, so they don't have scaling info in that Windows option. The old "Large" and "Extra Large" options in the Control Panel Mouse settings seemed better to me.

FWIW I could not see a mouse cursor in the NASA image.

FWIW2 I have been able to capture a mouse cursor in a screenshot using the Printscreen key, then pasting the image in Paint and cropping appropriately.
xerces8foo
Posts: 99
Joined: 3. May 2014, 16:44

Re: Pixelated mouse cursor in VM

Post by xerces8foo »

scottgus1 wrote: FWIW2 I have been able to capture a mouse cursor in a screenshot using the Printscreen key, then pasting the image in Paint and cropping appropriately.
The builtin PrintScreen never captured the mouse pointer (except the pointer in a VM when drawn by the VM software). If it does, then it is a 3rd party software.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Pixelated mouse cursor in VM

Post by mpack »

See the first sentence of the first reply.

Windows applications have a choice of whether to use the Windows OS default cursors, or their own custom cursors. If the latter, then it's up to the app to provide the cursor in a wide range of resolutions and let Windows pick the one that matches the monitor DPI. If the app was originally designed for 96dpi monitors then it would not be surprising that it doesn't provide cursors suitable for 144dpi etc. If the largest available cursor is too small then Windows will scale it up. But of course, being raster images this upscaling will lead to blurriness and/or pixelation.

AFAIK, VirtualBox doesn't provide any cursors to be used inside the guest OS. Obviously not, since providing cursor resources for an infinite number of possible guests would be a never ending job in itself. So this was never a valid VirtualBox concern.
scottgus1
Site Moderator
Posts: 20965
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Pixelated mouse cursor in VM

Post by scottgus1 »

xerces8foo wrote:The builtin PrintScreen never captured the mouse pointer
Ha! You're right! It used to....
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Pixelated mouse cursor in VM

Post by mpack »

scottgus1 wrote:
xerces8foo wrote:The builtin PrintScreen never captured the mouse pointer
Ha! You're right! It used to....
Actually, it still does. See the below screenshot. I chose a Win98 VM because it doesn't have guest additions (see my first reply) and therefore the cursor is drawn by the guest OS. Also it's an example of a cursor obviously not designed for modern resolutions. Any VM that isn't using accelerated graphics will include the cursor in a "snip", since it means that both cursor and background graphics are composited together.

On the other hand, having accelerated graphics doesn't always mean that the cursor will be left out. It seems to depend on the host graphics driver (in my day job one of my tasks is working on a specialized 3D OpenGL CAD package: it includes a screenshot feature, and I know that on some PCs the cursor is included in the screenshot, on other PCs it is not).
Attachments
Image2.png
Image2.png (16.33 KiB) Viewed 2260 times
Post Reply