BSD DevCenter
oreilly.comSafari Books Online.Conferences.


FreeBSD Basics

Building an X Server and a Window Manager


This article should not be considered a substitute for the well-written, thorough instructions given in the FreeBSD Handbook starting at Chapter 12: The X Window System.

Instead, it's more of a field guide from someone who's built far too many X Servers and Windows Managers and has tried countless configuration combinations on a lot of video cards.

Building an X Server is not an exact science; there are a lot of video cards out there, and some build easier than others. You'll want to have a pencil and paper handy: If you luck out, you'll be able to record which combination of monitor, mode, and color depth worked for your video card. If the first combination doesn't work, you'll want to start systematically keeping track of what you've tried until you come across a combination that does. And if you're like me, you'll be glad you've written this down when you decide to change a working configuration to see if you can get just that little extra out of your video card.

To build an X Server, you'll need to have the XFree86 distribution installed. If you're not sure whether you installed this when you installed FreeBSD, try this:

cd /usr

In the resulting list, you should see a directory called X11R6, which should have a subdirectory called bin.

You also need to know the chipset of your video card. As root, run the SuperProbe utility to find out this information:

cd /usr/X11R6/bin

Which will return something like this:

SuperProbe Version 2.21 (12 October 1999)
  (c) Copyright 1993,1994 by David Wexelblat <>
  (c) Copyright 1994-1998 by The XFree86 Project, Inc
  This work is derived from the '' and
  '' documentation packages produced by 
  Finn Thoegersen, and released with all appropriate 
  permissions having been obtained.  Additional 
  information obtained from 'Programmer's Guide to 
  the EGA and VGA, 2nd ed', by Richard Ferraro, and 
  from manufacturer's data books
Bug reports are welcome, and should be sent to In particular, reports of 
chipsets that this program fails to correctly 
detect are appreciated. Before submitting a report,
please make sure that you have the latest version 
of SuperProbe (see

First video: Super-VGA
  Chipset: Trident GUI 9680 (PCI Probed)
  Memory:  1024 Kbytes
  RAMDAC:  Trident Built-In 15/16/24-bit DAC
           (with 6-bit wide lookup tables 
           (or in 6-bit mode))

Record your chipset information, as you need to know this to configure your X Server.

The memory information is useful in determining which color depth you will choose. Because I only have 1 MB of memory on this video card, I'm limited to 8 or 16 bits per pixel (bpp). If your video card has 2 or 4 MB, you should be able to use 24 bpp; you'll probably need 8 MB for 32 bpp.

I've had a few older video cards for which SuperProbe was unable to find information; this is not a good sign of an easy X Server build. There is a card option for Unsupported VGA compatible that will build with the standard VGA monitor, but it looks horrible.

If you are building X Server when you install FreeBSD, you can use Alt-F4 to receive a prompt so you can run SuperProbe. Once you've recorded your information, return to Alt-F1 to continue with the setup utility.

Lastly, if you will be using the graphical X Server configuration utility, it is easier to configure your mouse beforehand using /stand/sysinstall. Conversely, if you're using the non-graphical configuration utility, it is easier not to configure your mouse first.

Pages: 1, 2, 3

Next Pagearrow

Sponsored by: