View Single Post
Old 02-01-03, 06:12 AM   #1
ppieti
Registered User
 
Join Date: Feb 2003
Posts: 8
Default 4191 driver and Red Hat Phoebe HOWTO

Here's details on how to get the NVidia driver to work with RH Phoebe (8.0.93) and reasons why you need to do it like this.

First of all, Phoebe has some backports from the 2.5.x kernel series (threading and VM/scheduler).

This creates two issues, first being that the kernel module required by the driver doesn't compile since some of the interfaces have changed. This is solved by using the 2.5/2.4-rmap patch from http://www.minion.de/

The second problem is the new threading code NPTL, which uses something called Thread Local Storage (TLS). This code uses x86 segment registers to do its work. Unfortunately the NVidia library wants to use them too, which causes segmentation faults whenever some program wants to use it (X server, OpenGL app, whatever).

There are a few ways to disable it, one is booting with the "nosysinfo" boot flag, which disables kernel support for TLS, making glibc fall back to the old threading code.
This didn't work some time ago, should be fixed now but I'd have to reboot to try it.

Another way to disable it is by setting the environment variable LD_ASSUME_KERNEL=2.2.5 before starting X.

A third approach is mv /lib/tls /lib/notls

The real fix, of course, is a NVIDIA_GLX that doesn't use segment registers. While this is only an issue for a Red Hat beta now, the same issue will come up with all distros once the move to 2.6 kernels with glibc 2.3 is made.
ppieti is offline   Reply With Quote