From ArchWiki
Revision as of 13:02, 2 September 2005 by Nkour (talk | contribs) (→‎Known Issues:: add IGNORE_CC_MISMATCH=1)
Jump to navigation Jump to search

How to install Nvidia Driver with pacman

Info from Package Maintainer tpowa:

The package is for those people who run a stock arch kernel! I only test with kernel 2.6 and xorg.

Multiple Kernel users: You may need to install nvidia package for each extra! You may need to remove the kernel modules by hand after deinstall!

Install drivers:

You have to use extra repository, enable it for pacman. Leave X-Server, else pacman cannot finish installation and it will not work! run as root: pacman -Sy nvidia (for newer cards) pacman -Sy nvidia-legacy (for old cards) please look at the README from nvidia for information, which card is supported.

If an error happens during install you can have a look at: /var/log/nvidia-installer.log

Configuring X-Server:

Edit /etc/X11/XF86Config or your /etc/X11/xorg.conf config file: Disable in modules section: GLcore and DRI

Add to modules section: Load "glx"

Disable Section DRI completely:

   #Section "DRI"
   # Mode 0666

change driver "nv" to driver "nvidia" if it exists disable Chipset option (only needed for nv driver)

This was for basic setup, if you need more tweaking options have a look at: /usr/share/doc/NVIDIA_GLX-1.0/README

Modify Arch rc.conf file:

Add nvidia to /etc/rc.conf modules section (not needed anymore if you run xorg and udev)

Problems that might occur:

  • Nvidia specific:

If you experience slow 3D Performance have a look at: /usr/lib/libGL.so.1 /usr/lib/libGL.so /usr/lib/GLcore.so.1 perhaps they are wrong linked to mesa or something else Try reinstalling with 'pacman -S nvidia'

When you get this message when you try to start an openGL application (for example enemy-territory, or glxgears): Error: Could not open /dev/nvidiactl because the permissions are too restrictive. Please see the FREQUENTLY ASKED QUESTIONS section of /usr/share/doc/NVIDIA_GLX-1.0/README for steps to correct.

add yourself to the "video" group using gpasswd -a <yourusername> video (Don't forget to log out and back in)

  • Arch specific:

GCC UPDATE: You must compile the module with the compiler that was used for the kernel else it may fail. A simple 'pacman -S nvidia' should do it, if not wait for a new kernel release and stay with old kernel and gcc.

KERNEL UPDATE: If you update your kernel you have to recompile the module! A simple 'pacman -S nvidia' should do it.

Driver Config Tool:

The new config tool for the nvidia-drivers is included called 'nvidia-settings' You don't have to use it it's only a add-on! For more information about the use, have a look at the following file: /usr/share/doc/NVIDIA_GLX-1.0/nvidia-settings-user-guide.txt

NOTE: If you experience problems like crashing the X-Server while running the tool you have to delete your .nvidia-settings-rc file in your home dircetory

Known Issues:

If you experience crashes, try to disable RenderAccel "true" option.

If you have problems with different versions of gcc and kernel was compiled with different version of gcc then see on how to install the traditional way but remember to export IGNORE_CC_MISMATCH=1

If you have comments on the package please post it here:
If you have a problem with the drivers have a look at the nvidia forum:
For a Changelog please look here:

Note: please don't change the above part without notifying me.

How to install NVIDIA Driver the traditional way

The Kernel Steps (the following 4 steps) can be left out if you use at least kernel 2.6.5 because the needed Includes are now in the Kernel package

  • Move the current incomplete kernel source tree to 2.x.x.old
    • mv /usr/src/2.x.x /usr/src/2.x.x.old
  • Uncompress and unpack your source code in /usr/src
    • mv /path/to/linux-2.x.x.tar.bz2 /usr/src
    • cd /usr/src
    • tar --bzip2 -xvf linux-2.x.x.tar.bz2
  • Copy the old include directory and .config file into new source tree
    • cp -rp linux-2.x.x.old/include/ linux-2.x.x/include/
    • cp linux-2.x.x.old/.config linux-2.x.x/.config
  • Go to a non-graphical session
    • Use Control-Alt-F5 (or whatever F key you want)
    • Login as root
    • Go to runlevel 3
      • init 3
  • Run NVIDIA installer
    • sh /path/to/NVIDIA-Linux-x86-1.0-5336-pkg0.run
    • You will be asked to accept their license, then hit OK a couple times on informational screens, the driver will then be built and installed
  • Edit XFree86Config file
    • Use the editor of choice to open /etc/X11/XFree86Config and go to the Device section
    • Change your driver from current (probably nv or vesa) to nvidia
      • Driver "nv" to Driver "nvidia"
    • Uncomment the glx load line
      • #Load "glx" to Load "glx"
    • Comment or delete the Chipset line if exists
  • Edit modules loaded on boot
    • Open /etc/rc.conf in editor
    • Add nvidia to modules section
      • MODULES(ide-scsi) to MODULES(ide-scsi nvidia)
  • Reboot the machine and enjoy 3D acceleration...and a tainted kernel :)