You will need to have installed the latest version of XFree (currently 4.0.0), from the May CD or www.xfree86.org. You will also need at least two supported video cards and, obviously, two monitors to go with them. Note that the Matrox G400 dual-head is not currently supported in Multihead: only one output will be used on this card. You will also need to know the hardware addresses of each card (each card's irq).
A good start to getting Multihead working under X is to generate a configuration file using the "xf86config" utility provided with X. This should save a configuration file called XF86Config in /etc/X11 and it is this file that you will need to edit.
Once you have opened /etc/X11/XF86Config in your favourite text editor, you can skip to the section starting with "Section "Monitor"". It is here that each monitor is configured. If both your monitors are the same, you need not worry about this. If, however, they are different, I would advise you to copy this section entirely, giving the second section a different Identifier tag and entering the relevant information about your second monitor.
Next, you will need to add another device for your second video card. To do so, skip forward to the section starting with "Section "Device"". Once again, you will need to copy this section for each card in your system. Each card has its own driver and you will need to look up the driver for your second card from www.xfree86.org/4.0/manindex4.html. You will also need to specify the amount of VideoRam for each card and its BusID. The BusID is simply the hardware address of the card in question and is in the format "PCI:bus: device(irq):function". Note that PCI changes to AGP (accelerated graphics port) for an AGP card.
The relevant bus/device/function numbers can be found by looking at /proc/pci and are listed in a similar format.
Once you have done this you will need to skip further ahead to "Section "Screen"". You will again need to copy the entire section, giving the second a unique identifier and changing any resolutions to suit your second monitor's needs.
Please note that Multihead requires that both screens run with the same colour depth; however, resolutions on each screen can be different. The second screen section will also have to refer to your second device's identifier, not the first.
The final section in XF86Config is the ServerLayout. Here, you define where each of your screens is located on your desktop.
The final part of using Multihead under X is to actually start X. You will need to add "+xinerama" to your X startup line to start xinerama, otherwise, your desktop will not stretch. For example, I start X using "startx +xinerama". It is also possible to add this to your XDM configuration if you use XDM.