VirtualBox

Ticket #14732 (closed defect: fixed)

Opened 2 years ago

Last modified 19 months ago

vboxvideo fails on installs where X runs as non-root (GNOME 3.16+)

Reported by: DimStar Owned by:
Priority: major Component: other
Version: VirtualBox 5.0.6 Keywords:
Cc: Guest type: other
Host type: other

Description

GNOME 3.16+ integrated fully into systemd-logind and starts the X Server no longer as root.

X is being handed over file descriptors from systemd-logind, in order to gain access to the relevant devices.

vboxvideo driver does not understand this technology yet, thus rendering it impossible to start GNOME 3.16.x (and 3.18.x) using GDM on a Virtualbox.

Change History

comment:1 Changed 2 years ago by Larry998

Note, this problem affects the latest openSUSE Leap 42.1 and Tumbleweed releases. The temporary workaround is to revert to gdm 3.14.2, but a fix is needed.

comment:2 Changed 2 years ago by LocutusOfBorg

Posting, to keep myself subscribed to this bug.

Adding some bits: in Debian we created a legaxy xorg package  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801524

but a fix would be appreciated.

comment:3 Changed 2 years ago by michael

Larry - are you the Additions maintainer for OpenSUSE? Silly, I didn't realise that. Does that also apply to Enterprise SUSE?

Just a question for both - do you still support the VESA driver at all? I don't see that working with server FDs in the near future (or did I miss something?)

comment:4 Changed 2 years ago by Larry998

Michael - I became the maintainer for VirtualBox in openSUSE in mid August, and I'm still learning the job. I have no responsibility for any other package in openSUSE, and none for any Enterprise SUSE product.

You are correct. Other UMS drivers such as VESA and fbdev will also fail with server FDs.

LocutusOfBorg - We know about the Debian xorg package, but such a solution was rejected by our X group.

comment:5 Changed 2 years ago by michael

And you install VirtualBox Guest Additions by default, don't you, so the situation with the VESA driver in a VirtualBox guest never happens - is that right? Could you please clarify - do any current openSUSE releases fail to work as VirtualBox guests, or would this affect future releases only? If so, when? Just so that you have all information, I was able to get an Ubuntu guest working locally a couple of hours ago with a KMS driver, xf86-video-modesetting and some fiddling to get 3D working - nothing requiring root X.Org in other words - but this is by no means ready to release - at the very least it will need a lot of testing to find all the things which are broken. On the other hand, if you don't mind getting your hands dirty I would be more than happy to give you some pointers so that you can have it ready before we do officially.

comment:6 Changed 2 years ago by michael

Since I just gave Gianfranco instructions in IRC, I will add them here too. The current state: you need to build the Additions with "VBOX_WITH_GUEST_KMS_DRIVER=1" and "VBoxOGL_FAKEDRI:=" set. Then you need to put things in place, but without the X.Org driver, without the DRI driver, and VBoxOGL.so as the system libGL.so.1 - but only if 3D is enabled for the machine, otherwise everything will crash.

comment:7 Changed 2 years ago by Larry998

Michael - Yes, we do install the guest additions by default when installing into a VB VM. We can assume that vboxvideo will be available. Sorry that I misunderstood your previous question.

The problem does not occur in either 13.1 or 13.2, which are the current stable releases.

The next stable product will be Leap 42.1. It is currently at RC1, but the GM version will be available on Oct. 30. That version will then propagate to the mirrors, and the full release will be on Nov. 4. To avoid this problem, that release will use gdm 3.14.2 to avoid this problem, but the X group would like to upgrade to 3.16.x ASAP.

The rolling release named Tumbleweed does have this problem, and it will be a perfect place to do the testing.

I am more than happy to get dirty. I have put some effort into looking at the current code, but I did not get very far. From what I see, these instructions should work for the 5.0.8 source, which will make it easy for me t incorporate them into our package build process.

comment:8 Changed 2 years ago by michael

I think there is a lot of getting dirty left to do. I am working on this too, let's exchange insights here so you can get this up and running as fast as possible.

comment:9 Changed 2 years ago by Larry998

I have built VBoxOGL.so and replaced libGL.so.1 with it, but I'm having trouble understanding what is meant by "without the X.Org driver, without the DRI driver".

comment:10 Changed 2 years ago by michael

"Without the X.Org driver" means deleting the symbolic link /usr/lib/xorg/modules/drivers/vboxvideo.so (or whatever the exact path is). Then if you have built the kernel modules with the KMS driver as described then X.Org will use that and xf86-video-modesetting.

You will need at least the following change to the 3D code:

Index: src/VBox/Additions/common/crOpenGL/load.c
===================================================================
--- src/VBox/Additions/common/crOpenGL/load.c	(revision 103787)
+++ src/VBox/Additions/common/crOpenGL/load.c	(working copy)
@@ -1106,6 +1106,9 @@
  * Returns TRUE on success, FALSE otherwise.
  */
 bool
+#if defined(LINUX) || !defined(VBOXOGL_FAKEDRI)
+__attribute__ ((constructor))
+#endif 
 stubInit(void)
 {
     bool bRc = true;

I am still investigating, debugging and so on.

comment:11 Changed 2 years ago by michael

You might want to give this test build of the Additions a try, though it does not yet support X.Org Server 1.8RC (at least not with a recent kernel):

https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.0.9-104010.iso

comment:12 Changed 2 years ago by Larry998

I was not able to test your 5.0.9. I have, however, built and tested 5.0.10. Should the standard build have created a vboxvideo driver that would work with newer versions of gdm? The reason I ask is that it did not seem to help.

comment:13 Changed 2 years ago by michael

No, the changes are a bit too invasive to add into a release without more testing, so 5.0.10 does not contain them. The 5.0.9 test build should still be relevant, and I am working on and testing this myself, so I should soon have a new test build for you.

comment:14 Changed 2 years ago by Larry998

OK. The line "X11 Additions: added basic support for X.Org Server 1.18 (3D requires additional fixes)" fooled me.

comment:15 Changed 2 years ago by michael

Quick update here - I encountered some serious problems with getting our 3D support working in a way which would be compatible with non-root Xorg. That is now solved, and I hope to have something you can test in early January.

comment:16 Changed 22 months ago by michael

Early January is long past, but I hope that this (development) Additions build will work with non-root X.

https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.0.51-105459.iso

comment:17 Changed 20 months ago by michael

Larry, if this is still relevant for you please give the 5.0.17 Additions update on the download page a try.

comment:18 Changed 19 months ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

The new driver is part of VBox 5.0.18.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use