Boy, it sure is confusing navigating the variety of graphics drivers available for nVidia cards on linux. I’m using the atrpms repo, as suggested by Jared Wilson’s MythTV HOWTO, but it’s about Fedora Core 6 and I’m on Fedora 8 now, so it’s a bit different.
My output hardware is:
06:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 4000] (rev c1)
And the final list of RPM’s that actually works is:
rpm -qa | grep nvidia
nvidia-graphics96.43.01-kmdl-2.6.23.9-85.fc8-96.43.01-92.fc8
nvidia-graphics96.43.01-libs-96.43.01-92.fc8
nvidia-graphics96.43.01-96.43.01-92.fc8
nvidia-graphics-helpers-0.0.22-23.fc8
nvidia-graphics-devices-1.0-6.fc8
The real trick was getting the correct version of the kmdl package installed. It installs an i586 module by default, which on an i686 kernel says:
FATAL: Error inserting nvidia_96_43_01 (/lib/modules/2.6.23.9-85.fc8/updates/drivers/video/nvidia/nvidia-96_43_01.ko): Invalid module format
when you try to modprobe nvidia
. dmesg
will tell you about that:
nvidia: version magic '2.6.23.9-85.fc8 SMP mod_unload 586 4KSTACKS ' should be '2.6.23.9-85.fc8 SMP mod_unload 686 4KSTACKS '
see – it’s 586 instead of 686.
So how the heck do you get yum to install the right version? yum list
truncates the package names at a fixed column width and documentation is sparse. After much fiddling, I found this was acceptable:
yum install nvidia-graphics96.43.01-kmdl-2.6.23.9-85.fc8-1:96.43.01-92.fc8.i686
And now X will start. Current xorg.conf (needs some more work, but it starts):
Section "ServerLayout" Identifier "single head configuration" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" ModulePath "/usr/lib/xorg/modules/extensions/nvidia" ModulePath "/usr/lib/xorg/modules/extensions" ModulePath "/usr/lib/xorg/modules" EndSection Section "Module" Load "glx" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us+inet" EndSection Section "Monitor" Identifier "Monitor0" HorizSync 30.0 - 50.0 VertRefresh 60.0 - 60.0 EndSection Section "Device" Identifier "Videocard0" Driver "nvidia" Option "TVStandard" "NTSC-M" Option "TVOutFormat" "SVIDEO" BusID "PCI:6:0:0" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection EndSection