Nouveau

From ArchWiki

Jump to: navigation, search
Summary
This article details the installation of the Nouveau Open Source 3D acceleration graphics driver for NVIDIA cards. The name of the project refers to the fact that "nouveau" means "new" in French.
Related
KMS
Xorg
NVIDIA

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.

Contents

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 packages:

# pacman -S xf86-video-nouveau

If you want experimental Gallium3D features:

# pacman -S nouveau-dri mesa libgl

Also make sure you have Xorg properly installed.

Don't forget to enable the Xorg driver after installing the Nouveau packages.

Warning: 3D acceleration is still not officially supported, so don't report any bugs unless you are looking to contribute patches.

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

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

# rmmod nvidia

Then load nouveau

# modprobe nouveau

And check that it loaded fine by looking at kernel messages

$ dmesg

Note: You can use those scripts if you are switching between open and closed drivers often.

Configuration

Create the file /etc/X11/xorg.conf.d/20-nouveau.conf, and input the following contents:

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

This is required to ensure that nouveau driver is loaded. Xorg does not yet automatically load the xf86-video-nouveau driver.

KMS

Kernel Mode-Setting (KMS) is required by the Nouveau driver. See the KernelModeSetting page for more information.

Late start

With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes.

Remove all "vga=" options from your kernel commandline in /boot/grub/menu.lst. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.

Early start

Warning: If you have troubles with nouveau, and are led to rebuild nouveau-drm several times for testing purpose, 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. There might be additional problems with initramfs if you need a firmware for the nv50 family

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 MODULES array in /etc/mkinitcpio.conf:

MODULES="nouveau ..."

2) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in /etc/mkinitcpio.conf:

FILES="/etc/modprobe.d/modprobe.conf"

3) Re-generate your initcpio:

# mkinitcpio -p <your kernel preset (kernel26, etc.)>

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 kernel26-mainline in which the Nouveau DRM code would allow better performance.

DualHead

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

Here is a full sample /etc/X11/xorg.conf 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 fbset tool to adjust console resolution.

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

Personal tools