English/Español/Deutsch/Français
Packages and special Instructions for
Exherbo Gentoo openSUSE Ubuntu <- up-to-date | needs-updating -> Debian sid Fedora
Introduction
If you use one of the distributions listed above, check if the packages there are recent and try them. Nouveau packages and the instructions here currently only provide accelerated 2D rendering using EXA (provides RENDER acceleration), Randr 1.2 for dual-head and dynamic monitor configuration, and accelerated Xvideo.
3D rendering would be software rendering only with these instructions and packages. Pure Hardware 3D has already been demoed on specific cards, but it may crash even X itself with some applications and needs a very specific configration to work, so it does not make much sense to provide instructions for non-developers here.
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 (Debian users, note these tips; Ubuntu users, note these tips):
Install Xorg 7.4 or better (this means version 1.5 or better of xorg-server) - 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 via git fetch ; git rebase origin. You can use this sequence to update all git repositories.
Now compile libdrm via (Ubuntu users, read this first):
./autogen.sh ; ./configure --enable-nouveau-experimental-api --prefix=/usr/; make ; make install
The make install would 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.
Make sure, that neither DRM nor nvidia (binary version) kernel drivers are loaded. Use lsmod and rmmod nvidia should you still have it loaded.
Now insert the kernel modules. If you installed the modules, modprobe nouveau should be enough. If not, do
insmod /path/to/drm.ko insmod /path/to/ttm.ko insmod /path/to/nouveau.ko
Using insmod drm.ko debug=1 would 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 to Driver "nouveau"
- The minimal xorg.conf file, which you should try, if you encounter any problems, is:
Section "Device" Identifier "n" Driver "nouveau" EndSection
- The minimal xorg.conf file, which you should try, if you encounter any problems, is:
- 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 ; make and 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.
3D: It's working for some developers (with some games) on NV40 (Geforce 6, 7, 6xxx, 7xxx and G7x), the developers are working on getting NV10 and NV30 to work as well. Look for the latest Nouveau Companion on http://phoronix.com or on our IrcChatLogs page for the latest info. If you are willing to try our Gallium driver, look for the GalliumHowto. Please note: This is unsupported by us, if things break for you: though luck, but don't come crying. Even if some OpenGL games may work for you, they will sooner or later crash due to memory problems, as we are not using TTM yet.
Troubleshooting
If you have problems, please check the Troubleshooting section in our FAQ first. Currently we can help you only with 2D and related problems, not with 3D. If you chose to install the Gallium driver you are on your own!
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.
HackingNouveau
After trying all that if you want to try and help the development effort further see HackingNouveau

