Matrox Multihead on FreeBSD With Xorg 7.3 Updated November 13, 2008, Warren Block (wblock@wonkity.com) Multihead on FreeBSD with Matrox G450/G550 cards stopped working with recent versions of Xorg. Fortunately, that can be fixed. IMPORTANT: the xf86-video-mga driver in FreeBSD ports was "backrevved" to 1.4.7 on January 2, 2008. That older version supports modelines in xorg.conf (a feature needed by some), but does not provide multihead or any xrandr-1.2 features. If you're already using 1.9.100, you can use portupgrade's "-x" flag to keep portupgrade from messing with it. It may be prudent to make a backup copy of the port directory in case of future changes. If you weren't paying attention and now have 1.4.7, use ports-mgmt/portdowngrade to go back to 1.9.100. For example: portdowngrade -s freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs xf86-video-mga Software And Hardware Requirements FreeBSD i386 6.x (tested on 6-STABLE as of June 15, 2008) FreeBSD i386 7.x (tested on 7.1-PRERELEASE as of November 13, 2008) Matrox G450 or G550 multihead card (G450 AGP and G550 AGP tested) FreeBSD ports: /usr/ports/x11-servers/xorg-server versions 1.4_1,1, 1.4_2,1, 1.4_3,1, 1.4_4,1, 1.4_5,1, 1.4_6,1, 1.4_7,1, 1.4_8,1, 1.4_10,1, 1.4.2,1 /usr/ports/x11-drivers/xf86-video-mga versions 1.9.99, 1.9.100 1. Patch xorg-server: # cd usr/ports/x11-servers/xorg-server/files # fetch 'http://www.wonkity.com/~wblock/mgapatch/patch-Pci.c-WB' # less patch-Pci.c-WB (read it to see what it does) # cd /usr/ports/x11-servers/xorg-server/ # make clean deinstall install 2. Update your xorg.conf to use xrandr features: Example xorg.conf file at http://www.wonkity.com/~wblock/mgapatch/xorg.conf It's mostly like an xorg.conf for only one monitor, but defines a large Virtual screen in the Screen section. Each Monitor section has an Option "Position" "x y" that defines the position of the monitor on the large virtual screen. The Device section lets you specify which monitor goes with which output. The example has Monitor1 to the left of Monitor0. The 1.9.100 version of the mga driver doesn't yet support a hardware cursor, so that is disabled in the Device section: Option "HWcursor" "off" 3. Notes My AGP versions of the G450 work, and the AGP G550 has been reported to work. Probably the rare PCI version of either card should work, and maybe the rare and expensive four-head PCI Matrox cards. Please let me know if you test any of these other cards (or have them sitting in a box somewhere and would like to share). The patch has been reported to allow a single-head G400 to run xorg-server, which would not start without it. The second head on G400 cards equipped with one isn't yet supported by the mga drivers. When Xorg on FreeBSD starts to use libpciaccess, this patch will be obsolete. You will have to delete it from the xorg-server files directory before building the newer version of the port: # cd usr/ports/x11-servers/xorg-server/files # rm patch-Pci.c-WB