Appendix C. Installed Components

The NVIDIA Accelerated Linux Driver Set consists of the following components (filenames in parenthesis are the full names of the components after installation; "x.y.z" denotes the current version. In these cases appropriate symlinks are created during installation):

Problems will arise if applications use the wrong version of a library. This can be the case if there are either old libGL libraries or stale symlinks left lying around. If you think there may be something awry in your installation, check that the following files are in place (these are all the files of the NVIDIA Accelerated Linux Driver Set, as well as their symlinks):

    /usr/X11R6/lib/modules/drivers/nvidia_drv.o

    /usr/X11R6/lib/modules/extensions/libglx.so.x.y.z
    /usr/X11R6/lib/modules/extensions/libglx.so -> libglx.so.x.y.z

    /usr/lib/libGL.so.x.y.z
    /usr/lib/libGL.so.x -> libGL.so.x.y.z
    /usr/lib/libGL.so -> libGL.so.x

    /usr/lib/libGLcore.so.x.y.z
    /usr/lib/libGLcore.so.x -> libGLcore.so.x.y.z

    /lib/modules/`uname -r`/video/nvidia.o, or
    /lib/modules/`uname -r`/kernel/drivers/video/nvidia.o

If there are other libraries whose "soname" conflicts with that of the NVIDIA libraries, ldconfig may create the wrong symlinks. It is recommended that you manually remove or rename conflicting libraries (be sure to rename clashing libraries to something that ldconfig will not look at -- we have found that prepending "XXX" to a library name generally does the trick), rerun 'ldconfig', and check that the correct symlinks were made. Some libraries that often create conflicts are "/usr/X11R6/lib/libGL.so*" and "/usr/X11R6/lib/libGLcore.so*".

If the libraries appear to be correct, then verify that the application is using the correct libraries. For example, to check that the application /usr/X11R6/bin/glxgears is using the NVIDIA libraries, run:

    % ldd /usr/X11R6/bin/glxgears
        linux-gate.so.1 =>  (0xffffe000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0xb7ed3000)
        libXp.so.6 => /usr/lib/libXp.so.6 (0xb7eca000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7eb9000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7dd4000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7d82000)
        libm.so.6 => /lib/libm.so.6 (0xb7d5f000)
        libc.so.6 => /lib/libc.so.6 (0xb7c47000)
        libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0xb6c2f000)
        libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 (0xb6c2d000)
        libdl.so.2 => /lib/libdl.so.2 (0xb6c29000)
        /lib/ld-linux.so.2 (0xb7fb2000)

Check the files being used for libGL and libGLcore -- if they are something other than the NVIDIA libraries, then you will need to either remove the libraries that are getting in the way, or adjust your ld search path using the LD_LIBRARY_PATH environment variable. You may wish to consult the man pages for ldconfig and ldd.