How to compile an experimental X server

From ThinkWiki
Jump to: navigation, search

Some functions of the 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:

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).

Currently only the ATI radeon drivers and DRI driver (e.g., r300) are fetched and compiled. If you need different drivers, search for "radeon" "ati" and "r300" and modify as needed.

The script

build-experimental-X (download)


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:

  • $ xdriinfo
  • $ LIBGL_DEBUG=verbose glxinfo 2>&1 | less
  • $ glxgears
  • $ sudo less ~3d-pit/install/var/log/Xorg.0.log
  • $ ppracer
  • $ 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.