Nvidia Module Not Loading (Desktop Gone)

Well, I followed the steps in the Debian wiki here to install the drivers for the following video card:

$ lspci | grep VGA
03:00.0 VGA compatible controller: NVIDIA Corporation GF104 [GeForce GTX 460] (rev a1)

I confirmed the correct driver is installed. As you probably see I've tried this a few times and a few different ways so I may have some packages I shouldn't?:

$ nvidia-detect
Detected NVIDIA GPUs:
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF104 [GeForce GTX 460] [10de:0e22] (rev a1)
Your card is supported by the default drivers and legacy driver series 304.
It is recommended to install the
    nvidia-driver
    package.

# dpkg -l | awk '/nvidia/ { print $2 }'
glx-alternative-nvidia
libgl1-nvidia-glx:amd64
libgl1-nvidia-legacy-96xx-glx:amd64
libnvidia-ml1:amd64
nvidia-alternative
nvidia-alternative-legacy-96xx
nvidia-detect
nvidia-driver
nvidia-installer-cleanup
nvidia-kernel-common
nvidia-kernel-dkms
nvidia-kernel-legacy-96xx-dkms
nvidia-legacy-96xx-kernel-dkms
nvidia-support
nvidia-vdpau-driver:amd64
nvidia-xconfig
xserver-xorg-video-nvidia

Then I did the following to try and match the wiki:

# aptitude update

# uname -r
3.14-1.slh.1-aptosid-amd64

# aptitude -r install linux-headers-3.14-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-96xx-dkms

# update-initramfs -u

Rebooted and now have no desktop. The startx command mentioned to look in /var/log/Xorg.0.log and I noticed this:

# tail -n 50 /var/log/Xorg.0.log
[  4849.460] (II) Loading sub module "fb"
[  4849.460] (II) LoadModule: "fb"
[  4849.460] (II) Loading /usr/lib/xorg/modules/libfb.so
[  4849.461] (II) Module fb: vendor="X.Org Foundation"
[  4849.461]     compiled for 1.15.1, module version = 1.0.0
[  4849.461]     ABI class: X.Org ANSI C Emulation, version 0.4
[  4849.461] (WW) Unresolved symbol: fbGetGCPrivateKey
[  4849.461] (II) Loading sub module "wfb"
[  4849.461] (II) LoadModule: "wfb"
[  4849.461] (II) Loading /usr/lib/xorg/modules/libwfb.so
[  4849.462] (II) Module wfb: vendor="X.Org Foundation"
[  4849.462]     compiled for 1.15.1, module version = 1.0.0
[  4849.462]     ABI class: X.Org ANSI C Emulation, version 0.4
[  4849.462] (II) Loading sub module "ramdac"
[  4849.462] (II) LoadModule: "ramdac"
[  4849.462] (II) Module "ramdac" already built-in
[  4849.462] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[  4849.462] (==) NVIDIA(0): RGB weight 888
[  4849.462] (==) NVIDIA(0): Default visual is TrueColor
[  4849.462] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[  4849.462] (**) NVIDIA(0): Enabling 2D acceleration
[  4849.462] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the
[  4849.462] (EE) NVIDIA(0):     system's kernel log for additional error messages and
[  4849.462] (EE) NVIDIA(0):     consult the NVIDIA README for details.
[  4849.462] (EE) NVIDIA(0):  *** Aborting ***
[  4849.462] (EE) NVIDIA(0): Failing initialization of X screen 0
[  4849.462] (II) UnloadModule: "nvidia"
[  4849.462] (II) UnloadSubModule: "wfb"
[  4849.462] (II) UnloadSubModule: "fb"
[  4849.462] (EE) Screen(s) found, but none have a usable configuration.
[  4849.462] (EE) 
Fatal server error:
[  4849.462] (EE) no screens found(EE) 
[  4849.462] (EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org

Seems to not be loading the module correctly, but I don't know why. For good measure here is what I have in my /etc/X11/xorg.conf.d/20-nvidia.conf and /etc/X11/xorg.conf:

# cat /etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device"
    Identifier "My GPU"
        Driver "nvidia"
    EndSection

# cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 319.72  (pbuilder@cake)  Sat Nov  9 14:15:48 UTC 2013

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

I'm new to configuring video cards such as this. Any advice much appreciated.

EDIT: I don't know if anyone's still watching this, but I just noticed this in /var/log/messages:

Apr 25 16:19:28 leviathan kernel: [  126.571155] NVRM: API mismatch: the client has the version 331.67, but
Apr 25 16:19:28 leviathan kernel: [  126.571155] NVRM: this kernel module has the version 96.43.23.  Please
Apr 25 16:19:28 leviathan kernel: [  126.571155] NVRM: make sure that this kernel module and all NVIDIA driver
Apr 25 16:19:28 leviathan kernel: [  126.571155] NVRM: components have the same version.

Does this mean I need to recompile the driver? Or perhaps upgrade a package with the API?

Well, I finally got it. I had remove all the .ko driver from my previous attempts and then used the following script which did most of the work for me:

http://smxi.org/sg/sgfxi

It was made for Debian Sid, but claims to work with Arch and Fedora now too. Definitely simplified things for anyone interested.

1 Like