salam ...bebekahshid ke farsi nemitonam benevisam
man alan to linuxam v afarsi saza nadare
man ehtiaje shadidi be amozeshi daram e chejori xserver ro gheyre faal konam ...
man az site NVIDIA Driver linux ro download kardam ...ama baraye nasb mige x server bayad gheyre faaal bashe .... man nemidonam chikar konam khahehs mikonam yeki
behem bege chikar konam
hcihi balad nstam
inam az file readme ke hamrahesh bode...
[code]NVIDIA Accelerated Linux Driver Set README & Installation Guide
Last Updated: $Date: 2006/03/07 $
Most Recent Driver: 1.0-7184
The NVIDIA Accelerated Linux Driver Set brings both accelerated 2D
functionality and high performance OpenGL support to Linux x86 with the
use of NVIDIA graphics processing units (GPUs).
These drivers provide optimized hardware acceleration of OpenGL
applications via a direct-rendering X Server and support nearly all
NVIDIA graphics chips (please see APPENDIX A for a complete list of
supported chips). TwinView, TV-Out and flat panel displays are also
supported.
This README describes how to install, configure, and use the NVIDIA
Accelerated Linux Driver Set. This file is posted on NVIDIA's web site
(
www.nvidia.com), and is installed in /usr/share/doc/NVIDIA_GLX-1.0/.
__________________________________________________________________________
CONTENTS:
(sec-01) CHOOSING THE NVIDIA PACKAGES APPROPRIATE FOR YOUR SYSTEM
(sec-02) INSTALLING THE NVIDIA DRIVER
(sec-03) EDITING YOUR X CONFIG FILE
(sec-04) FREQUENTLY ASKED QUESTIONS
(sec-05) CONTACTING US
(sec-06) FURTHER RESOURCES
(app-a) APPENDIX A: SUPPORTED NVIDIA GRAPHICS CHIPS
(app-b) APPENDIX B: MINIMUM SOFTWARE REQUIREMENTS
(app-c) APPENDIX C: INSTALLED COMPONENTS
(app-d) APPENDIX D: X CONFIG OPTIONS
(app-e) APPENDIX E: OPENGL ENVIRONMENT VARIABLE SETTINGS
(app-f) APPENDIX F: CONFIGURING AGP
(app-g) APPENDIX G: ALI SPECIFIC ISSUES
(app-h) APPENDIX H: TNT SPECIFIC ISSUES
(app-i) APPENDIX I: CONFIGURING TWINVIEW
(app-j) APPENDIX J: CONFIGURING TV-OUT
(app-k) APPENDIX K: CONFIGURING A LAPTOP
(app-l) APPENDIX L: PROGRAMMING MODES
(app-m) APPENDIX M: FLIPPING AND UBB
(app-n) APPENDIX N: KNOWN ISSUES
(app-o) APPENDIX O: PROC INTERFACE
(app-p) APPENDIX P: XVMC SUPPORT
(app-q) APPENDIX Q: GLX SUPPORT
(app-r) APPENDIX R: CONFIGURING MULTIPLE X SCREENS ON ONE CARD
(app-s) APPENDIX S: POWER MANAGEMENT SUPPORT
(app-t) APPENDIX T: DISPLAY DEVICE NAMES
(app-u) APPENDIX U: THE COMPOSITE X EXTENSION
(app-v) APPENDIX V: NVIDIA-SETTINGS
(app-w) APPENDIX W: THE XRANDR X EXTENSION
Please note that, in order to keep the instructions more concise, most
caveats and frequently encountered problems are not detailed in the
installation instructions, but rather in the FREQUENTLY ASKED QUESTIONS
section. Therefore, it is recommended that you read this entire README
before proceeding to perform any of the steps described.
__________________________________________________________________________
(sec-01) CHOOSING THE NVIDIA PACKAGES APPROPRIATE FOR YOUR SYSTEM
__________________________________________________________________________
NVIDIA has a unified driver architecture model; this means that one driver
set can be used with all supported NVIDIA graphics chips. Please see
Appendix A for a list of the NVIDIA graphics chips supported by the
current drivers.
Driver release 1.0-4349 introduced a new packaging
and installation mechanism, which greatly simplifies the
installation process. There is only a single file to download:
NVIDIA-Linux-x86-1.0-7184-pkg1.run. This contains
everything previously contained by the old NVIDIA_kernel and NVIDIA_GLX
packages.
Driver release 1.0-7184 introduces a package suffix ("-pkg#") to
the .run file. This is used to distinguish between packages containing
the same driver, but with different precompiled kernel interfaces.
If there is any confusion, just download the .run file with the largest
pkg number.
__________________________________________________________________________
(sec-02) INSTALLING THE NVIDIA DRIVER
__________________________________________________________________________
BEFORE YOU BEGIN DRIVER INSTALLATION
Before beginning the driver installation, you should exit the X server.
In addition you should set your default run level so you will boot to a
vga console and not boot directly into X (please consult the documentation
that came with your Linux distribution if you are unsure how to do this;
this is normally done by modifying your /etc/inittab file). This will
make it easier to recover if there is a problem during the installation.
After installing the driver you must edit your X config file before
the newly installed driver will be used. See the section below entitled
EDITING YOUR X CONFIG FILE.
INTRODUCTION TO THE NEW NVIDIA DRIVER INSTALLER
After you have downloaded NVIDIA-Linux-x86-1.0-7184-pkg1.run,
begin installation by exiting X, cd'ing into the directory containing
the downloaded file, and run:
sh NVIDIA-Linux-x86-1.0-7184-pkg1.run
The .run file is a self-extracting archive. When the .run file is
executed, it extracts the contents of the archive, and runs the contained
`nvidia-installer` utility, which will walk you through installation of
the NVIDIA driver.
The .run file accepts many commandline options. Here are a few of the
more common options:
--info
Print embedded info about the .run file and exit.
--check
Check integrity of the archive and exit.
--extract-only
Extract the contents of ./NVIDIA-Linux-x86-1.0-7184.run,
but do not run 'nvidia-installer'.
--help
Print usage information for the common commandline options
and exit.
--advanced-options
Print usage information for the common commandline options as
well as the advanced options, and then exit.
Installation will also install the utility `nvidia-installer`, which may
be later used to uninstall drivers, auto-download updated drivers, etc.
KERNEL INTERFACES
The NVIDIA kernel module has a kernel interface layer which must be
compiled specifically for the configuration and version of the kernel
you are running. NVIDIA distributes the source code to this kernel
interface layer, as well as a precompiled version for many of the kernels
distributed by some popular distributions.
When the installer is run, it will determine if it has a precompiled
kernel interface for the kernel you are running. If it does not have
one, it will check if there is one on the NVIDIA ftp site (assuming you
have an internet connection), and download it.
If a precompiled kernel interface is found that matches your kernel,
then that will be linked[1] against the binary portion of the NVIDIA
kernel module. The result of this operation will be a kernel module
appropriate for your kernel.
If no matching precompiled kernel interface is found, then the installer
will compile the kernel interface for you. However, first it will
check that you have the correct kernel headers intalled on your system.
If the installer must compile the kernel interface, then you must install
the kernel-sources package for your kernel.
[1] NOTE: installation requires that you have a linker installed.
The linker, usually '/usr/bin/ld', is part of the binutils package;
please be sure you have this package installed prior to installing the
NVIDIA driver.
FEATURES OF NVIDIA-INSTALLER
o Uninstall: Driver installation will backup any conflicting files
and record what new files are installed on the system. You may run:
nvidia-installer --uninstall
to uninstall the current driver; this will remove any files that
were installed on the system, and restore any backed up files.
Installing new drivers implicitly uninstalls any previous drivers.
o Auto-Updating: If you run:
nvidia-installer --latest
the utility will connect to NVIDIA's FTP site, and report the latest
driver version and the url to the latest driver file.
If you run:
nvidia-installer --update
the utility will connect to NVIDIA's FTP site, download the most recent
driver file, and install it.
o Multiple user interfaces: The installer will use an ncurses-based
user interface if it can find the correct ncurses library, otherwise,
it will fall back to a simple commandline user interface. To disable
use of the ncurses user interface, use the option '--ui=none'.
o Updated Kernel Interfaces: The installer has the ability to
download updated precompiled kernel interfaces from the NVIDIA
FTP site (for kernels that were released after the NVIDIA driver
release).
NVIDIA-INSTALLER FAQ
Q: How do I extract the contents of the .run file without actually
installing the driver?
A: Run:
sh NVIDIA-Linux-x86-1.0-7184-pkg1.run --extract-only
This will create the directory NVIDIA-Linux-x86-1.0-7184-pkg1
which contains the uncompressed contents of the .run file.
Q: How can I see the source code to the kernel interface layer?
A: The source files to the kernel interface layer are in the usr/src/nv
directory of the extracted .run file. To get to these sources, run:
sh NVIDIA-Linux-x86-1.0-7184-pkg1.run --extract-only
cd NVIDIA-Linux-x86-1.0-7184-pkg1/usr/src/nv/
Q: I just upgraded my kernel, and now the NVIDIA kernel module will not
load. What is wrong?
A: The kernel interface layer of the NVIDIA kernel module must be
compiled specifically for the configuration and version of your kernel.
If you upgrade your kernel, then the simplest solution is to reinstall
the driver.
ADVANCED: You can install the NVIDIA kernel module for a non
running kernel (for example: in the situation where you just built
and installed a new kernel, but have not rebooted yet) with a command
line such as this:
sh NVIDIA-Linux-x86-1.0-7184-pkg1.run --kernel-name='KERNEL_NAME'
Where 'KERNEL_NAME' is what `uname -r` would report if the target
kernel were running.
Q: Why does NVIDIA not provide rpms anymore?
A: Not every Linux distribution uses rpm, and NVIDIA wanted a single
solution that would work across all Linux distributions. As indicated
in the NVIDIA Software License, Linux distributions are welcome to
repackage and redistribute the NVIDIA Linux driver in whatever package
format they wish.
Q: nvidia-installer does not work on my computer. How can I install the
driver contained within the .run file?
A: To install the NVIDIA driver contained within the .run file without
using nvidia-installer, you can use the included Makefile:
sh ./NVIDIA-Linux-x86-1.0-7184-pkg1.run --extract-only
cd NVIDIA-Linux-x86-1.0-7184-pkg1
make install
This method of installation is not recommended, and is only provided
as a last resort, should nvidia-installer not work correctly on
your system.
Q: Can the nvidia-installer use a proxy server?
A: Yes, because the ftp support in nvidia-installer is based on snarf,
it will honor the FTP_PROXY, SNARF_PROXY, and PROXY environment
variables.
Q: What is the significance of the "pkg#" suffix on the .run file?
A: The "pkg#" suffix is used to distinguish between .run files containing
the same driver, but different sets of precompiled kernel interfaces.
If a distribution releases a new kernel after an NVIDIA driver is
released, the current NVIDIA driver can be repackaged to include
a precompiled kernel interface for that newer kernel (in addition
to all the precompiled kernel interfaces that were included in the
previous package of the driver).
.run files with the same version number, but different pkg numbers,
only differ in what precompiled kernel interfaces are included.
Additionally, .run files with higher pkg numbers will contain
everything the .run files with lower .pkg numbers contain.
Q: I have already installed NVIDIA-Linux-x86-1.0-7184-pkg1.run,
but I see that NVIDIA-Linux-x86-1.0-7184-pkg2.run was just
posted on the NVIDIA Linux driver download page. Should I download
and install NVIDIA-Linux-x86-1.0-7184-pkg2.run?
A: This is not necessary. The driver contained within all
1.0-7184 .run files will be identical. There is no need
to reinstall.
Q: Can I add my own precompiled kernel interfaces to a .run file?
A: Yes, the "--add-this-kernel" .run file option will unpack the .run
file, build a precompiled kernel interface for the currently running
kernel, and repackage the .run file, appending "-custom" to the file
name. This may be useful, for example. if you administer multiple
Linux machines, each running the same kernel.
Q: Where can I find the source code for the nvidia-installer utility?
A: The nvidia-installer utility is released under the
GPL. The latest source code for it is available at:
ftp://download.nvidia.com/XFree86/nvidia-installer/NVIDIA-INSTALLER ACKNOWLEDGEMENTS
nvidia-installer was inspired by the loki_update tool:
(
http://www.lokigames.com/development/loki_update.php3.)
The ftp and http support in nvidia-installer is based upon snarf 7.0:
(
http://www.xach.com/snarf/).
The self-extracting archive (aka ".run file") is generated using
makeself.sh: (
http://www.megastep.org/makeself/)
__________________________________________________________________________
(sec-03) EDITING YOUR X CONFIG FILE
__________________________________________________________________________
In April of 2004, the X.org Foundation released an X server based on
the XFree86 X server. Many Linux distributions will use the X.org
X server in the future, rather than XFree86. The differences between
the two X servers should have no impact on NVIDIA Linux users with
two exceptions:
1) The X.org configuration file name, though it uses the same syntax
as XFree86's XF86Config file, is called /etc/X11/xorg.conf;
this README refers generically to these configuration files as
"the X config file".
2) The X.org log file, though its output is nearly identical
to the XFree86.0.log file, is called /var/log/Xorg.0.log; this
README refers generically to these files as "the X log file".
When XFree86 4.0 was released, it used a slightly different XF86Config
file syntax than the 3.x series did, and so to allow both 3.x and 4.x
versions of XFree86 to co-exist on the same system, it was decided that
XFree86 4.x was to use the configuration file "/etc/X11/XF86Config-4"
if it existed, and only if that file did not exist would the file
"/etc/X11/XF86Config" be used (actually, that is an over-simplification
of the search criteria; please see the XF86Config man page for a
complete description of the search path). Please make sure you know
what configuration file your X server is using. If you are in doubt,
look for a line beginning with "(==) Using config file:" in your X log
file ("/var/log/XFree86.0.log" or "/var/log/Xorg.0.log").
If you do not have a working X config file, there are several ways
to start: there is a sample config file that comes with XFree86,
and there is a sample config file included with the NVIDIA driver
package (it gets installed in /usr/share/doc/NVIDIA_GLX-1.0/).
You could also use a program like 'xf86config'; some distributions
provide their own tool for generating an X config file. For more
on X config file syntax, please refer to the man page (`man XF86Config`,
or `man xorg.conf`).
If you already have an X config file working with a different driver
(such as the 'nv' or 'vesa' driver), then all you need to do is find
the relevant Device section and replace the line:
Driver "nv"
(or Driver "vesa")
with
Driver "nvidia"
In the Module section, make sure you have:
Load "glx"
You should also remove the following lines:
Load "dri"
Load "GLcore"
if they exist. There are also numerous options that can be added to the
X config file to fine-tune the NVIDIA X driver. Please see Appendix D
for a complete list of these options.
Once you have configured your X config file, you are ready to restart X
and begin using the accelerated OpenGL libraries. After you restart X,
you should be able to run any OpenGL application and it will automatically
use the new NVIDIA libraries. If you encounter any problems, please
see the FREQUENTLY ASKED QUESTIONS section below.
__________________________________________________________________________
(sec-04) FREQUENTLY ASKED QUESTIONS
__________________________________________________________________________
Q: Where should I start when diagnosing display problems?
A: One of the most useful tools for diagnosing problems is the X
log file in /var/log (the file is named: "/var/log/XFree86.<#>.log" or
"/var/log/Xorg.<#>.log" where "<#>" is the server number -- usually 0).
Lines that begin with "(II)" are information, "(WW)" are warnings, and
"(EE)" are errors. You should make sure that the correct config file
(ie the config file you are editing) is being used; look for the line
that begins with: "(==) Using config file:". Also check that the
NVIDIA driver is being used, rather than the 'nv' or 'vesa' driver;
you can look for: "(II) LoadModule: "nvidia"", and lines from the
driver should begin with: "(II) NVIDIA(0)".
Q: How can I increase the amount of data printed in the X log file?
A: By default, the NVIDIA X driver prints relatively few messages to
stderr and the X log file. If you need to troubleshoot, then it may
be helpful to enable more verbose output by using the X command line
options "-verbose" and "-logverbose" which can be used to set the
verbosity level for the stderr and log file messages, respectively.
The NVIDIA X driver will output more messages when the verbosity
level is at or above 5 (X defaults to verbosity level 1 for stderr
and level 3 for the log file). So, to enable verbose messaging from
the NVIDIA X driver to both the log file and stderr, you could start
X by doing the following: 'startx -- -verbose 5 -logverbose 5'.
Q: My X server fails to start, and my X log file contains the error:
"(EE) NVIDIA(0): Failed to load the NVIDIA kernel module!"
A: The X driver will abort with this error message if the NVIDIA kernel
module fails to load.
If you receive this error, you should check the output of `dmesg`
for kernel error messages and/or attempt to load the kernel module
explicitly with `modprobe nvidia`. If unresolved symbols are
reported, then the kernel module was most likely built against a
Linux kernel source tree (or kernel headers) for a kernel revision
or configuration that doesn't match the running kernel.
You can specify the location of the kernel source tree (or headers)
when you install the NVIDIA driver using the --kernel-source-path
command line option (see `sh NVIDIA-Linux-x86-1.0-7184-pkg1.run
--advanced-options` for details).
Old versions of the module-init-tools include `modprobe` binaries
that report an error when instructed to load a module that's already
loaded into the kernel. Please upgrade your module-init-tools if
you receive an error message to this effect.
The X server reads "/proc/sys/kernel/modprobe" to determine the
path to the `modprobe` utility and falls back to `/sbin/modprobe`
if the file doesn't exist. Please make sure that this path is
valid and refers to a `modprobe` binary compatible with the Linux
kernel running on your system.
The "LoadKernelModule" X driver option can be used to change the
default behavior and disable kernel module auto-loading.
Q: How and when are the the NVIDIA device files created on Linux?
A: Depending on the target system's configuration, the NVIDIA device
files used to be created in one of three different ways:
- at installation time, using mknod
- at module load time, via devfs (Linux device file system)
- at module load time, via hotplug/udev
With currrent NVIDIA driver releases, device files are created or
modified by the X driver when the X server is started.
By default, the NVIDIA driver will attempt to create device files
with the following attributes:
UID: 0 - 'root'
GID: 0 - 'root'
Mode: 0666 - 'rw-rw-rw-'
Existing device files are changed if their attributes don't match
these defaults. If you wish for the NVIDIA driver to create the
device files with different attributes, you can specify them with
the "NVreg_DeviceFileUID" (user), "NVreg_DeviceFileGID" (group)
and "NVreg_DeviceFileMode" NVIDIA Linux kernel module parameters.
For example, the NVIDIA driver can be instructed to create device
files with UID=0 (root), GID=44 (video) and Mode=0660 by passing
the following module parameters to the NVIDIA Linux kernel module:
NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=44 NVreg_DeviceFileMode=0660
The "NVreg_ModifyDeviceFiles" NVIDIA kernel module parameter will
disable dynamic device file management, if set to 0.
Q: My X server fails to start, and my X log file contains the error:
"(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!"
A: Nothing will work if the NVIDIA kernel module does not function
properly. If you see anything in the X log file like "(EE)
NVIDIA(0): Failed to initialize the NVIDIA kernel module!" then
there is most likely a problem with the NVIDIA kernel module.
The NVIDIA kernel module may print error messages indicating
a problem -- to view these messages please check the output of
`dmesg`, /var/log/messages, or wherever syslog is directed to
place kernel messages. These messages are prepended with "NVRM".
Q: My X server fails to start, and my X log file contains the error:
"(EE) NVIDIA(0): The NVIDIA kernel module does not appear to be receiving
(EE) NVIDIA(0): interrupts generated by the NVIDIA graphics device.
(EE) NVIDIA(0): Please see the FREQUENTLY ASKED QUESTIONS section in the
(EE) NVIDIA(0): README for additional information."
A: This can be caused by a variety of problems, such as PCI IRQ routing
errors, I/O APIC problems or conflicts with other devices sharing
the IRQ (or their drivers).
If possible, configure your system such that your graphics card does
not share its IRQ with other devices (try moving the graphics card
to another slot (if applicable), unload/disable the driver(s) for the
device(s) sharing the card's IRQ, or remove/disable the device(s)).
Depending on the nature of the problem, one of (or a combination of)
these kernel parameters might also help:
pci=noacpi (don't use ACPI for PCI IRQ routing)
pci=biosirq (use PCI BIOS calls to retrieve the IRQ routing table)
noapic (don't use I/O APICs present in the system)
acpi=off (disable ACPI)
Q: X starts for me, but OpenGL applications terminate immediately.
A: If X starts, but OpenGL causes problems, you most likely have a
problem with other libraries in the way, or there are stale symlinks.
See Appendix C for details. Sometimes, all it takes is to rerun
'ldconfig'.
You should also check that the correct extensions are present;
'xdpyinfo' should show the "GLX" and "NV-GLX" extensions present.
If these two extensions are not present, then there is most likely
a problem with the glx module getting loaded or it is unable to
implicitly load GLcore. Check your X config file and make sure that
you are loading glx (see "Editing Your X config File" above). If your X
config file is correct, then check the X log file for warnings/errors
pertaining to GLX. Also check that all of the necessary symlinks
are in place (refer to Appendix C).
Q: Installing the NVIDIA kernel module gives an error message like:
#error Modules should never use kernel-headers system headers
#error but headers from an appropriate kernel-source
A: You need to install the source for the Linux kernel. In most
situations you can fix this problem by installing the kernel-source
package for your distribution
Q: OpenGL applications crash and print out the following warning:
WARNING: Your system is running with a buggy dynamic loader.
This may cause crashes in certain applications. If you
experience crashes you can try setting the environment
variable __GL_SINGLE_THREADED to 1. For more information
please consult the FREQUENTLY ASKED QUESTIONS section in
the file /usr/share/doc/NVIDIA_GLX-1.0/README.
A: The dynamic loader on your system has a bug which will cause
applications linked with pthreads, and that dlopen() libGL multiple
times, to crash. This bug is present in older versions of the dynamic
loader. Distributions that shipped with this loader include but
are not limited to Red Hat Linux 6.2 and Mandrake Linux 7.1. Version
2.2 and later of the dynamic loader are known to work properly. If
the crashing application is single threaded then setting the environment
variable __GL_SINGLE_THREADED to 1 will prevent the crash.
In the bash shell you would enter:
export __GL_SINGLE_THREADED=1
and in csh and derivatives use:
setenv __GL_SINGLE_THREADED 1
Previous releases of the NVIDIA Accelerated Linux Driver Set attempted
to work around this problem, however the workaround caused problems with
other applications and was removed after version 1.0-1541.
Q: When I run Quake3, it crashes when changing video modes; what is wrong?
A: You are probably experiencing the problem described above. Please
check the text output for the "WARNING" message describe in the
previous hint. Setting __GL_SINGLE_THREADED to 1 as described
above, before running Quake3 will fix the problem.
Q: My system runs, but seems unstable. What is wrong?
A: Your stability problems may be AGP-related. See Appendix F for
details.
Q: I cannot build the NVIDIA kernel module, or I can build the NVIDIA
kernel module, but modprobe/insmod fails to load the module into
my kernel. What is wrong?
A: These problems are generally caused by the build using the wrong kernel
header files (ie header files for a different kernel version than
the one you are running). The convention used to be that kernel
header files should be stored in "/usr/include/linux/", but that
is deprecated in favor of "/lib/modules/`uname -r`/build/include".
The nvidia-installer should be able to determine the location on your
system; however, if you encounter a problem you can force the build
to use certain header files by using the --kernel-include-dir option.
Obviously, for this to work, you need the appropriate kernel header
files installed on your system. Consult the documentation that came
with your distribution; some distributions do not install the kernel
header files by default, or they install headers that do not coincide
properly with the kernel you are running.
Q: Why do OpenGL applications run so slow?
A: The application is probably using a different library still on your
system, rather than the NVIDIA supplied OpenGL library. Please see
APPENDIX C for details.
Q: There are problems running Quake2.
A: Quake2 requires some minor setup to get it going. First, in the Quake2
directory, the install creates a symlink called libGL.so that points
at libMesaGL.so. This symlink should be removed or renamed. Then,
to run Quake2 in OpenGL mode, you would type: 'quake2 +set vid_ref glx
+set gl_driver libGL.so'. Quake2 does not seem to support any kind of
full-screen mode, but you can run your X server at whatever resolution
Quake2 runs at to emulate full-screen mode.
Q: There are problems running Heretic II.
A: Heretic II also installs, by default, a symlink called libGL.so in
the application directory. You can remove or rename this symlink, since
the system will then find the default libGL.so (which our
drivers install in /usr/lib). From within Heretic II you
can then set your render mode to OpenGL in the video menu.
There is also a patch available to Heretic II from lokigames at:
http://www.lokigames.com/products/heretic2/updates.php3Q: Where can I get gl.h or glx.h so I can compile OpenGL programs?
A: Most systems come with these header files preinstalled. However,
NVIDIA provides its own gl.h and glx.h files which get installed
in /usr/share/doc/NVIDIA_GLX-1.0/include/GL/. To use these
files, either manually copy them into /usr/include/GL/,
or instruct the installer to install these files in
/usr/include/GL/ by passing the '--opengl-headers' option to the
NVIDIA-Linux-x86-1.0-7184-pkg1.run file during installation.
Q: Can I receive email notification of new NVIDIA Accelerated Linux
Driver Set releases?
A: Yes. Fill out the form at:
http://www.nvidia.com/view.asp?FO=driver_updateQ: My system hangs when vt-switching if I have rivafb enabled.
A: Using both rivafb and the NVIDIA kernel module at the same time is
currently broken. In general, using two independent software drivers
to drive the same piece of hardware is a bad idea.
Q: Compiling the NVIDIA kernel module gives this error:
You appear to be compiling the NVIDIA kernel module with
a compiler different from the one that was used to compile
the running kernel. This may be perfectly fine, but there
are cases where this can lead to unexpected behaviour and
system crashes.
If you know what you are doing and want to override this
check, you can do so by setting IGNORE_CC_MISMATCH.
In any other case, set the CC environment variable to the
name of the compiler that was used to compile the kernel.
A: You should compile the NVIDIA kernel module with the same compiler
version that was used to compile your kernel. Some Linux kernel data
structures are dependent on the version of gcc used to compile it;
for example, in include/linux/spinlock.h:
...
* Most gcc versions have a nasty bug with empty initializers.
*/
#if (__GNUC__ > 2)
typedef struct { } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { }
#else
typedef struct { int gcc_is_buggy; } rwlock_t;
#define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
#endif
If the kernel is compiled with gcc 2.x, but gcc 3.x is used when the
kernel interface is compiled (or vice versa), the size of rwlock_t
will vary, and things like ioremap will fail.
To check what version of gcc was used to compile your kernel, you
can examine the output of:
cat /proc/version
To check what version of gcc is currently in your $PATH, you can
examine the output of:
gcc -v
Q: X fails with error "Failed to allocate LUT context DMA"
A: This is one of the possible consequences of compiling the NVIDIA
kernel interface with a different gcc version than used to compile
the Linux kernel (see above).
Q: What is NVIDIA's policy towards development series Linux kernels?
A: NVIDIA does not officially support development series kernels.
However, all the kernel module source code that interfaces with the
Linux kernel is available in the usr/src/nv/ directory of the .run file.
NVIDIA encourages members of the Linux community to develop patches
to these source files to support development series kernels. A google
search will most likely yield several community supported patches.
Q: I recently updated various libraries on my system using my Linux
distributor's update utility, and the NVIDIA graphics driver no
longer works. What is wrong?
A: Conflicting libraries may have been installed by your
distribution's update utility; please see APPENDIX C: INSTALLED
COMPONENTS for details on how to diagnose this.
Q: `rpm --rebuild` gives an error "unknown option".
A: Recent versions of rpm no longer support the "--rebuild" option;
if you have such a version of rpm, you should instead use the command
`rpmbuild --rebuild`. The `rpmbuild` executable is provided by the
rpm-build package.
Q: I am using either nForce of nForce2 internal graphics, and I see
warnings like this in my X log file:
Not using mode "1600x1200" (exceeds valid memory bandwidth usage)
A: Integrated graphics have stricter memory bandwidth limitations
that restrict the resolution and refresh rate of the modes you
request. To work around this, you can reduce the maximum refresh
rate by lowering the upper value of the "VertRefresh" range in the
Monitor section of your X config file. Though not recommended,
you can disable the memory bandwidth test with the "NoBandWidthTest"
X config file option.
Q: I have rebuilt the NVIDIA kernel module, but when I try to insert
it, I get a message telling me I have unresolved symbols.
A. Unresolved symbols are most often caused by a mismatch between your
kernel sources and your running kernel. They must match for the
NVIDIA kernel module to build correctly. Please make sure your kernel
sources are installed and configured to match your running kernel.
Q: How do I tell if I have my kernel sources installed?
A: If you are running on a distro that uses RPM (Red Hat, Mandrake, SuSE,
etc), then you can use RPM to tell you. At a shell prompt, type:
`rpm -qa | grep kernel`
and look at the output. You should see a package that corresponds
to your kernel (often named something like kernel-2.4.18-3)
and a kernel source package with the same version (often named
something like kernel-source-2.4.18-3). If none of the lines seem
to correspond to a source package, then you will probably need to
install it. If the versions listed mismatch (ex: kernel-2.4.18-10 vs.
kernel-source-2.4.18-3), then you will need to update the kernel-source
package to match the installed kernel. If you have multiple kernels
installed, you need to install the kernel-source package that
corresponds to your *running* kernel (or make sure your installed
source package matches the running kernel). You can do this by
looking at the output of 'uname -r' and matching versions.
Q: Why am I unable to load the NVIDIA kernel module that I compiled
for the Red Hat Linux 7.3 2.4.18-3bigmem kernel?
A: The kernel header files Red Hat Linux distributes for Red Hat Linux 7.3
2.4.18-3bigmem kernel are misconfigured. NVIDIA's precompiled kernel
module for this kernel can be loaded, but if you wish to compile the
NVIDIA kernel interface files yourself for this kernel, then you will
need to perform the following:
cd /lib/modules/`uname -r`/build/
make mrproper
cp configs/kernel-2.4.18-i686-bigmem.config .config
make oldconfig dep
Note: Red Hat Linux ships kernel header files that are simultaneously
configured for ALL of their kernels for a particular distribution
version. A header file generated at boot time sets up a few parameters
that select the correct configuration. Rebuilding the kernel headers
with the above commands will create header files suitable for the
Red Hat Linux 7.3 2.4.18-3bigmem kernel configuration only, thus trashing
the header files for the other configurations.
Q: X takes a long time to start (possibly several minutes). What can
I do?
A: Most of the startx delay problems we have found are caused by incorrect
data in video BIOSes about what display devices are possibly connected
or what i2c port should be used for detection. You can work around
these problems with the X config option "IgnoreDisplayDevices"
(please see the description in (app-d) APPENDIX D: X CONFIG OPTIONS).
Q: Why does X use so much memory?
A: When measuring any application's memory usage, you must be
careful to distinguish between physical system RAM used and virtual
mappings of shared resources. For example, most shared libraries exist
only once in physical memory but are mapped into multiple processes.
This memory should only be counted once when computing total memory
usage. In the same way, the video memory on a graphics card or
register memory on any device can be mapped into multiple processes.
These mappings do not consume normal system RAM.
This has been a frequently discussed topic on XFree86 mailing
lists; see, for example:
http://marc.theaimsgroup.com/?l=xfree-xpert&m=96835767116567&w=2 The `pmap` utility described in the above thread and available here:
http://web.hexapodia.org/~adi/pmap.c is a useful tool in distinguishing between types of memory mappings.
For example, while `top` may indicate that X is using several hundred
MB of memory, the last line of output from pmap:
mapped: 287020 KB writable/private: 9932 KB shared: 264656 KB
reveals that X is really only using roughly 10MB of system RAM
(the "writable/private" value).
Note, also, that X must allocate resources on behalf of X clients (the
window manager, your web browser, etc); X's memory usage will increase
as more clients request resources such as pixmaps, and decrease as
you close X applications.
Q: OpenGL applications leak significant amounts of memory on my system!
A: If your kernel is making use of the -rmap VM, the system may be leaking
memory due to a memory management optimization introduced in -rmap14a.
The -rmap VM has been adopted by several popular distributions, the
memory leak is known to be present in some of the distribution kernels;
it has been fixed in -rmap15e.
If you suspect that your system is affected, please try upgrading your
kernel or contact the distribution's vendor for assistance.
Q: Some OpenGL applications (like Quake3 Arena) crash when I start them
on Red Hat Linux 9.0.
A: Some versions of the glibc package shipped by Red Hat that support
TLS do not properly handle using dlopen() to access shared libraries
which utilize some TLS models. This problem is exhibited, for example,
when Quake3 Area dlopen()'s NVIDIA's libGL library. Please obtain
at least glibc-2.3.2-11.9 which is available as an update from Red Hat.
Q: I have installed the driver, but my Enable 3D Acceleration checkbox
is still greyed out! What did I do wrong?
A: Most distribution-provided configuration applets are not aware of
the NVIDIA accelerated driver, and consequently will not update
themselves when you install the driver. Your driver, if it has been
installed properly, should function fine.
Q: Where can I find the tarballs?
A: Plain tarballs are no longer available. The .run file is a
tarball with a shell script prepended. You can execute the .run
file with the '--extract-only' option to unpack the tarball.
Q: Where can I find older driver versions?
A: Please visit
ftp://download.nvidia.com/XFree86_40/.
Q: X does not restore the vga console when run on a TV. I get this
error message in my X log file:
Unable to initialize the X int10 module; the console may not be
restored correctly on your TV.
A: The NVIDIA X driver uses the X Int10 module to save
and restore console state on TV out, and will not be able to restore
the console correctly if it cannot use the Int10 module. If you
have built the X server yourself, please be sure you have built the
Int10 module. If you are using a build of the X server provided by a
Linux distribution, and are missing the Int10 module, please contact
your distributor,
Q: When changing settings in games like Quake 3 Arena, or Wolfenstein
Enemy Territry, the game crashes and I see this error:
...loading libGL.so.1: QGL_Init: dlopen libGL.so.1 failed:
/usr/lib/tls/libGL.so.1: shared object cannot be dlopen()ed:
static TLS memory too small
A: These games close and reopen the NVIDIA OpenGL driver (via
dlopen()/dlclose()) when settings are changed. On some versions of
glibc (such as the one shipped with Red Hat Linux 9), there is a bug
that leaks static TLS entries. This glibc bug causes subsequent
re-loadings of the OpenGL driver to fail. This is fixed in more
recent versions of glibc; see Red Hat bug #89692:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=89692Q: X crashes during `startx`, and my X log file contains this
error message:
(EE) NVIDIA(0): Failed to obtain a shared memory identifier.
A: The NVIDIA OpenGL driver and the NVIDIA X driver require shared memory
to communicate; you must have CONFIG_SYSVIPC enabled in your kernel.
Q: When I try to install the driver, the installer claims that X is
running, even though I have exited X. What is wrong?
A: The installer detects the presence of an X server by checking for
X's lock files: /tmp/.X[n]-lock, where [n] is the number of the X
Display (the installer checks for X Displays 0-7). If you have exited
X, but one of these files have been left behind, then you will need
to manually delete the lock file. DO NOT remove this file is X is
still running.
Q: Fonts are incorrectly sized after installing the NVIDIA driver.
A: Incorrectly sized fonts are generally caused by a monitor
reporting an incorrect physical size, which causes various X
applications to render fonts at the wrong size. You can check what
X thinks the physical size of your monitor is, by running:
xdpyinfo | grep dimensions
This will report the size in pixels, and in millimeters. If the
sizes in millimeters are drastically incorrect, then you can correct
this by adding the DisplaySize field to the monitor section of your
X config file (see the XF86Config or xorg.conf manpages for details).
You can check what your monitor reports its physical size is by
running X with verbose logging: `startx -- -logverbose`. Then,
search your X log file for a line that looks like:
(II) NVIDIA(0): Max H-Image Size [cm]: horiz.: 36 vert.: 27
(the numbers will be different) The NVIDIA driver uses these
values to compute the DPI.
Q: I want to use Valgrind with OpenGL applications, but my
distribution uses ELF TLS, and Valgrind cannot yet deal with NVIDIA's
ELF TLS OpenGL.
A: You can set the environment variable LD_ASSUME_KERNEL to something
below "2.3.99" (for example: `export LD_ASSUME_KERNEL 2.3.98`).
NVIDIA's OpenGL libraries contain an OS ABI ELF note that indicates
the minimum kernel version that is required to use the library.
The ELF TLS OpenGL libraries have an OS ABI of 2.3.99 (the first
Linux kernel that contained the necessary LDT support for ELF TLS),
while the non ELF TLS OpenGL libraries contain an OS ABI of 2.2.5.
The run-time loader will not load libraries with an OS ABI greater
than the current kernel version. The LD_ASSUME_KERNEL environment
variable can be used to override the kernel version that the run-time
loader uses in this test.
By setting LD_ASSUME_KERNEL to any kernel version below 2.3.99,
you can force the loader to not use the ELF TLS OpenGL libraries,
and fall back to the regular OpenGL libraries.
If, for some reason, you need to remove this OS ABI note from the
NVIDIA OpenGL libraries, you can do so by passing the .run file the
"--no-abi-note" option during installation.
__________________________________________________________________________
(sec-05) CONTACTING US
__________________________________________________________________________
There is an NVIDIA Linux Driver web forum. You can access it by going
to
www.nvnews.net and following the "Forum" and "Linux Discussion Area"
links. This is the preferable tool for seeking help; users can post
questions, answer other users' questions, and search the archives of
previous postings.
If all else fails, you can contact NVIDIA for support at:
linux-bugs@nvidia.com. But please, only send email to this address
after you have followed the FREQUENTLY ASKED QUESTIONS section in this
README and asked for help on the nvnews.net web forum. When emailing
linux-bugs@nvidia.com, please include the nvidia-bug-report.log file
generated by the nvidia-bug-report.sh script (which is installed as part
of driver installation).
__________________________________________________________________________
(sec-06) FURTHER RESOURCES
__________________________________________________________________________
Linux OpenGL ABI
http://oss.sgi.com/projects/ogl-sample/ABI/NVIDIA Linux HowTo
http://www.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/index.htmlOpenGL
www.opengl.orgThe XFree86 Project
www.xfree86.org#nvidia (irc.freenode.net)
__________________________________________________________________________
(app-a) APPENDIX A: SUPPORTED NVIDIA GRAPHICS CHIPS
__________________________________________________________________________
NVIDIA CHIP NAME DEVICE PCI ID
RIVA TNT 0x0020
RIVA TNT2/TNT2 Pro 0x0028
RIVA TNT2 Ultra 0x0029
Vanta/Vanta LT 0x002C
RIVA TNT2 Model 64/Model 64 Pro 0x002D
GeForce 6800 Ultra 0x0040
GeForce 6800 0x0041
GeForce 6800 GT 0x0045
Quadro FX 4000 0x004E
Aladdin TNT2 0x00A0
GeForce 6800 0x00C1
GeForce 6800 LE 0x00C2
GeForce Go 6800 0x00C8
GeForce Go 6800 Ultra 0x00C9
Quadro FX Go1400 0x00CC
Quadro FX Go1400 0x00CC
Quadro FX 3450/4000 SDI 0x00CD
Quadro FX 1400 0x00CE
GeForce 6800/GeForce 6800 Ultra 0x00F0
GeForce 6600/GeForce 6600 GT 0x00F1
GeForce 6600 0x00F2
GeForce 6200 0x00F3
GeForce 6200 0x00F3
Quadro FX 3400 0x00F8
GeForce 6800 Ultra 0x00F9
GeForce PCX 5750 0x00FA
GeForce PCX 5900 0x00FB
Quadro FX 330/GeForce PCX 5300 0x00FC
Quadro NVS 280 PCI-E/Quadro FX 330 0x00FD
Quadro FX 1300 0x00FE
GeForce PCX 4300 0x00FF
GeForce 256 0x0100
GeForce DDR 0x0101
Quadro 0x0103
GeForce2 MX/MX 400 0x0110
GeForce2 MX 100/200 0x0111
GeForce2 Go 0x0112
Quadro2 MXR/EX/Go 0x0113
GeForce 6600 GT 0x0140
GeForce 6600 0x0141
GeForce Go 6600 0x0144
GeForce 6610 XL 0x0145
GeForce Go 6600 TE/6200 TE 0x0146
GeForce Go 6600 0x0148
Quadro FX 540 0x014E
GeForce 6200 0x014F
GeForce2 GTS/GeForce2 Pro 0x0150
GeForce2 Ti 0x0151
GeForce2 Ultra 0x0152
Quadro2 Pro 0x0153
GeForce 6200 TurboCache(TM) 0x0161
GeForce 6200SE TurboCache(TM) 0x0162
GeForce Go 6200 0x0164
GeForce Go 6250 0x0166
GeForce Go 6200 0x0167
GeForce Go 6250 0x0168
GeForce4 MX 460 0x0170
GeForce4 MX 440 0x0171
GeForce4 MX 420 0x0172
GeForce4 MX 440-SE 0x0173
GeForce4 440 Go 0x0174
GeForce4 420 Go 0x0175
GeForce4 420 Go 32M 0x0176
GeForce4 460 Go 0x0177
Quadro4 550 XGL 0x0178
GeForce4 440 Go 64M 0x0179
Quadro NVS 0x017A
Quadro4 500 GoGL 0x017C
GeForce4 410 Go 16M 0x017D
GeForce4 MX 440 with AGP8X 0x0181
GeForce4 MX 440SE with AGP8X 0x0182
GeForce4 MX 420 with AGP8X 0x0183
GeForce4 MX 4000 0x0185
Quadro4 580 XGL 0x0188
Quadro NVS with AGP8X 0x018A
Quadro4 380 XGL 0x018B
Quadro NVS 50 PCI 0x018C
GeForce2 Integrated GPU 0x01A0
GeForce4 MX Integrated GPU 0x01F0
GeForce3 0x0200
GeForce3 Ti 200 0x0201
GeForce3 Ti 500 0x0202
Quadro DCC 0x0203
GeForce 6800 0x0211
GeForce 6800 LE