From: Alan H. <al...@fa...> - 2006-06-01 16:07:26
|
On Thu, 2006-06-01 at 08:53 -0700, Ian Romanick wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Jacek Poplawski wrote: > > On 5/30/06, Pedro Maia <ped...@ne...> wrote: > > > >> To run quake2 please use, LD_PRELOAD="path/to/libGL.so" quake2 > >> > >> In my case it works fine, with that trick , without it didn't work. > > > > But why it didn't work? It opens /usr/lib/libGL.so for sure, because > > without > > it even software accelerated OpenGL doesn't work in the game. > > Quake2 is the only application I tried which loads libGL with dlopen. > > I think the way that Quake2 dlopens libGL prevents some symbols in libGL > from being exposed to the driver. I seem to remember alanh mentioning > something about this, but I don't recall the details. My dlopen-fu is > lacking, so I'm not sure what the problem or the solution might be. Basically, what happens is this.... A game may try to dlopen libGL itself at runtime rather than linking at build time. So, the linux dllinker does not bother to search for symbols to resolve that exist in the DRI driver. I'm not sure exactly why it doesn't though. Doing this... export LD_PRELOAD=/usr/lib/libGL.so to force the libGL linkage fixes the issue. Alan. |