Nouveau

From ArchWiki
Revision as of 14:33, 7 November 2011 by City-busz (Talk | contribs) (Installation: GPU lockups happens especially on older cards)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Nouveau is an open source graphic driver for NVIDIA cards.

Do not forget to check out the FAQ if you have any questions, as there is a lot of valuable information there.

Installation

Before proceeding, have a look at the FeatureMatrix to see what features are supported for a given architecture, and the list of codenames to determine the card's category.

You could also consult wikipedia for an even more detailed list.

Install the following package:

# pacman -S xf86-video-nouveau

Also make sure you have Xorg properly installed.

If you want hardware-accelerated 3D support (to run GNOME Shell or KWin's effects for instance), install the following additional package:

# pacman -S nouveau-dri
Warning:

Loading

If you kept the proprietary NVIDIA driver installed, nouveau is probably not going to work. Either uninstall the proprietary NVIDIA driver:

 pacman -Rdd nvidia nvidia-utils

or blacklist it by adding the following line to /etc/modprobe.d/modprobe.conf:

blacklist nvidia

and let Xorg to load nouveau instead of nvidia by creating the file /etc/X11/xorg.conf.d/30-nouveau.conf, and input the following content:

 Section "Device"
   Identifier "Nvidia card"
   Driver "nouveau"
 EndSection

Then nouveau should load fine automatically on next reboot. To test it now, first make sure the 'nvidia' module is no longer loaded:

# rmmod nvidia

Then load nouveau:

# modprobe nouveau

and check that it loaded fine by looking at kernel messages:

$ dmesg
Note:
  • Always make sure you won't have nomodeset in GRUB's menu.lst/menu.cfg kernel line, since Nouveau needs kernel mode-setting in order to run successfully (see below).
  • Also, check if you haven't disabled Nouveau by using any modprobe blacklisting within /etc/modprobe.d/.
  • You can use these scripts if you are switching between open and closed drivers often.

KMS

Kernel Mode-Setting (KMS) is required by the Nouveau driver. As the system boots, the resolution will likely change when KMS initializes the display driver. Simply installing the Nouveau driver should be enough to get the system to recognize and initialize it in "Late Start" mode (see below). Additional reading: KernelModeSetting.

Note: Users may prefer the early start method as it does not cause the annoying resolution change part way through the boot process.

Late start

With this choice KMS will be enabled when other kernel modules are loaded. You will see the text "Loading modules" and the size of the text may change, possibly with an undesirable flicker.

Using other framebuffer drivers (such as uvesafb) will conflict with KMS. If this is the case, remove all "vga=" options from your kernel commandline in Template:Filename.

Early start

This method will start KMS as early as possible in the boot process, when the initramfs is loaded. Here is how to do this with the official packages:

  1. Add "nouveau" to the Template:Codeline array in Template:Filename:
    MODULES="... nouveau ..."
  2. Re-generate boot image:
    # mkinitcpio -p <kernel preset, e.g. linux>

If experiencing troubles with nouveau leading to rebuild nouveau-drm several times for testing purposes, do not add nouveau to the initramfs. It is too easy to forget to rebuild the initramfs and it will just make any testing harder. Just use late start until you are confident the system is stable. There might be additional problems with initramfs if you need a firmware for the nv50 family

You can also look at the Intel instructions for an early start: Intel Graphics:KMS (Kernel Mode Setting).

Alternative installation [latest Mesa]

You may install the latest -git packages, through AUR. You can use mesa-git which will allow the installation of the latest Mesa.

You can also try installing a newer kernel version, through packages like Template:Package AUR in which the Nouveau DRM code would allow better performance.

To get the latest nouveau improvements, you should use the linux-git package from the AUR, edit the PKGBUILD and use nouveau's own kernel repository, which is currently located at: git://anongit.freedesktop.org/nouveau/linux-2.6.

Tearing free compositing

Edit your 20-nouveau.conf, in the Device section add:

Section "Device"
    Identifier "nvidia card"
    Driver "nouveau"
    Option "GLXVBlank" "true"
EndSection

DualHead

Nouveau supports the xrandr extension for modesetting and multiple monitors. See the RandR12 page for tutorials.

Here is a full sample Template:Filename above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like gnome-display-properties (System -> Preferences -> Display).

# the right one
Section "Monitor"
          Identifier   "NEC"
          Option "PreferredMode" "1280x1024_60.00"
EndSection

# the left one
Section "Monitor"
          Identifier   "FUS"
          Option "PreferredMode" "1280x1024_60.00"
          Option "LeftOf" "NEC"
EndSection

Section "Device"
    Identifier "nvidia card"
    Driver "nouveau"
    Option  "Monitor-DVI-I-0" "NEC"
    Option  "Monitor-DVI-I-1" "FUS"
EndSection

Section "Screen"
    Identifier "screen1"
    DefaultDepth 24
      SubSection "Display"
       Depth      24
       Virtual 2560 1024
      EndSubSection
    Device "nvidia card"
EndSection

Section "ServerLayout"
    Identifier "layout1"
    Screen "screen1"
EndSection

Setting console resolution

Use the Template:Package Official tool to adjust console resolution.

You can also pass the resolution to nouveau with the video= kernel line option (see KMS).