Building an X Server and a Window Manager
06/21/2000This 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
ls
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
./SuperProbe
Which will return something like this:
SuperProbe Version 2.21 (12 October 1999)
(c) Copyright 1993,1994 by David Wexelblat <dwex@xfree86.org>
(c) Copyright 1994-1998 by The XFree86 Project, Inc
This work is derived from the 'vgadoc2.zip' and
'vgadoc3.zip' 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
XFree86@XFree86.org. 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 http://www.xfree86.org/FAQ).
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.
