NVIDIA Linux Drivers

Introduction

This is the recommended way to install the NVIDIA Linux Drivers, including GLX with Compositing to support Compiz Fusion (or Beryl), without having to reboot into different runlevels.  Just make sure you follow ALL of the instructions on this page and you shouldn't have any problems.  This is the exact method that I use every time I install NVIDIA drivers.

If possible...  PRINT THESE INSTRUCTIONS!!!  While performing these instructions and commands you will temporarily lose your graphical "X" window session including your ability to read this page...  for these reasons, it would be a good idea to have these instuctions printed out on paper.

Disclaimer

Understand that if you do not follow these instructions carefully and if you do not test everything correctly - and then later decide to reboot your machine - you may end up with a bad X configuration, your graphics may fail, and you may not be able to use Linux until you manually fix the problem or re-install linux (both of which are out of the scope of this document).  If you do not think you can follow these instructions, please do not proceed.  In any case, I am not responsible for any problems you might encounter.

Notice

Newer NVIDIA Drivers are available (169.04 (older, beta) and 169.07 (newest public, stable), but both are problematic for some users.  Both drivers require fiddling with /usr/bin/compiz-manager (--no-libgl-fallback) and the 169.07's introduce a new bug where the GPU fan spins up full speed and never slows down.  For these reasons, I am not mentioning either version on this site until things calm down.

I have been using the .23 beta drivers (even though they are beta) since the day they were released (over two months ago) without any problems.

Official Information

Official NVIDIA Linux Drivers Website:  http://www.nvidia.com/object/unix.html

NVIDIA Linux Drivers 100.14.23 - BETA - October 18, 2007

64-Bit : Website : Download : Local : Remote

32-Bit : Website : Download : Local : Remote

NVIDIA Linux Drivers 100.14.19 - STABLE - September 18, 2007

64-Bit : Website : Download : Local : Remote

32-Bit : Website : Download : Local : Remote

NVIDIA Linux Drivers 1.0-9755 - OLD - March 7, 2007

64-BitWebsite : Download : Local : Remote

32-BitWebsite : Download : Local : Remote

All of the driver versions shown here (64-bit and 32-bit) have been fully tested with Compiz Fusion and work without any lock ups.

All local NVIDIA Linux Drivers are located here.

openSUSE NVIDIA Wiki - New 10/7/07

New users!

If you are new to Linux, this page might help you get the NVIDIA drivers installed automatically using the new "single click" method.

This links in this section are provided for reference only and are aimed at new users.

I did not use anything in this section.  I always install the NVIDIA drivers manually using the instructions on this page.

If you decide to install your drivers using this new method, you can safely skip the majority of this page and you won't need any of the downloads (above) either...  but if you ever want to run Compiz Fusion or Beryl, you will still need to perform all of the steps shown below in the NVIDIA and AIGLX sections.

openSUSE NVIDIA Wiki:  http://en.opensuse.org/Nvidia

Single click install for all new cards:  nvidia.ymp

Single click install for all old (legacy) cards:  nvidia-legacy.ymp

Required Packages

It would be a good idea to install all of the packages shown directly below (in white text) before attempting anything else on this page.  You will definitely need GCC and kernel-source.

Open YaST Software Manager...

At the top left, change the Filter from "Search" to "Patterns".  The left side should now look the same as when you installed openSUSE.

Under the Development section (bottom left), check ALL of these items:

Base Development, GNOME Development, KDE Development, GCC, C/C++ Development, Linux Kernel Development, Qt 4 Development.

Do NOT proceed until you have at least installed GCC and kernel-source.

Safety:  Runlevel 3 (Text Mode)

This step is designed for safety.  If you are new to linux, you should definitely do this step.  If you are a linux veteran, you can skip this step.  Your call.

Change the runlevel to 3 (Text Mode)...

su
kate /etc/inittab

Near the top of the file, below all of the comments, you should see this (or similar):

id:5:initdefault:

The "5" in this line tells linux that the default runlevel is 5, or "graphical mode".

Change the "5" to a "3" to change the boot runlevel to 3, or "text mode".

Example:

id:3:initdefault:

Save your changes and close Kate.

Before continuing...  understand that when the runlevel is set to 3, your computer will reboot in text mode.  You will login with your normal user/pass combination, but you will not see your normal desktop until you run the startx command.  While the system is booted in runlevel 3 you can use startx as needed and you can kill the graphical session by logging out or pressing Ctrl+Alt+Backspace.

X cannot be running while you install the NVIDIA drivers.

So now we need to stop X...

TTY/VT Switching Basics

Linux normally ships with 6 TTY's (text consoles) and 6 VT's (graphics screens).  When you boot up in verbose mode, you are watching TTY1.  When graphics mode starts you are automatically switched to VT7.

Ctrl+Alt+F1 = TTY1
Ctrl+Alt+F7 = VT7

Try the first key combination (above) to get to TTY1 (text mode), then hit the second combination to get back to your X session on VT7.

If nothing happened, you might have a "nodeadkeys" option somewhere in your xorg.conf...  you will not be able to switch between TTY's and VT's until you fix this problem.

Do this only if you can't switch VT's or TTY's:

In a terminal:

su
kate /etc/X11/xorg.conf

Search for "nodeadkeys" and comment that line out with a # sign like this:

# Option "XkbVariant" "nodeadkeys"

You will need to restart X or reboot for this change to take effect.

You should now be able to switch TTY's and VT's.

Preparing For Installation

Press Ctrl+Alt+F1.

This will place you on TTY1 where a text based login screen will appear.

X is still running on TTY7 as can be seen if you hit Ctrl+Alt+F7.

Check that if you want to, then come back to TTY1 with Ctrl+Alt+F1.

Enter your root username and password.

Switch to runlevel 3 by typing this command:

rcxdm stop or init 3

I personally only use the rcxdm commands.

This will kill the X server.  Verify this by checking VT7...  if X is dead, VT7 will be a black screen with a blinking cursor at the top left of your screen.

If X did not shut down fully, press Ctrl+Alt+Backspace to kill X.  Sometimes you may have to hit this combination a few times, sometimes quickly, to finally get X to die.

Make certain that X is no longer running before you proceed any farther.

Once X is dead, go back to TTY1.

Install The NVIDIA Driver

If you get errors during the installation, particularly regarding kernel sources, then you didn't follow my instructions (above) regarding the installation of the required packages.

Change directories to where you downloaded your NVIDIA installer, eg:

cd /home/sgt-d/downloads

Run the installer, example:

sh NVIDIA-Linux-x86_64-100.14.19-pkg2.run

The installer is text based.  Use the left/right arrow keys to select or change buttons.  The button with a white block will be the accepted answer each time the enter key is pressed.

During the installation it will always fail to find a proper driver, and normally it will always fail to download one as well.  This is normal.

After these attempts the installer will ask you if you want to try to build the drivers based on your linux kernel.  Use the arrow keys to select "Yes" and press enter.

If you are installing the 64-bit version, you will also be asked if you want to install 32-bit support, select "Yes" and press enter.

After a short period the installer will ask if you want the configuration to be saved to your xorg.conf file - make sure you select YES.

When the drivers for your system have been built successfully we will need to check some things.

DO NOT REBOOT!!!

Fully Test Your NVIDIA Installation

Take a look at /etc/X11/xorg.conf and make sure that the "nvidia" driver is being used instead of the open source "nv" driver.

cat /etc/X11/xorg.conf

Example:

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 7800 GT"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Note:  Ctrl+Alt+Backspace can be used to kill the X server.  The next command will start an X session that will end up doing nothing (blank gray screen) and you will have to hit Ctrl+Alt+Backspace to close X again.

To see whether the X server is able to start up, type X on the terminal and press Enter.  You should see the NVIDIA logo for a brief second, then a blank gray screen.

X # <- that is an uppercase X by the way.

To stop displaying the X screen press Ctrl+Alt+Backspace.

Did you see the NVIDIA logo?

If you saw the NVIDIA logo, you should be ready for the next section (NVIDIA).

If not, try the X command again.

If you still aren't having any luck, re-check /etc/X11/xorg.conf for any possible problems.  If all else fails, try re-installing the NVIDIA driver.

Make sure that X is working correctly before any attempts to reboot your computer!

Notice:  If you can't get X to work correctly, switch inittab to runlevel 3 before rebooting!!!

When everything is finally working correctly, proceed to the next section (NVIDIA).

NVIDIA

Do not proceed unless you passed the test phase (above).

Note:  You may not have to use --add-argb-glx-visuals or AIGLX mentioned below.  I am currently not using either.

If you really want to push your card and check out all of the cool shit like Compiz Fusion or Beryl, run this set of commands in a terminal:

su
nvidia-xconfig --composite; nvidia-xconfig --render-accel; nvidia-xconfig --add-argb-glx-visuals

One site mentioned you can alternatively run it this way although I haven't tied it yet:

nvidia-xconfig --composite --render-accel --add-argb-glx-visuals

    You should see informational messages showing success, at least three times.

If you did, it's time for AIGLX!

AIGLX

The prefered method to enable GLX with the NVIDIA drivers is to use AIGLX.

Note:  You may not need to use AIGLX.  I am currently not using it.

Open a terminal:

su
kate /etc/X11/xorg.conf

Locate the "ServerLayout" section in your config file.

Example:

Section "ServerLayout"
  #blah blah blah
EndSection

Create a new line between the Section and EndSection lines.

Now add this line:

Option "aiglx" "true"

Example:

Section "ServerLayout"
  #blah blah blah
  Option "aiglx" "true"

EndSection

Save your xorg.conf file and exit Kate.

Done!

Get Back To X - Now 3D Accellerated!

If you've gotten this far successfully, you can now safely switch back to runlevel 5 by typing this command and pressing the enter key:

rcxdm start or init 5; exit

Again, I only use rcxdm commands.

If neither command worked...  type exit until TTY1 is asking for a user/pass...  login with your normal user account and type:

startx

Testing...

Run these commands (white text) in a terminal as a normal user.

My results are shown indented and in green text.

Important Tests:

grep "DISPLAYMANAGER_XSERVER" /etc/sysconfig/displaymanager

DISPLAYMANAGER_XSERVER="Xorg"
DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN="no"

glxinfo | grep OpenGL | head -n1

OpenGL vendor string: NVIDIA Corporation

glxinfo | grep "^direct rendering"

direct rendering: Yes

xdpyinfo | grep XTEST

XTEST

Tivial Tests:

The glxgears command should show a window with three rotating gears...  the gears should spin smoothly.  The glxinfo command just shows tons of information in the terminal.

glxgears

glxinfo

Safety:  Runlevel 5 (Graphical Mode)

If you followed the "safety" step above (Safety:  Runlevel 3 (Text Mode), and everything is working right you can now switch inittab back to runlevel 5 so your computer boots into graphical mode every time.

Only do this if everything is working correctly from the previous sections.

Switch back to runlevel 5...

su
kate /etc/inittab

Example:

id:5:initdefault:

Save your changes and close Kate.

Anything Else?

Yeah, make a shortcut on your desktop to this:

kdesu /usr/bin/nvidia-settings

You're welcome, in advance.