[ATrpms-users] Re: Quake3 Broken After nVidia Upgrade
Joe
handleyj at cloud9.net
Fri Jul 16 19:05:32 CEST 2004
So I tried uninstalling the ATrpms nvidia packages but I couldn't remove
the package:
[root at homer root]$ rpm -e nvidia-graphics-libs-1.0_5336-50.rhfc1.at
error: Failed dependencies:
libXvMCNVIDIA_dynamic.so.1 is needed by (installed)
mplayer-1.0-33_pre4.rhfc1.at
libXvMCNVIDIA_dynamic.so.1(XVMCNVIDIA) is needed by (installed)
mplayer-1.0-33_pre4.rhfc1.at
So then I tried installing from the nvidia installer for 6106:
[root at homer root]$./NVIDIA-Linux-x86-1.0-6106-pkg1.run
WARNING:
Your kernel was configured to include rivafb support as
a loadable kernel module.
The rivafb driver conflicts with the NVIDIA driver; the
NVIDIA kernel module will still be built and installed,
but be aware that the NVIDIA driver will not be able to
function properly if the rivafb module is loaded!
ERROR: Unable to load the kernel module 'nvidia.o'. This is most
likely because the kernel module was built using the wrong kernel source
files. Please make sure you have installed the kernel source files for
your kernel; on Red Hat Linux systems, for example, be sure you have the
'kernel-source' rpm installed. If you know the correct kernel source
files are installed, you may specify the kernel source path with the
'--kernel-source-path' commandline option.
[root at homer root]$ rpm -qa | grep kernel
kernel-smp-2.4.22-1.2188.nptl_48.rhfc1.at
kernel-module-lm_sensors-2.4.22-1.2188.nptl_48.rhfc1.atsmp-2.8.7-0_32.rhfc1.at
kernel-source-2.4.22-1.2188.nptl_48.rhfc1.at
kernel-module-lm_sensors-2.4.22-1.2197.nptl_51.rhfc1.atsmp-2.8.7-0_32.rhfc1.at
kernel-2.4.22-1.2188.nptl_48.rhfc1.at
kernel-smp-2.4.22-1.2197.nptl_51.rhfc1.at
kernel-module-lm_sensors-2.4.22-1.2188.nptl_48.rhfc1.at-2.8.7-0_32.rhfc1.at
kernel-utils-2.4-9.1.101.fedora
kernel-source-2.4.22-1.2197.nptl_51.rhfc1.at
[root at homer root]$ rpm -e kernel-smp-2.4.22-1.2188.nptl_48.rhfc1.at
kernel-module-lm_sensors-2.4.22-1.2188.nptl_48.rhfc1.atsmp-2.8.7-0_32.rhfc1.at
kernel-source-2.4.22-1.2188.nptl_48.rhfc1.at
kernel-2.4.22-1.2188.nptl_48.rhfc1.at
kernel-module-lm_sensors-2.4.22-1.2188.nptl_48.rhfc1.at-2.8.7-0_32.rhfc1.at
[root at homer root]$ rpm -qa | grep kernel
kernel-module-lm_sensors-2.4.22-1.2197.nptl_51.rhfc1.atsmp-2.8.7-0_32.rhfc1.at
kernel-smp-2.4.22-1.2197.nptl_51.rhfc1.at
kernel-utils-2.4-9.1.101.fedora
kernel-source-2.4.22-1.2197.nptl_51.rhfc1.at
But it actually looks like it compiled correctly (see the attached
"nvidia-installer.log" file). But it gives errors about the rivafb
module being loaded. But when I do lsmod, I don't see the rivafb module
in the list.
So I re-installed the two ATrpms drivers (5336 and 6106). But now only
the 5336 version works. Here is the output:
[root at homer root]$ nvidia-graphics-switch 6106
NVRM: pci_request_regions failed, aborting
NVRM: the NVIDIA probe routine was not called for 1 device(s)!!
NVRM: no devices probed, aborting!
NVRM: this often occurs when rivafb is loaded and claims the device's
resources.
NVRM: try removing the rivafb module (or reconfiguring your kernel to remove
NVRM: rivafb support) and then try loading the NVIDIA kernel module again.
[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]$ lsmod
Module Size Used by Tainted: P
nvidia-1_0-5336 2126376 4
loop 12216 0 (unused)
emu10k1 71880 3 (autoclean)
sound 75564 0 (autoclean) [emu10k1]
ac97_codec 17004 0 (autoclean) [emu10k1]
soundcore 7044 7 (autoclean) [emu10k1 sound]
agpgart 56740 3 (autoclean)
it87 11032 0 (unused)
i2c-proc 8052 0 [it87]
i2c-isa 1332 0 (unused)
i2c-core 21636 0 [it87 i2c-proc i2c-isa]
lp 8772 0 (autoclean)
parport 39104 0 (autoclean) [lp]
autofs4 15448 0 (autoclean) (unused)
8139too 17384 1
mii 4140 0 [8139too]
floppy 58300 0 (autoclean)
sg 36428 0 (autoclean)
sr_mod 17432 0 (autoclean)
microcode 4768 0 (autoclean)
ide-scsi 12240 0
ide-cd 34560 0
cdrom 35072 0 [sr_mod ide-cd]
ohci1394 29576 0 (unused)
ieee1394 208260 0 [ohci1394]
keybdev 2688 0 (unused)
mousedev 5464 1
hid 23972 0 (unused)
input 6240 0 [keybdev mousedev hid]
ehci-hcd 20776 0 (unused)
usb-uhci 27308 0 (unused)
usbcore 82592 1 [hid ehci-hcd usb-uhci]
ext3 93256 1
jbd 55952 1 [ext3]
raid1 15948 3
ata_piix 4808 6
libata 36036 0 [ata_piix]
sd_mod 13388 12
scsi_mod 116136 5 [sg sr_mod ide-scsi ata_piix libata
sd_mod]
help....
Sigh...sorry for all the trouble...but thanks for all the help!
-joe
Joe wrote:
> 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.
>>
>>
>
> _______________________________________________
> atrpms-users mailing list
> atrpms-users at atrpms.net
> http://lists.atrpms.net/mailman/listinfo/atrpms-users
>
-------------- next part --------------
nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Fri Jul 16 12:45:46 2004
option status:
license pre-accepted : false
update : false
force update : false
expert : false
uninstall : false
driver info : false
no precompiled interface: false
no ncurses color : false
query latest driver ver : false
OpenGL header files : false
no questions : false
silent : false
X install prefix : /usr/X11R6
OpenGL install prefix : /usr
Installer install prefix: /usr
kernel source path : (not specified)
kernel install path : (not specified)
proc mount point : /proc
ui : (not specified)
tmpdir : /tmp
ftp site : ftp://download.nvidia.com
Using: nvidia-installer ncurses user interface
-> License accepted.
-> No precompiled kernel interface was found to match your kernel; would you li
ke the installer to attempt to download a kernel interface for your kernel f
rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: No)
-> No precompiled kernel interface was found to match your kernel; this means
that the installer will need to compile a new kernel interface.
-> Kernel source path: '/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build'
-> Performing cc_version_check with CC="cc".
-> Performing rivafb check.
-> Performing rivafb module check.
WARNING:
Your kernel was configured to include rivafb support as
a loadable kernel module.
The rivafb driver conflicts with the NVIDIA driver; the
NVIDIA kernel module will still be built and installed,
but be aware that the NVIDIA driver will not be able to
function properly if the rivafb module is loaded!
-> Cleaning kernel module build directory.
executing: 'cd ./usr/src/nv; make clean'...
rm -f nv.o os-agp.o os-interface.o os-registry.o nv-linux.o nv_compiler.h *
.d NVdriver nvidia.o
-> Building kernel module:
executing: 'cd ./usr/src/nv; make module SYSSRC=/lib/modules/2.4.22-1.2197.n
ptl_51.rhfc1.atsmp/build'...
Your kernel was configured to include rivafb support as
a loadable kernel module.
The rivafb driver conflicts with the NVIDIA driver; the
NVIDIA kernel module will still be built and installed,
but be aware that the NVIDIA driver will not be able to
function properly if the rivafb module is loaded!
*** Failed rivafb module sanity check, but continuing! ***
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > nv_compiler.h
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
arentheses -Wpointer-arith -Wno-multichar -Werror -O -fno-common -MD -D__K
ERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_
NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_
PATCHLEVEL=6106 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -
DREMAP_PAGE_RANGE_4 -DNV_CHANGE_PAGE_ATTR_PRESENT -I. -I/lib/modules/2.4.22
-1.2197.nptl_51.rhfc1.atsmp/build/include -Wno-cast-qual -Wno-error nv.c
In file included from /lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/i
nclude/linux/vmalloc.h:8,
from nv-linux.h:62,
from nv.c:14:
/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/include/linux/highmem.h
: In function `bh_kmap':
/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/include/linux/highmem.h
:20: warning: pointer of type `void *' used in arithmetic
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
arentheses -Wpointer-arith -Wno-multichar -Werror -O -fno-common -MD -D__K
ERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_
NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_
PATCHLEVEL=6106 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -
DREMAP_PAGE_RANGE_4 -DNV_CHANGE_PAGE_ATTR_PRESENT -I. -I/lib/modules/2.4.22
-1.2197.nptl_51.rhfc1.atsmp/build/include -Wno-cast-qual -Wno-error os-agp.c
In file included from /lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/i
nclude/linux/vmalloc.h:8,
from nv-linux.h:62,
from os-agp.c:24:
/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/include/linux/highmem.h
: In function `bh_kmap':
/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/include/linux/highmem.h
:20: warning: pointer of type `void *' used in arithmetic
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
arentheses -Wpointer-arith -Wno-multichar -Werror -O -fno-common -MD -D__K
ERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_
NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_
PATCHLEVEL=6106 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -
DREMAP_PAGE_RANGE_4 -DNV_CHANGE_PAGE_ATTR_PRESENT -I. -I/lib/modules/2.4.22
-1.2197.nptl_51.rhfc1.atsmp/build/include -Wno-cast-qual -Wno-error os-inter
face.c
In file included from /lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/i
nclude/linux/vmalloc.h:8,
from nv-linux.h:62,
from os-interface.c:26:
/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/include/linux/highmem.h
: In function `bh_kmap':
/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/include/linux/highmem.h
:20: warning: pointer of type `void *' used in arithmetic
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
arentheses -Wpointer-arith -Wno-multichar -Werror -O -fno-common -MD -D__K
ERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_
NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_
PATCHLEVEL=6106 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -
DREMAP_PAGE_RANGE_4 -DNV_CHANGE_PAGE_ATTR_PRESENT -I. -I/lib/modules/2.4.22
-1.2197.nptl_51.rhfc1.atsmp/build/include -Wno-cast-qual -Wno-error os-regis
try.c
In file included from /lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/i
nclude/linux/vmalloc.h:8,
from nv-linux.h:62,
from os-registry.c:14:
/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/include/linux/highmem.h
: In function `bh_kmap':
/lib/modules/2.4.22-1.2197.nptl_51.rhfc1.atsmp/build/include/linux/highmem.h
:20: warning: pointer of type `void *' used in arithmetic
ld -r -o nv-linux.o nv.o os-agp.o os-interface.o os-registry.o
ld -r -o nvidia.o nv-linux.o nv-kernel.o
-> done.
-> Kernel module compilation complete.
ERROR: Unable to load the kERROR: Unable to load the kernel module 'nvidia.o'. This is most likely
because the kernel module was built using the wrong kernel source files.
Please make sure you have installed the kernel source files for your
kernel; on Red Hat Linux systems, for example, be sure you have the
'kernel-source' rpm installed. If you know the correct kernel source
files are installed, you may specify the kernel source path with the
'--kernel-source-path' commandline option.
-> Kernel module load error: Warning: loading ./usr/src/nv/nvidia.o will taint
the kernel: non-GPL license - NVIDIA
See http://www.tux.org/lkml/#export-tainted for information about tainted
modules
./usr/src/nv/nvidia.o: init_module: Device or resource busy
Hint: insmod errors can be caused by incorrect module parameters, including
invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg
ERROR: Installation has failed. Please see the file
'/var/log/nvidia-installer.log' for details. You may find suggestions
on fixing installation problems in the README available on the Linux
driver download page at www.nvidia.com.
More information about the atrpms-users
mailing list