Celestia always tries to use the libGL.so.1.2 in /usr/lib/opengl/xorg-x11/lib rather than the corresponding file in /usr/lib/opengl/ati/lib. Running "opengl-update ati" before or after emerging has no impact. Running "ldd /usr/bin/celestia | grep libGL.so" always results in "libGL.so.1 => /usr/lib/opengl/xorg-x11/lib/libGL.so.1 (0xb7dc7000)", and the path "/usr/lib/opengl/xorg-x11/lib" appears in the Celestia binary. If I copy /usr/lib/opengl/xorg-x11/lib/libGL.la to /usr/lib/opengl/ati/lib and edit the last line to read "libdir='/usr/lib/opengl/ati/lib'", Celestia does exactly the same but against the ATI libGL, although I'm not sure this is a good idea. I have another system with an nVidia card, and on that Celestia gets correctly linked against the libs in /usr/lib/opengl/nvidia/lib without any trouble. The nVidia driver has it's own libGL.la, while the ATI driver does not (is that significant?). I don't know exactly how all the various libraries are supposed to be set up, so I'm kind of lost at this point. One other thing - all the ati-drivers ebuilds _except_ 8.8.25-r1 create a symlink from the xorg-x11 libGL.la to the ati/lib dir. If I try to emerge celestia after emerging the 8.8.25-r1 ebuild, it fails with this message "libtool: link: cannot find the library `/usr/lib/libGL.la'" Reproducible: Always Steps to Reproduce: 1. emerge ati-drivers 2. opengl-update ati 3. emerge celestia 4. celestia Actual Results: Celestia starts up, but performs really badly, and looks like software rendering. Render path 1 is used. Running "LIBGL_DEBUG=1 celestia" displays the following message: "fglrx: libGL version undetermined - OpenGL module is using glapi fallback", which I guess is caused because the driver expects its own GL library. Expected Results: Celestia normally uses render path 3, and should load a series of ARB vertex programs on startup. This behaviour can be forced by running "LD_LIBRARY_PATH=/usr/lib/opengl/ati/lib celestia" or "LD_LIBRARY_PATH=/usr/lib", and results in much better performance.
Created attachment 49101 [details] emerge info
I'll try to address that issue, sadly enough I'm about to have an heavy exam session and I have less time to use for fixing that problem
No rush, prepending LD_LIBRARY_PATH to the command is an easy workaround for now.
usually opengl-update just seds the libGL.la to put the right path, either that is broken or there is something wrong somewhere else. I'll add back the symlink once at home if libdir got correctly replaced, if isn't I'll produce one
looks like I was wrong about that. In the mean time you could edit the path in the .la file A better fix will appear in the next opengl-update
Created attachment 49284 [details, diff] another kind of workaround That is another way to fix it, please test and tell me if works ok.
That seems to work :) I changed the ebuild, emerged it, ran opengl-update, emerged celestia, and it's now using the ATI GL library as it should.
Committed