FS#65053 - [virtualbox-guest-dkms] Build module vboxguest to allow screen-resizing when using VMSVGA
Attached to Project:
Community Packages
Opened by TotallyNot Elite (TotallyNotElite) - Sunday, 05 January 2020, 00:37 GMT
Last edited by Christian Hesse (eworm) - Friday, 17 July 2020, 06:30 GMT
Opened by TotallyNot Elite (TotallyNotElite) - Sunday, 05 January 2020, 00:37 GMT
Last edited by Christian Hesse (eworm) - Friday, 17 July 2020, 06:30 GMT
|
Details
Description:
Currently, virtualbox-guest-dkms does not build the kernel module "vboxguest" when compiling for kernel 4.16 or above. This makes automatic screen-resizing (guest) (controlled by /usr/bin/VBoxClient --vmsvga) error out (see image ss1.png) when the display controlled "vmsvga" is used in Virtualbox (host). Letting vboxguest build on kernels >= 4.16 lets screen-resizing work correctly. (see image ss2.png, resizing works) Additional info: * package version(s) 6.1.0-1 * config and/or log files etc. See attached images * link to upstream bug report, if any none, Archlinux specific issue Steps to reproduce: 1. Create an Archlinux VM in Virtualbox with the display controller set to "vmsvga" (default) 2. Install Archlinux normally with Xorg and some DE (I used lxqt for testing) 3. Install virtualbox-guest-utils and virtualbox-guest-dkms 4. Launch VBoxClient with parameters "-d -v --vmsvga" Steps to fix: 1. Let vboxguest build on kernels 4.16 and above. Check file "virtualbox-guest-dkms.conf" |
This task depends upon
Closed by Christian Hesse (eworm)
Friday, 17 July 2020, 06:30 GMT
Reason for closing: Fixed
Additional comments about closing: virtualbox 6.1.12-1 and linux 5.7.9.arch1-1
Friday, 17 July 2020, 06:30 GMT
Reason for closing: Fixed
Additional comments about closing: virtualbox 6.1.12-1 and linux 5.7.9.arch1-1
Archlinux upgrade kernel so aggressively that the upstream virtualbox module may not compile against the latest kernel. With vboxguest and vboxvideo interated into linux kernel, and vboxsf integration is also under review, we may have at least all guest modules in the kernel source tree so they are guaranteed to work with all later kernels. So it's understandable that the maintainer prefer the in kernel modules.
But those in kernel modules are submitted by third party, virtualbox upstream won't maintain them. And virtualbox often change both the api between guest to host and guest kernel to guest user space. The in kernel modules don't follow upstream close enough, so new virtualbox may break them.
Currently there are at least three major bugs related to virtualbox guest in archlinux, #64806, #61307, and this one. Switching to use upstream kernel moudules can solve all 3 problems, for now at least. But we may soon face the dilemma as new kernel released and virtualbox kernel modules failed to compile.
After installing and rebooting, screen-resizing still did not work. I added a new systemd service to run VBoxClient with the correct parameters (as indicated in step 4 of the original report above) as root. This resolved the screen resizing problem for me. Any attempt to run "VBoxClient -d -v --vmsvga" as the user inside the X session was met with multiple "VERR_ACCESS_DENIED" errors, and non-functioning screen resizing.
$ ls -la /dev/vboxuser
crw-rw-rw- 1 root root 10, 58 Jan 19 2020 /dev/vboxuser
Ubuntu just run is along with VBoxService
> Archlinux upgrade kernel so aggressively that the upstream virtualbox module may not compile against the latest kernel. With vboxguest and vboxvideo interated into linux kernel, and vboxsf integration is also under review, we may have at least all guest modules in the kernel source tree so they are guaranteed to work with all later kernels. So it's understandable that the maintainer prefer the in kernel modules.
Ironically, the same is currently the case with kernel 5.5.
Commenting out one line (dkms.conf of vboxguest, remove kernel version constraint) in the package archive makes it work on kernel 5.4 and below, but it fails to build on kernel 5.5 as far as I could tell.
I'd also like to contribute some (packaging related) changes to the package "virtualbox-guest-utils" that would further remedy this problem, would I just submit a patch via email to Christian Hesse?
The Arch Wiki page https://wiki.archlinux.org/index.php/VirtualBox/Install_Arch_Linux_as_a_guest suggests:
When using the packaged guest additions (virtualbox-guest-utils) in Arch guests, guest display auto-resizing does not work with the VMSVGA graphics adapter.
Either choose a different graphics controller (i.e. VBoxSVGA or VBoxVGA) or install the guest additions from the ISO (while the guest is running, go to Devices > Insert Guest Additions CD Image..., mount the CD, and in the guest run VBoxLinuxAdditions.run with root permissions).
Neither of these worked (and wouldn't expect the latter to work with the LTS kernel, since I'm running the stock kernel on the VirtualBox host. Mostly commenting to get update notifications.