Main
News
FAQ
Install
Troubleshooting
Files/PRs
Benchmarks
Known Problems

This page is not intended to replace the install page in any way. It is only some basic instructions for those adventurous enough to install CVS on top of the ports XFree86. Be sure to read that page and the FAQ first.

There are many ways to get XFree86 on FreeBSD. Most people are familiar with X from FreeBSD's ports. There is also XFree86.org's CVS. Another is DRI CVS from sourceforge, which has several branches of development. There is also the GATOS tree, which provides extra features for ATI chipsets (TV-in and -out), but I won't talk about that one because I don't use it.

Before you experiment with XFree86 CVS or DRI CVS, you should really install the XFree86-4 port from the ports system. Get it configured and get DRI working once, so you can have something to compare to if things go wrong.

Also remember that you can go back to your old XFree86 from ports if you want to. Executing make -DFORCE_PKG_REGISTER reinstall in the XFree86-4-Server directory will reinstall the server, which will replace most of DRI CVS. If you've overwritten more, you can use portupgrade -Rf XFree86 to reinstall all of your XFree86 and the things it depends on. If you just want to get some of the latest DRI CVS features without a lot of work, the dri-devel port installs a snapshot of DRI CVS which has worked for me in the past, and includes r200 support. Otherwise: The make targets for XFree86 are slightly different than those of other projects you may know:

  • make World, which remakes the makefiles, cleans object files, and rebuilds the tree. Like make buildworld in FreeBSD.
  • make Everything, which remakes the makefiles and rebuilds the tree. Like make -DNOCLEAN buildworld.
  • make, a plain make that doesn't take in configuration changes.
  • make install, like make installworld.

Configuration options are set by xc/config/cf/host.def. There is a template for this file at xc/config/cf/xf86site.def. DRI CVS comes with a host.def that work pretty by default. You may want to set some things in this file, such as what cards to make drivers for, or what libraries to install (if you don't want to overwrite freetype2 from ports, for example).

To check out XFree86 CVS:
cvs -d:pserver:anoncvs@anoncvs2.xfree86.org/cvs login
(Enter "anoncvs" for the password. You only need to run this command once.)
cvs -d:pserver:anoncvs@anoncvs2.xfree86.org/cvs -z3 co xc

To check out DRI CVS, use the cvs commands below. Do not check it out over the top of an existing XFree86 tree, it will only bring you pain.
cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/dri login
(Press Enter for the password. You only need to run this command once.)
cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/dri -z3 co xc
If you wanted to check out one of the branches of DRI CVS (like r200-0-1-branch), use a line like the one below:
cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/dri -z3 co -rr200-0-1-branch xc
2003-02-1: I haven't used DRI CVS with 4.2.x for a long time, and it may cause problems. XFree86 CVS has almost everything from DRI CVS merged, so I would recommend using it

If you are using either CVS, you will want to use the CVS DRM modules After installing the new from CVS, uninstall drm-kmod and reboot to unload the modules (unloading them may cause panics depending on your version of FreeBSD -- fixed in DRI CVS). cd to xc/programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel and execute make -f Makefile.bsd all install, which should make the modules for your kernel and install it to your kernel's module directory (meaning it will be erased when you install a new kernel).