[vbox-dev] Dynamic linking of OpenGL drivers

Frank Mehnert frank.mehnert at oracle.com
Wed May 17 18:52:03 GMT 2017


Hi Benji,

On Sonntag, 14. Mai 2017 00:43:20 CEST Benji Wiebe wrote:
> I have been running the latest trunk of Mesa for a few days now, and 
> when I wanted to start up VirtualBox I got the following errors: (the 
> other info is from setting LIBGL_DEBUG=verbose)
> 
> libGL: OpenDriver: trying /usr/local/lib/dri/tls/r600_dri.so
> libGL: OpenDriver: trying /usr/local/lib/dri/r600_dri.so
> libGL: dlopen /usr/local/lib/dri/r600_dri.so failed ((null))
> libGL error: unable to load driver: r600_dri.so
> libGL error: driver pointer missing
> libGL error: failed to load driver: r600
> libGL: OpenDriver: trying /usr/local/lib/dri/tls/swrast_dri.so
> libGL: OpenDriver: trying /usr/local/lib/dri/swrast_dri.so
> libGL: dlopen /usr/local/lib/dri/swrast_dri.so failed ((null))
> libGL error: unable to load driver: swrast_dri.so
> libGL error: failed to load driver: swrast
> 
> I've poked around in Mesa's code responsible for loading the drivers, 
> and finally poked around in glibc with gdb while debugging VirtualBox.
> 
> Disclaimer: I'm somewhat clueless as to the niceties of virtualization 
> software development.
> 
> It seems that VirtualBox has some sort of wrapper for dlopen() called 
> supR3HardenedPosixMonitor_Dlopen which in turn calls a few other 
> VirtualBox functions before returning back to dlopen(). Anyways 
> somewhere in there is where loading the driver fails. According to 
> strace, open() never gets called on the driver file. Also, since 
> dlerror() returns NULL, I'm assuming that it isn't glibc's fault, since 
> glibc's dlopen() returns error messages via dlerror() if dlopen() 
> returns NULL, i.e. dlopen() and dlerror() should NEVER both return NULL. 
> And in this case both do.
> 
> So. What should I try next? Is this a VirtualBox bug? My custom Mesa is 
> working fine with everything else. Using strace/ltrace on the glxinfo 
> command shows that the driver gets loaded just fine.

please try the most recent VBox 5.1.x test builds:

  https://www.virtualbox.org/wiki/Testbuilds

Or if you compile VBox youself, please test the patch from

  https://www.virtualbox.org/ticket/16693

Kind regards,

Frank
-- 
Dr.-Ing. Frank Mehnert | Software Development Director, VirtualBox
ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany

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-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher



More information about the vbox-dev mailing list