[vbox-dev] 3d pass-through and gnome-shell ?

Michael Thayer michael.thayer at oracle.com
Tue Jun 27 11:46:07 GMT 2017

Hello Hans,

27.06.2017 11:38, Hans de Goede wrote:
> Hi,
> On 27-06-17 11:34, Michael Thayer wrote:
>> Hello Hans,
>> 26.06.2017 18:12, Hans de Goede wrote:
>> [Discussion of 3D problems in Fedora VirtualBox guests and ld.so.conf
>> trickery used to put 3D libraries in place, but not completing in time
>> for the display manager.]
>>> Ok, I understand, this is easy to fix:
>>> 1) Split out the bits which do the ld.so.conf trickery from the rest of
>>> the guest service, so that we've a binary or script which will run, do
>>> the ld.so.conf stuff if necessary and then exit. The idea here is that
>>> the exit of the process indicates the ld.so.conf stuff is done.
>>> 2) Give this its own systemd .service file with:
>>> [Unit]
>>> Before=display-manager.service
>>> [Service]
>>> Type=oneshot
>>> RemainAfterExit=yes
>>> And then systemd will not start gdm until the ld.so.conf stuff has
>>> finished
>>> 3) profit :)
>> Or just add display-manager.service to the Before= line in
>> vboxadd.service.
> But that service keeps running right ? Is it of the forking type ?
> And does it do the ld.so setup before forking ? If not then things
> will still be racing, because the service must not just have started,
> it must also have done the ld.so setup.

The service is mislabled - it should actually be a oneshot, and it does
not fork at all.  It is simply this way because systemd service files
are generated at install time from our sysv init scripts and once they
were working well enough I no longer found free time to polish them further.

>> In fact, the other things in there are needed for the
>> 3D support detection too.  I tested this and it lets me start both a
>> Wayland session and an accelerated X11 one.
> Cool!
>>> Note we would still need to figure out a way to make gdm use X11 if
>>> Wayland will not work with the 3d pass-through, but that is easy too,
>>> simplest way is to edit:
>>> /etc/gdm/custom.conf
>>> And in the [daemon] Section set:
>>> WaylandEnable=false
>> I did think of this, though given the number of problems our 3D has on
>> Linux guests I am still wondering whether it is worth it just now.
> Would it not be better to try and fix those issues ? I believe that 3D
> pass through is an important feature to have.

It would probably be better, but as I mentioned previously, 3D for Linux
guests is currently more or less on hold due to lack of time to develop
it and other things with higher priority.  For when (I sometimes fear
that is an "if") I do find the time, we are also considering other
options which might be more result for less work.  One of these would be
bolting on Dave Airlie's virtio-gpu pass-through to our device.  He
designed the 3D protocol in a nice modular way (host side too) which is
not tightly tied to the Qemu device.  Another would be polishing up the
VMWare graphics emulation which was contributed a couple of years back.

>> For example Fedora 26 Alpha hangs loading the session (or at boot with
>> the
>> Before= fix) when 3D is enabled.
> Yes this is what I'm seeing (I'm using Fedora 26 beta) note it does not
> hang it just shows a black screen, you can do host-key + F3 (so send
> ctrl+alt+F3) to get a text console. Looking at ps aux output it seems
> that gnome-shell is not running, I've not yet dug any deeper.

By the way, regarding Additions for RHEL, one reason you might want to
do that is that VirtualBox is rather a nice tool for preparing images
for use elsewhere.  Though of course the Additions are most useful if
those images have a graphical desktop, which may often not be the case.

Michael Thayer | VirtualBox engineer
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | D-71384 Weinstadt

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister
der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher

More information about the vbox-dev mailing list