VirtualBox

Ticket #19049 (new defect)

Opened 2 years ago

Last modified 21 months ago

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

comment:1 Changed 2 years ago by amk

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

comment:2 Changed 2 years ago by gombara

  • Summary changed from Guest resolution changes when moving window between built in tetina and external displays to Guest resolution changes when moving window between built in Retina and external displays

comment:3 Changed 2 years ago by amk

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 Changed 22 months ago by socratis

comment:5 Changed 21 months ago by socratis

  • Keywords retina scaling added
  • Type changed from enhancement to defect
  • Component changed from GUI to guest additions

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.

www.oracle.com
ContactPrivacy policyTerms of Use