GalliumHowto

Warning : Nouveau's developers don't want people to build gallium drivers now, and do not support it at all.

They also don't want bug reports on gallium ATM.

This is code in rapid development. Bug reports for this are useless, as it's known to be broken.

However, if you notice a regression within the gallium branch, it is useful if you 'git bisect' the problem, find the commit which broke it and mail a report to the developer who committed the change. Usually, the regression will then be fixed on very short notice in the git tree.

Please note: This is unsupported by the developers, if things break for you: tough luck, but don't come crying. Even if some OpenGL games may work for you, but it is possible that they crash sooner or later. Some applications may crash X itself and/or hang the GPU. In short, to try this stuff, you should know what you are doing.

If the GPU hangs, there are two ways to reset it:

If you want to fix a crash, use gdb to debug the issue and submit a fix, bug reports are not helpful at the moment as the developers know pretty much what is not working.

Gallium3D and git xservers

Gallium3D is using the old DRI Interface which is used up to Xorg 1.4. Xserver 1.5 can use both interface but this must be enable during the build phase. If you encounter issue with Xserver 1.5 like black screen when running OpenGL apps, you can try to add

Section "ServerFlags"
...
Option "GlxVisuals" "all"
...
EndSection

in xorg.conf.

Building Gallium3D's nouveau_dri.so

(Tips for Ubuntu users)

If you have trouble compiling gallium's nouveau_dri.so, do not ask the nouveau developers for help, you will be ignored because this code is only for people which know how to follow these instructions. Some pre-built nouveau packages for e.g. Linux distributions may include the nouveau gallium driver already, ask e.g. the makers of those if you have a problem compiling the nouveau gallium driver.

First, clone mesa git (this downloads quite some data and may take a while):

git clone git://anongit.freedesktop.org/git/mesa/mesa
cd mesa/

Be sure that your PKG_CONFIG_PATH is exported correctly (see InstallNouveau) in case you didn't install the libdrm it into the system itself. Then, run:

./autogen.sh
./configure --enable-debug --enable-glx-tls --disable-asm --with-dri-drivers= --enable-gallium-nouveau --disable-gallium-intel --disable-gallium-radeon --disable-gallium-svga --with-state-trackers=glx,dri --with-demos=xdemos,demos,trivial,tests
gmake

It's not recommended to install this library, but you can test if it works by setting LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to /path/to/mesa/lib. Here is an example with Openarena:

LD_LIBRARY_PATH="/path/to/mesa/lib" LIBGL_DRIVERS_PATH="/path/to/mesa/lib/gallium" openarena

You may want sometimes to update your git repo :

git pull origin