Dual-Head ATI FireGL V3100 and FreeBSD
I finally had a chance to install FreeBSD on my work desktop today. I have been working on my FreeBSD laptop for the past 2 weeks or so and with the help of Win4BSD I can do everything I need.
Today after work I spent a little time trying to get a dual-head setup for my X desktop. I mean, it’s cute and all when one monitor clones the other one but it doesn’t really make good use of two 17″ flat panels and a dual-head video card. I went through a number of configs, changing this, adding or removing that, and nothing seemed to be working. I had some pretty strange setups from time to time where my desktop would be spread across both monitors, I could swing my mouse from one to the other, but I had two taskbars in Fluxbox and when I pulled up the right-click menu, it would display on both screens. At one point I also had the same setup I just mentioned but when I would move my mouse to the left monitor the mouse cursor disappeared and I had a big light blue square with which to use as a pointer… and it wouldn’t do anything. It wouldn’t pull up the right-click menu, move through the workspaces by clicking the numbers and arrows on the taskbar, nothing.
Right before I gave up and left for the weekend I found this article. Reading this guy’s work shows his level of frustration with the man pages for the different applications and drivers as well as the support he was receiving from the community. In the end, he got his setup working and I gave it a try also.
I made some minor changes to my existing xorg.conf and this is what I came up with:
# /etc/xorg.conf - 2006-09-29
Section "ServerLayout"
Identifier "X.org Configured"
Screen "Screen0" 0 0
Screen "Screen1" LeftOf "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/TTF/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection
Section "Module"
Load "extmod"
Load "glx"
Load "dri"
Load "dbe"
Load "record"
Load "xtrap"
Load "type1"
Load "freetype"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
#DisplaySize 340 270 # mm
Identifier "Monitor0"
VendorName "DEL"
ModelName "DELL E171FP"
HorizSync 30.0 - 80.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Card0"
Driver "ati"
VendorName "ATI Technologies Inc"
BoardName "RV370 5B64 [FireGL V3100 (PCIE)]"
BusID "PCI:5:0:0"
Option "MergedFB" "True"
Option "EnablePageFlip" "True"
Option "AGPMode" "4"
Option "AGPFastWrite" "True"
Option "MergedXineramaCRTIsScreen0" "True"
Option "CRT2Position" "LeftOf"
EndSection
Section "Device"
Identifier "Card1"
Driver "ati"
VendorName "ATI Technologies Inc"
BoardName "RV370 5B64 [FireGL V3100 (PCIE)]"
BusID "PCI:5:0:1"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
I saved my changes, fired off startx and was impressed when it worked the first time! I made some minor changes to my Fluxbox configuration to move the taskbar to the bottom left of the screen, changed the size of it, etc. and everything works as expected! Nice!
I am about to do an install on my desktop at home which is using the ATI Radeon X800. I will attempt to use the same config (minus device specific options and entries) and have a feeling, maybe I shouldn’t, that it will work like a champ. I’ll let you know how it goes.
Until next time…