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 , 5 years ago
comment:2 by , 5 years ago
Summary: | Guest resolution changes when moving window between built in tetina and external displays → Guest resolution changes when moving window between built in Retina and external displays |
---|
comment:3 by , 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:4 by , 4 years ago
Related discussion in the forums: https://forums.virtualbox.org/viewtopic.php?f=8&t=94610
comment:5 by , 4 years ago
Component: | GUI → guest additions |
---|---|
Keywords: | retina scaling added |
Type: | enhancement → defect |
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... ;)
Typo in the Summary, should be Retina display. Not sure how to update it.