Linux guest additions use 0.06 Hz refresh rate for custom display resolutions
|Reported by:||refi64||Owned by:|
|Component:||guest additions/x11/graphics||Version:||VirtualBox 6.1.34|
|Guest type:||Linux||Host type:||all|
This can be reliably be reproduced on any Linux guest:
- Install the guest additions onto a Linux guest (tested with Debian & Fedora guests).
- Make sure the package corresponding to the xf86-video-vmware driver is removed, so that the driver doesn't add the resolutions before VBoxClient itself can (see notes below for more details). (On Debian & derivatives, this can be done via
sudo dpkg -r --force-depends xserver-xorg-video-vmware.)
- Make sure you've rebooted after doing the above.
- Resize the VBox guest window.
- Run xrandr.
- Observe that any new resolutions added by the guest additions (ending in _vbox) all have a refresh rate of 0.06 Hz:
$ xrandr Screen 0: minimum 320 x 200, current 1900 x 1920, maximum 8192 x 8192 Virtual-1 connected primary 1900x1920+0+0 (normal left inverted right x axis y axis) 0mm x 0mm preferred 60.00 + 2560x1600 59.99 1920x1440 60.00 [...] 1024x768 60.00 800x600 60.32 640x480 59.94 1990x1920_vbox 0.06 1860x1920_vbox 0.06 1940x1920_vbox 0.06 1900x1920_vbox 0.06* [...]
This completely breaks the ability to use recent versions of Electron applications w/o xf86-video-vmware, which seem to respect this refresh rate when rendering.
- This doesn't occur if xf86-video-vmware is installed because then VBox doesn't add the new resolutions itself: since both VBox & VMware use SVGA, xf86-video-vmware picks up the resize first and adds the resolutions it wants, after which the
VBoxClient --smsvgasees a matching resolution is already present and does nothing.
- This has been reproduced on multiple different host systems.