[ATrpms-users] Re: Quake3 Broken After nVidia Upgrade

Joe handleyj at cloud9.net
Fri Jul 16 18:07:35 CEST 2004


Thanks Axel,

But this still doesn't work for me.  I deleted the libGL entries from 
the /usr/lib/tls directory.

And when I use nvidia-graphics-switch, the lines in ld.so.conf get 
replaced properly.  Like right now I'm using 5336 and my ld.so.conf file 
looks like this:

/usr/lib/nvidia-graphics-1.0-5336
/usr/X11R6/lib/nvidia-graphics-1.0-5336
/usr/X11R6/lib
/usr/lib/sane
/usr/lib/mysql
/usr/lib/qt-3.3/lib


Here is the output of glxgears:

[root at homer root]$ nvidia-graphics-switch 5336
0: nvidia: loading NVIDIA Linux x86 NVIDIA Kernel Module  1.0-5336  Wed 
Jan 14 18:29:26 PST 2004

[root at homer root]$ ldd `which glxgears` | grep libGL
        libGL.so.1 => /usr/lib/nvidia-graphics-1.0-5336/tls/libGL.so.1 
(0x00bc1000)
        libGLcore.so.1 => 
/usr/lib/nvidia-graphics-1.0-5336/tls/libGLcore.so.1 (0x001ef000)

[root at homer root]$ nvidia-graphics-switch 6106
NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module  1.0-6106  Wed Jun 
23 08:14:01 PDT 2004

[root at homer root]$ ldd `which glxgears` | grep libGL
        libGL.so.1 => /usr/X11R6/lib/tls/libGL.so.1 (0x00111000)



Note that the 5336 reports the correct output, but Quake3 still won't 
start, and reports the exact same error as before.  The Quake3 "wrapper" 
script doesn't mention anything about over-writing library paths:

#!/bin/sh
# Needed to make symlinks/shortcuts work.
# Wrap Quake III binary
cd "/usr/local/games/quake3"
./quake3.x86 $*
exit $?


Here is something interesting from the Quake3 README:

NOTE:  Linux Q3A will try to load "libGL.so" before using other drivers,
and it will ignore libraries from the quake3/ directory if executed
with root privilege. This can cause problems if you have a software or
third party OpenGL driver installed.

You can specifically target e.g. the included 3dfx based Mesa driver,
by using the following command line:

        quake3 +set r_gldriver libMesaVoodooGL.so.3.2


Do you think I could specifically target the nvidia driver with the 
above command?  If so, what would be the driver file to name?

Thanks for the help!

-joe



Axel Thimm wrote:

>On Thu, Jul 15, 2004 at 11:25:37AM -0400, Joe wrote:
>  
>
>>Last night I decided to start using the ATrpms for the nvidia drivers 
>>instead of the nvidia provided installer.  I had been running v5336 from 
>>nvidia.  Last night I executed these statements:
>>
>>apt-get install kernel-module-nvidia-graphics{5336,6106}-`uname -r`
>>apt-get install nvidia-graphics{5336,6106}
>>nvidia-graphics-switch 6106
>>
>>X came up with no problems.  But when I tried to launch Quake3 I got this 
>>error:
>>
>>...loading libGL.so: Initializing OpenGL display
>>...setting mode 4: 800 600
>>Using XFree86-VidModeExtension Version 2.2
>>XFree86-VidModeExtension Activated at 800x600
>>Using 4/4/4 Color bits, 16 depth, 0 stencil display.
>>Xlib:  extension "XFree86-DRI" missing on display ":0.0".
>>GL_RENDERER: Mesa GLX Indirect
>>
>>***********************************************************
>>You are using software Mesa (no hardware acceleration)!
>>Driver DLL used: libGL.so
>>If this is intentional, add
>>      "+set r_allowSoftwareGL 1"
>>to the command line when starting the game.
>>***********************************************************
>>...WARNING: could not set the given mode (4)
>>Initializing OpenGL display
>>...setting mode 3: 640 480
>>Using XFree86-VidModeExtension Version 2.2
>>XFree86-VidModeExtension Activated at 640x480
>>Received signal 11, exiting...
>>
>>
>>
>>I did a google and came up with this possible solution:
>>
>>http://lists.suse.com/archive/suse-linux-e/2002-Mar/3508.html
>>
>>
>>So I went looking for my GL libraries:
>>
>>[joe at homer joe]$ cd /usr/lib
>>[joe at homer lib]$ ll *GL*
>>lrwxrwxrwx  1 root root 32 Jul 15 00:24 libGL.so -> 
>>../../usr/X11R6/lib/libGL.so.1.2
>>lrwxrwxrwx  1 root root 32 Jul 15 00:24 libGL.so.1 -> 
>>../../usr/X11R6/lib/libGL.so.1.2
>>lrwxrwxrwx  1 root root 33 Mar 26 01:12 libGLU.so -> 
>>../../usr/X11R6/lib/libGLU.so.1.3
>>lrwxrwxrwx  1 root root 33 Mar 26 01:09 libGLU.so.1 -> 
>>../../usr/X11R6/lib/libGLU.so.1.3
>>
>>
>>So perhaps these GL libraries are the Mesa ones?
>>    
>>
>
>Yes, they are.
>
>  
>
>>And it looks like the nvidia GL libraries are:
>>
>>/usr/lib/nvidia-graphics-1.0-6106/libGL.so.1.0.6106
>>/usr/lib/nvidia-graphics-1.0-6106/libGL.so.1
>>/usr/lib/nvidia-graphics-1.0-6106/libGLcore.so.1.0.6106
>>/usr/lib/nvidia-graphics-1.0-6106/libGLcore.so.1
>>/usr/lib/nvidia-graphics-1.0-5336/libGL.so.1.0.5336
>>/usr/lib/nvidia-graphics-1.0-5336/libGL.so.1
>>/usr/lib/nvidia-graphics-1.0-5336/libGLcore.so.1.0.5336
>>/usr/lib/nvidia-graphics-1.0-5336/libGLcore.so.1
>>/usr/lib/nvidia-graphics-1.0-5336/tls/libGL.so.1.0.5336
>>/usr/lib/nvidia-graphics-1.0-5336/tls/libGL.so.1
>>/usr/lib/nvidia-graphics-1.0-5336/tls/libGLcore.so.1.0.5336
>>/usr/lib/nvidia-graphics-1.0-5336/tls/libGLcore.so.1
>>/usr/lib/tls/libGLcore.so.1.0.5336
>>/usr/lib/tls/libGL.so.1.0.5336
>>/usr/lib/tls/libGL.so.1
>>/usr/lib/tls/libGLcore.so.1
>>    
>>
>
>The last 4 should not exist! They are from an old manual (?)
>installation.
>
>  
>
>>But I'm not really sure which nvidia libraries to link to in the proper 
>>order to make Quake3 (and probably other GL applications) use the nvidia 
>>accelerated libraries.
>>
>>Lastly, I looked at the code for nvidia-graphics-swicth, and it doesn't 
>>have anything about GL in it.  I'm not very good at bash scripting (grep, 
>>sed, awk...ugh) so maybe I missed it.  But wouldn't this script have to 
>>swap out the GL links when it switches the driver files as well?  I'm sure 
>>the 5336 GL libraries are not compatible with the 6106 drivers, and vis 
>>versa.
>>    
>>
>
>The switching from the Mesa libs to the nvidia ones happens very
>elegantly via /etc/ld.so.conf. The first two lines should look like
>
>/usr/lib/nvidia-graphics-1.0-6106
>/usr/X11R6/lib/nvidia-graphics-1.0-6106
>
>and
>
>ldd `which glxgears` | grep libGL
>
>should return
>
>        libGL.so.1 => /usr/lib/nvidia-graphics-1.0-6106/libGL.so.1 (0x003d9000)
>        libGLcore.so.1 => /usr/lib/nvidia-graphics-1.0-6106/libGLcore.so.1 (0x04596000)
>
>Perhaps quake is modifying the library paths ignoring ld.so.conf?
>
>Try testing wioth glxgears to see if you get 3D-accelaration. Also try
>switching to 5336, perhaps it is a driver issue.
>  
>



More information about the atrpms-users mailing list