Specific instructions for distribution
- up-to-date : Exherbo Gentoo openSUSE Arch Linux
- needs updating and merging : DebianInstall and DebianTips , UbuntuPackages and UbuntuTips
Introduction
If you use one of the distributions listed above, check if the packages there are recent, and you can try them. Nouveau packages and the instructions here currently only provide accelerated 2D rendering using EXA (with RENDER acceleration), Randr 1.2 for dual-head and dynamic monitor configuration, and accelerated Xvideo.
Some distros already package the 3D drivers, too. See MesaDrivers for information on the 3D drivers. 3D requires the Nouveau 2D working first.
If you have problems with packaged versions of Nouveau, seek help from your distribution, not from Nouveau developers.
Install Nouveau
NOTE: If you ever plan to go back to your previous driver, especially if it is the nvidia proprietary driver (the blob), read the Uninstall chapter before actually doing anything.
Now, if you want to try out nouveau, please follow these steps carefully :
- Install xorg-server version 1.8 or later (appears in Xorg 7.6) - Versions prior to this won't work due to difference in some internal structures. Read the Xorg Modular Developer's Guide for help with building from source.
- Install the Nouveau kernel modules by following InstallDRM guide.
- Download the drm git tree Use
git clone git://anongit.freedesktop.org/git/mesa/drm/to obtain the current sources. If you already have downloaded the repository update it viagit fetch ; git rebase origin. You can use this sequence to update all git repositories. - Now compile libdrm via :
* [[!format txt """./autogen.sh ; ./configure --enable-nouveau-experimental-api --prefix=/usr/; make ; make install """]]The
make installwould by default install to/usr/local/which may create problems when compiling xf86-video-nouveau, therefore we added--prefix=/usr/. This will overwrite the libdrm installed by your distribution. Note that libdrm might also be installed in/lib/(Ubuntu 10.04) or some place else in your distribution. In that case you have to use--libdir=/lib(or where your libdrm is installed) with the configure command. - Make sure, that neither DRM nor nvidia (binary version) kernel drivers are loaded. Use
lsmodandrmmod nvidiashould you still have it loaded. - Now insert the kernel modules. If you installed the modules,
modprobe nouveaushould be enough. If not, do* [[!format txt """insmod /path/to/drm.ko insmod /path/to/ttm.ko insmod /path/to/nouveau.ko """]]Using
insmod drm.ko debug=1would spam your syslog with some more messages, which could be useful for us. - Now edit your /etc/X11/xorg.conf to use the nouveau driver: Change in
Section "Device"the Driver line toDriver "nouveau"* The minimal xorg.conf file, which you should try, if you encounter any problems, is: [[!format txt """Section "Device" Identifier "n" Driver "nouveau" EndSection """]]
- leave directory drm and get the Xorg nouveau driver:
git clone git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau/ - Switch into xf86-video-nouveau and compile:
./autogen.sh ; makeand copy the nouveau_drv.so to the drivers directory of Xorg:cp src/.libs/nouveau_drv.so /usr/lib/xorg/modules/drivers - Now start Xorg and run for cover. If you used the the nvidia blob before, the X server may possibly not start because NVIDIA overwrites the X server's libglx.so with a proprietary libglx.so. If that happens, install the X server package from your distribution again to restore the original libglx.so and make a backup copy of it in case you install the blob again.
Troubleshooting
See TroubleShooting.
Uninstall Nouveau / Reinstall previous driver
The nouveau installation process involves updating the drm kernel module, adding a new kernel module (nouveau.ko) and a new X module (nouveau_drv.so).
The drm kernel module is needed to get new features still not merged in upstream kernels and it shouldn't be a problem when using the previous drivers you had installed, as neither nv nor nvidia use it. Do disable Nouveau KMS, if you used it.
The new nouveau.ko and nouveau_drv.so files don't overwrite any previous existing files, so you just need to rmmod the nouveau driver and restore your previous xorg.conf.
Libdrm installation will overwrite existing files. Libdrm Makefile should offer an uninstall command: make uninstall, after which you can reinstall the distribution packaged libdrm.
If you were previously using the free nv driver
Change your xorg.conf to use 'nv' as driver again and restart X.
If you were previously using the binary driver by nvidia
To get the binary driver back you edit xorg.conf and either copy NVIDIA's proprietary libglx.so back or run the installer again.
