The nVidia drivers in the tree are released by nVidia and are built against the Linux kernel. They contain a binary blob that does the heavy lifting for talking to the card. The drivers consist of two parts, a kernel module, and an X11 driver. Both parts are included in a single package. Due to the way nVidia has been packaging their drivers, you will need to make some choices before you install the drivers.
The
The
Newer cards such as the GeForce 400, 300, 200, 100, 9, 8, 7, and 6 series should use the latest drivers.
Older cards such as the GeForce FX 5 series should use the 173.x drivers, such
as
Old cards such as the GeForce 3 or GeForce 4 series require the 96.x drivers.
For these cards, you should mask
The oldest NV2x-based cards (such as TNT, TNT2, GeForce, and GeForce 2) are no
longer supported by
You can check for driver compatibility for your card at to determine which
driver supports it by viewing the README at its appropriate x86 or x86-64
As mentioned above, the nVidia kernel driver installs and runs against your
current kernel. It builds as a module, so it makes sense that your kernel must
support the loading of kernel modules. If you used
Loadable module support ---> [*] Enable loadable module support
You also need to enable
Processor and Features ---> [*] MTRR (Memory Type Range Register) support
Also, if you have an AGP graphics card, you can optionally enable
Device Drivers ---> Graphics Support ---> -*- /dev/agpgart (AGP Support) --->
Device Drivers ---> Graphics Support ---> <*> Support for frame buffer devices ---> < > nVidia Framebuffer Support < > nVidia Riva support
A framebuffer alternative is
Device Drivers ---> Graphics Support ---> <*> Support for frame buffer devices ---> <*> Userspace VESA VGA graphics support
Or you can try
Device Drivers ---> Graphics Support ---> <*> Support for frame buffer devices ---> [*] VESA VGA graphics support
For more information, you can look up the documentation for your chosen
framebuffer in
The
First, you'll need to choose the right kernel source using
# eselect kernel list Available kernel symlink targets: [1] linux-2.6.34-gentoo-r1 * [2] linux-2.6.33-gentoo-r2 [3] linux-2.6.32.9(Verify that the right kernel is marked with an asterisk
In the above output, you'll notice that the
If the symlink is not pointing to the correct sources, you must update the link by selecting the number of your desired kernel sources, as in the example above.
(Select the correct kernel) # eselect kernel set 1
Now it's time to install the drivers. You can do this by first following the
Once the installation has finished, run
# lsmod | grep nvidia && rmmod nvidia # modprobe nvidia
To prevent you having to manually load the module on every bootup, you probably
want to have this done automatically each time you boot your system, so edit
Once the appropriate drivers are installed you need to configure your X Server
to use the
If you do not have an xorg.conf file, it is sufficient to simply tell the X Server to load the module; it will likely handle the remainder of your configuration itself. Create
Section "Device" Identifier "my nVidia Card" Driver "nvidia" EndSection
This will allow the X server to use the video card to probe most of the remainder of your display setup. You will be able to tune and adjust this later using the
If you already have an xorg.conf file, open
Section "Device" Identifier "nVidia Inc. GeForce2" Driver "nvidia" VideoRam 65536 EndSection
Then go to the
Section "Module"(...) # Load "dri" Load "glx"(...) EndSection
Next, in section
Section "Screen"(...) DefaultDepth 16 Subsection "Display"(...) EndSection
Run
# eselect opengl set nvidia
You have to add your user to the
# gpasswd -a youruser video
This might not be totally necessary if you aren't using
To test your nVidia card, fire up X and run
$ glxinfo | grep direct direct rendering: Yes
To monitor your FPS, run
Some tools, such as
There are also some applications that use the
Then, run
nVidia also provides you with a settings tool. This tool allows you to monitor
and change graphical settings without restarting the X server and is available
through Portage as
If you are having troubles with the nVidia 2D acceleration it is likely that
you are unable to set up a write-combining range with MTRR. To verify, check
the contents of
# cat /proc/mtrr
Every line should contain "write-back" or "write-combining". If you see a line with "uncachable" in it you will need to change a BIOS setting to fix this.
Reboot and enter the BIOS, then find the MTRR settings (probably under "CPU Settings"). Change the setting from "continuous" to "discrete" and boot back into Linux. You will now find out that there is no "uncachable" entry anymore and 2D acceleration now works without any glitches.
This usually occurs when you don't have a matching video card. Make sure that
you have an nVidia-powered graphical card (you can double-check this using
If you are confident that you have an nVidia card, check your BIOS and see if
the directive
The nVidia driver package also comes with comprehensive documentation. This is
installed into
$ less /usr/share/doc/nvidia-drivers-*/README.gz
The
(Edit /etc/modprobe.d/nvidia.conf in your favourite editor) # nano -w /etc/modprobe.d/nvidia.conf(Update module information) # update-modules(Unload the nvidia module...) # modprobe -r nvidia(...and load it once again) # modprobe nvidia
The GLX layer also has a plethora of options which can be configured. These control the configuration of TV out, dual displays, monitor frequency detection, etc. Again, all of the available options are detailed in the documentation.
If you wish to use any of these options, you need to list them in the relevant
Device section of your X config file (usually
Section "Device" Identifier "nVidia Inc. GeForce2" Driver "nvidia" Option "NoLogo" "true" VideoRam 65536 EndSection