Troubleshoot old Gefore 8800 GTS with proprietary driver

Everything about X, Gnome, KDE, ... and everything running on it

Troubleshoot old Gefore 8800 GTS with proprietary driver

Postby michapma » 2019-08-26 14:19


The desktop computer I got in 2007 was finally superseded at the end of 2017, but it still runs. It currently runs Stretch (amd64, the present discussion concerns stable) and has run both the proprietary and nouveau drivers during its life without problem. Now I am bringing it back into service for my son, and followed the Nvidia Graphics Drivers wiki article carefully, which has never done me wrong. Unfortunately, there is a problem; while gdm3 has no problem, and the X server runs with GNOME, upon loading the desktop it appears static. Only the mouse moves and the desktop (system monitors, any clicked surface) only updates something like every 15 seconds.

The card is a GeForce 8800 GTS. According to the wiki, this is supported by driver 340.102. I followed the instructions on the wiki for Debian 9 Stretch under Version 340.102 (legacy GPUs), as follows.

1. Add "contrib" and "non-free" components to /etc/apt/sources.list. (They were already there.)
2. apt update
3. apt install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//') nvidia-legacy-340xx-driver
4. For the configuration, I ran the nvidia-xconfig package, which created a basic /etc/X11/xorg.conf file (not in the xorg.conf.d subdirectory).

After restarting the system, I ran into the above described behavior. The card still works, as evidenced by other OSes running on the machine. Dropping to a tty, I can see that the following packages are installed (slightly impressed with myself that I still remember all the mount commands for USB sticks without looking them up):

Code: Select all
dpkg --list | grep nvidia

Code: Select all
ii  glx-alternative-nvidia                                      0.8.8~deb9u2                                amd64        allows the selection of NVIDIA as GLX provider
ii  libegl1-nvidia-legacy-340xx:amd64                           340.106-2~deb9u1                            amd64        NVIDIA binary EGL library (340xx legacy version)
ii  libgl1-nvidia-legacy-340xx-glx:amd64                        340.106-2~deb9u1                            amd64        NVIDIA binary OpenGL/GLX library (340xx legacy version)
ii  libnvidia-legacy-340xx-eglcore:amd64                        340.106-2~deb9u1                            amd64        NVIDIA binary EGL core libraries (340xx legacy version)
ii  libnvidia-legacy-340xx-glcore:amd64                         340.106-2~deb9u1                            amd64        NVIDIA binary OpenGL/GLX core libraries (340xx legacy version)
ii  libnvidia-legacy-340xx-ml1:amd64                            340.106-2~deb9u1                            amd64        NVIDIA Management Library (NVML) runtime library (340xx legacy version)
ii  nvidia-installer-cleanup                                    20151021+4                                  amd64        cleanup after driver installation with the nvidia-installer
ii  nvidia-kernel-common                                        20151021+4                                  amd64        NVIDIA binary kernel module support files
ii  nvidia-legacy-340xx-alternative                             340.106-2~deb9u1                            amd64        allows the selection of NVIDIA as GLX provider (340xx legacy version)
ii  nvidia-legacy-340xx-driver                                  340.106-2~deb9u1                            amd64        NVIDIA metapackage (340xx legacy version)
ii  nvidia-legacy-340xx-driver-bin                              340.106-2~deb9u1                            amd64        NVIDIA driver support binaries (340xx legacy version)
ii  nvidia-legacy-340xx-driver-libs:amd64                       340.106-2~deb9u1                            amd64        NVIDIA metapackage (OpenGL/GLX/EGL/GLES libraries) (340xx legacy version)
ii  nvidia-legacy-340xx-kernel-dkms                             340.106-2~deb9u1                            amd64        NVIDIA binary kernel module DKMS source (340xx legacy version)
ii  nvidia-legacy-340xx-kernel-support                          340.106-2~deb9u1                            amd64        NVIDIA binary kernel module support files (340xx legacy version)
ii  nvidia-legacy-340xx-vdpau-driver:amd64                      340.106-2~deb9u1                            amd64        Video Decode and Presentation API for Unix - NVIDIA driver (340xx legacy)
ii  nvidia-modprobe                                             390.87-1~deb9u1                             amd64        utility to load NVIDIA kernel modules and create device nodes
ii  nvidia-support                                              20151021+4                                  amd64        NVIDIA binary graphics driver support files
ii  nvidia-xconfig                                              390.87-1~deb9u1                             amd64        deprecated X configuration tool for non-free NVIDIA drivers
ii  xserver-xorg-video-nvidia-legacy-340xx                      340.106-2~deb9u1                            amd64        NVIDIA binary Xorg driver (340xx legacy version)

Next I checked the Xorg logs and found out that under Stretch they may be written to ~/.local/share/xorg/ instead of /var/log. Scanning the most recent Xorg log file for warnings and errors, the only significant lines are about failure to load the module "nv." Here is the entirety of the Xorg.1.log file, with user name and computer name altered:

I understand the nv module is the nouveau driver, which according to the wiki should have been blacklisted upon the first restart. None of the forum threads related to this error have been very helpful to me. If I run lsmod | grep nv from the tty to check what modules are running, it lists
Code: Select all
nv_tco                 16384  0
nvidia              10563584  56
drm                   360448  6  nvidia
sata_nv                28672  5
libata                249856  4 pada_amd,sata_sil24,ata_generic,sata_nv

A few further notes:
  • I am concerned that the NVIDIA logo that always briefly loaded on login, associated with installation of the proprietary nvidia driver, does not appear. The screen just flickers before the (static) GNOME desktop appears).
  • After logging into GNOME and dropping to tty, the top program does not show any significant use of CPU at all.
  • I find it somewhat strange that, while I can drop to the tty from GNOME once, if I try to switch to another tty or even exit from the tty login, I cannot get any user interface back and have to resort to the magic keys to restart.

Any ideas, recommendations or requests for further info?
User avatar
Posts: 543
Joined: 2008-05-04 20:49
Location: Prague

Re: Troubleshoot old Gefore 8800 GTS with proprietary driver

Postby stevepusser » 2019-08-26 17:21

It looks like the driver build failed. This is the most common problem here with the symptoms you've described.
You don't mention installing build-essential. Do you have it installed?

If so, let's try and build it again, and watch for errors in the output. With sudo or as root, run:
Code: Select all
dpkg-reconfigure nvidia-legacy-340xx-kernel-dkms
The MX Linux repositories: Backports galore! If we don't have something, just ask and we'll try--we like challenges. New packages: Kodi 18.5, Featherpad 0.12.0, PulseEffects 4.7.0, KeepassXC 2.5.2, SuperTuxKart 1.1, Waterfox 2019.12
User avatar
Posts: 11390
Joined: 2009-10-06 05:53

Re: Troubleshoot old Gefore 8800 GTS with proprietary driver

Postby michapma » 2019-08-27 08:58

Hi Steve,

That sounds like a perfectly good explanation. The package build-essential had already been installed, and is at version 12.3.

I used the dpkg-reconfigure to rebuild the module, and it ran (as before) with no errors and no special messages. I then ran update-grub for good measure, to make doubly sure I am booting into the right kernel, which is 4.9.0-9.

After letting the machine cool down (it had been running an upgrade of another OS), I booted into the system, and despite some some temporary flickering it behaved differently at first, allowing the mouse to interface (I could see hover effects). I launched the terminal program before the interface froze up. This time there was some graphic distortion, like random prism effects where graphics didn't get updated.

It occurred to me that I should rule out a corrupt download, so I did:
Code: Select all
apt-get clean
apt-get --reinstall install nvidia-legacy-340xx-kernel-dkms

This also pulled in a new download of linux-image-4.9.0-9-amd64. It again reported removing the nvidia-legacy-340xx.ko and nvidia-legacy-340xx-uvm.ko, deleting the 340.106 from the DKMS tree. Then it built the new modules and set up the kernel again. It also surprised me in setting up a number of other packages, such as VLC plugins, LibreOffice packages, Ghostscript and some libraries.

Unfortunately, it reverted right back to the originally observed misbehavior. The DE loads, but nothing reacts to the mouse.

Perhaps the aging hardware is somehow to blame. Some components appear to be showing signs of idiosyncrasies. When I boot from GRUB, sometimes it works and sometimes it hangs, with the last thing posted against the Grub background being:
Code: Select all
Loading Linux 4.9.0-9-amd64 ...
Loading initial ramdisk ...

It's another piece of evidence, but it would not explain why the graphics work in other OSes, or why Stretch does work with the nouveau drivers. So I would like to pursue other possibilities. What could I try next?

User avatar
Posts: 543
Joined: 2008-05-04 20:49
Location: Prague

Return to Desktop & Multimedia

Who is online

Users browsing this forum: No registered users and 8 guests