[oi-dev] Virtualbox additions

Alexander Pyhalov alp at sfedu.ru
Thu Dec 20 18:28:25 UTC 2018


Hello.
I'm asking for some kind of review and testing.

I've created several PRs:
https://github.com/OpenIndiana/oi-userland/pull/4637 - Adds virtualbox additions
https://github.com/OpenIndiana/oi-userland/pull/4660 - Allows using swrast with virtualbox-provided libGL
https://github.com/OpenIndiana/oi-userland/pull/4664 - Facilitates testing virtualbox GL libraries, as they are  64-bit only

Long story short.

VirtualBox guest additions (especially, swrast acceleration)  have always worked on OI by chance (or due to some series of bugs).
First of all, /lib/opengl/ogl_vendor_select tried to create links in wrong directory /system/volatile/opengl , so script efficiently didn't work.
If we fix this, we find out that Mesa swrast driver is not loaded due to missing link to libglapi, which was earlier taken from mesa libGL.so (now it's replaced with VirtualBox).

Later, if we fix Mesa and link dri drivers to libglapi, mesa libGL will not work , as our build system will consider libGL.so->libglapi.so link unnecessary, so we should avoid -Bdirect -z ignore.

Now, we have more-or-less working VirtualBox GL libraries for 64-bit apps, but we don't ship 32-bit guest additions, so we use Mesa libraries for 32-bit apps. 
GLXgears seems to be happy with 64-bit libGL from VirtualBox (to test it I had to add 64-bit glxgears version), but compiz is not, as virtualbox libraries don't set GLX visuals for depth 32 (don't know why)).
So, I've decided to avoid enabling virtualbox GL libraries by default. User can explicitly enable them by setting ogl-select service options/vendor property to "vbox". 

Happy testing.


Best regards, 
Alexander Pyhalov, 
system administrator of Southern Federal University IT department





More information about the oi-dev mailing list