How to compile an experimental X server
Some functions of the X.org server, such as 3D acceleration for newer cards, are under constant developments. To test the latest features, you need to build the X server and related software directly from the developers' CVS and GIT repositories. Since several projects and dozens of sub-projects are involved, this is a complicated task.
The following script automates fetching, compilation and installation of the following:
- Modular X.org server+libraries from GIT (see http://wiki.x.org/wiki/ModularDevelopersGuide and http://wiki.x.org/wiki/GitPage)
- libDRM and DRM kernel modules from GIT (see http://dri.freedesktop.org/wiki/Building)
- Mesa libraries and DRI drivers from CVS (see http://www.mesa3d.org/install.html and http://www.mesa3d.org/cvs_access.html)
- X keyboard configuration database from CVS (see http://www.freedesktop.org/wiki/Software_2fXKeyboardConfig)
- Synaptics touchpad driver from GIT (see http://web.telia.com/~u89404340/touchpad)
By default all compilation happens in ~/3d-pit and everything is installed into ~/3d-pit/install. The built DRM kernel module is installed to /lib/modules/.... No other paths are touched (but run as a non-root user, just in case).
To save time not all X libraries are built, so you'll need the usual X development environment packages installed (see above links).
Just run the above. If prompted for a CVS password, press Enter. There are two sudo invocations for which you may need to provide a password.
Prepare a config file called (say) /etc/X11/xorg.dri-test.conf with DRI enabled.
Then, exit your current X server (e.g., via
# init 3) and run this for a full session with the new X server:
$ . ~/3d-pit/install/bin/xsetenv; startx -- ~/3d-pit/install/bin/X -config xorg.dri-test.conf :0 >& xout.log
For a minimal test session, try something like this instead:
$ . ~/3d-pit/install/bin/xsetenv; X -config xorg.dri-test.conf :0 >& xout.log & ( export DISPLAY=:0; sleep 3; kwin& xterm& )
Some things to do now:
$ LIBGL_DEBUG=verbose glxinfo 2>&1 | less
$ sudo less ~3d-pit/install/var/log/Xorg.0.log
$ googleearth(Linux version here)
To keep up with the latest CVS and GIT versions, just run the script again. You don't need to (and shouldn't) delete ~/3d-pit beforehand.
If you encounter problems, please file bugs on the Freedesktop Bugzilla.