Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Troubleshoot old Gefore 8800 GTS with proprietary driver

Graphical Environments, Managers, Multimedia & Desktop questions.
Post Reply
Message
Author
User avatar
michapma
Posts: 544
Joined: 2008-05-04 20:49
Location: Prague

Troubleshoot old Gefore 8800 GTS with proprietary driver

#1 Post by michapma »

Hello,

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
produces

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:

https://paste.debian.net/1097471

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
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 72 times

Re: Troubleshoot old Gefore 8800 GTS with proprietary driver

#2 Post by stevepusser »

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
MX Linux packager and developer

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

Re: Troubleshoot old Gefore 8800 GTS with proprietary driver

#3 Post by michapma »

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?

Thanks

Post Reply