VirtualBox

Opened 5 years ago

Last modified 4 years ago

#19049 new defect

Guest resolution changes when moving window between built in Retina and external displays

Reported by: amk Owned by:
Component: guest additions Version: VirtualBox 6.0.12
Keywords: retina scaling Cc:
Guest type: all Host type: Mac OS X

Description

Virtualbox 6 on Mac OSX host with Retina display brings native resolution to guests disregarding user scaling setting in host display properties. This brings a benefit over previous versions of Virtualbox.

Unfortunately, the window dimensions remain linked to the system settings, resulting in all kinds of strange outcomes in common situations with multiple physical or virtual displays.

VM window can have a scaling factor, moving a VM window between Retina and non retina display always triggers display resolution change in the guest. Host OS keeps apparent window size equal, but Virtualbox does not apply different scaling. Things become tricky when the window is on two screens, although this is not very useful use case.

Similar situation occurs when the external display is disconnected and all windows move to the built in display by the system. Or when the host display is closed and all windows move to external screen. Common user expectation is that the virtual screen dimensions would change only if the VM window does not fit the physical screen.

Some improvement can be achieved by deactivation of "Auto-resize guest display" but still one needs to manually adjust scaling factor of every window after moving them around.

VM global properties allow to configure scaling factor per monitor. It can be configured only with the monitor is physically attached, so not really useful in a portable environment. With the connection to the reported issue, it is not applied to the window size while moved between host screens.

Another challenging situation is with guest using multiple screens, here the global scaling settings per monitor and guest specific scaling setting per screen require continuous updates when host monitors are connected and disconnected.

Bottom line: When window gets moved between monitors with different scaling factor, this should be transparent (undetectable) by the guest, even with GA installed. Either the window size should get scaled in the same ratio, or the window scaling should change automatically to compensate for the system change of physical window size.

The latter approach was used in versions prior to 6, it would be very useful to enable some kind of a compatibility mode rather than suggesting users to stay with Virtualbox version 5, as seen at https://forums.virtualbox.org/viewtopic.php?f=8&t=91223#p445545

Change History (5)

comment:1 by amk, 5 years ago

Typo in the Summary, should be Retina display. Not sure how to update it.

comment:2 by gombara, 5 years ago

Summary: Guest resolution changes when moving window between built in tetina and external displaysGuest resolution changes when moving window between built in Retina and external displays

comment:3 by amk, 5 years ago

It looks like this should be a bug rather than enhancement.

With disabled "Auto-resize Guest display", moving the window to Retina, the guest immediately became resized.

Similar when changing scaling, guest is resized regardless of this setting, and host window size is modified as well while scroll bars would be more appropriate.

comment:5 by Socratis, 4 years ago

Component: GUIguest additions
Keywords: retina scaling added
Type: enhancementdefect

Ticket #19186 was closed as a duplicate of this one. You don't have to open a new ticket just to change it from "Enhancement" to "Defect", you could have simply asked... ;)

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use