As far as legal drivers go, nVidia has *no* support. ATis up to the X850 work great, though :)
My custom tailored dual-head X850 xorg.conf:
Section "Module" Load "dbe" # Double buffer extension Load "extmod" Load "type1" Load "speedo" Load "freetype" #Load "xtt" Load "glx" Load "dri" EndSection
Section "Files"
FontPath "/usr/share/fonts/misc/" FontPath "/usr/share/fonts/TTF/" #FontPath "/usr/share/fonts/OTF" FontPath "/usr/share/fonts/Type1/" FontPath "/usr/share/fonts/CID/" FontPath "/usr/share/fonts/100dpi/" FontPath "/usr/share/fonts/75dpi/" #FontPath "/usr/lib/X11/fonts/local/" #FontPath "/usr/lib/X11/fonts/misc/" #FontPath "/usr/lib/X11/fonts/75dpi/:unscaled" #FontPath "/usr/lib/X11/fonts/100dpi/:unscaled" #FontPath "/usr/lib/X11/fonts/Speedo/" #FontPath "/usr/lib/X11/fonts/Type1/" #FontPath "/usr/lib/X11/fonts/TrueType/" #FontPath "/usr/lib/X11/fonts/freefont/" #FontPath "/usr/lib/X11/fonts/75dpi/" #FontPath "/usr/lib/X11/fonts/100dpi/"
EndSection
Section "ServerFlags" # Uncomment this to cause a core dump at the spot where a signal is # received. This may leave the console in an unusable state, but may # provide a better stack trace in the core dump to aid in debugging #Option "NoTrapSignals"
# Uncomment this to disable the <Ctrl><Alt><Fn> VT switch sequence # (where n is 1 through 12). This allows clients to receive these key # events. #Option "DontVTSwitch"
# Uncomment this to disable the <Ctrl><Alt><BS> server abort sequence # This allows clients to receive this key event. Option "DontZap"
# Uncomment this to disable the <Ctrl><Alt><KP_+>/<KP_-> mode switching # sequences. This allows clients to receive these key events. #Option "Dont Zoom"
# Uncomment this to disable tuning with the xvidtune client. With # it the client can still run and fetch card and monitor attributes, # but it will not be allowed to change them. If it tries it will # receive a protocol error. #Option "DisableVidModeExtension"
# Uncomment this to enable the use of a non-local xvidtune client. #Option "AllowNonLocalXvidtune"
# Uncomment this to disable dynamically modifying the input device # (mouse and keyboard) settings. #Option "DisableModInDev"
# Uncomment this to enable the use of a non-local client to # change the keyboard or mouse settings (currently only xset). #Option "AllowNonLocalModInDev" EndSection
Section "InputDevice" Identifier "Keyboard" Driver "kbd"
Option "AutoRepeat" "500 30"
# Specify which keyboard LEDs can be user-controlled (eg, with xset(1)) #Option "Xleds" "1 2 3"
#Option "LeftAlt" "Meta" #Option "RightAlt" "ModeShift"
# To customise the XKB settings to suit your keyboard, modify the # lines below (which are the defaults). For example, for a non-U.S. # keyboard, you will probably want to use: # Option "XkbModel" "pc105" # If you have a US Microsoft Natural keyboard, you can use: # Option "XkbModel" "microsoft" # # Then to change the language, change the Layout setting. # For example, a german layout can be obtained with: # Option "XkbLayout" "de" # or: # Option "XkbLayout" "de" # Option "XkbVariant" "nodeadkeys" # # If you'd like to switch the positions of your capslock and # control keys, use: # Option "XkbOptions" "ctrl:swapcaps"
# These are the default XKB settings for Xorg # Option "XkbRules" "xorg" # Option "XkbModel" "pc105" # Option "XkbLayout" "us" # Option "XkbVariant" "" # Option "XkbOptions" ""
# Option "XkbDisable"
Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us" EndSection
# ********************************************************************** # Core Pointer's InputDevice section # **********************************************************************
Section "InputDevice" Identifier "Mouse" Driver "mouse" Option "Protocol" "Auto" Option "Device" "/dev/input/mice"
# When using XQUEUE, comment out the above two lines, and uncomment # the following line.
# Option "Protocol" "Xqueue"
# Mouse-speed setting for PS/2 mouse.
# Option "Resolution" "256"
# Baudrate and SampleRate are only for some Logitech mice. In # almost every case these lines should be omitted.
# Option "BaudRate" "9600" # Option "SampleRate" "150"
# Mouse wheel mapping. Default is to map vertical wheel to buttons 4 & 5, # horizontal wheel to buttons 6 & 7. Change if your mouse has more than # 3 buttons and you need to map the wheel to different button ids to avoid # conflicts.
Option "ZAxisMapping" "4 5 6 7"
# Emulate3Buttons is an option for 2-button mice # Emulate3Timeout is the timeout in milliseconds (default is 50ms)
# Option "Emulate3Buttons" # Option "Emulate3Timeout" "50"
# ChordMiddle is an option for some 3-button Logitech mice
# Option "ChordMiddle" EndSection
Section "Monitor" Identifier "MergedMonitor"
Option "DPMS"
# 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz Modeline "1680x1050" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 # 1680x1050 @ 75.00 Hz (GTF) hsync: 82.20 kHz; pclk: 188.07 MHz Modeline "1680x1050" 188.07 1680 1800 1984 2288 1050 1051 1054 1096 # 1680x1050 @ 85.00 Hz (GTF) hsync: 93.76 kHz; pclk: 214.51 MHz Modeline "1680x1050" 214.51 1680 1800 1984 2288 1050 1051 1054 1103 # 1680x1050 @ 100.00 Hz (GTF) hsync: 111.20 kHz; pclk: 256.20 MHz Modeline "1680x1050" 256.20 1680 1808 1992 2304 1050 1051 1054 1112
# this is what the monitor wants, but it looks uglier? #Modeline "LCD_1680x1050" 146.20 1680 1784 1960 2240 1050 1053 1059 1089 Modeline "lcd720x400" 28.13 720 752 856 888 400 408 413 421 Modeline "lcd832x624" 54.22 832 864 1064 1096 624 636 644 656 Modeline "lcd1152x870" 112.72 1152 1184 1608 1640 870 886 897 914 Modeline "lcd1280x1024" 156.43 1280 1312 1904 1936 1024 1043 1056 1076 #Modeline "lcd1680x1050" 170.00 1680 1712 2352 2384 1050 1071 1082 1103
Modeline "crt704x480i" 36.65 704 736 872 904 480 489 496 505 interlace Modeline "crt704x480" 74.24 704 736 1016 1048 480 487 498 505 Modeline "crt720x480i" 37.42 720 752 888 920 480 489 496 505 interlace Modeline "crt720x480" 75.79 720 752 1040 1072 480 487 498 505 Modeline "crt1024x768" 94.50 1024 1072 1168 1376 768 769 772 808 Modeline "crt1280x720i" 105.72 1280 1312 1712 1744 720 733 743 757 interlace Modeline "crt1280x720" 109.18 1280 1312 1720 1752 720 733 743 757 Modeline "crt1224x909@50" 75.14 1224 1256 1536 1568 909 928 936 955 Modeline "crt1224x909@60" 94.35 1224 1256 1608 1640 909 927 936 955 Modeline "crt1224x909@65" 104.63 1224 1256 1648 1680 909 927 937 955 Modeline "crt1304x978" 110.00 1304 1336 1752 1784 978 997 1007 1027 #dangerous? Modeline "crt1680x1050" 154.20 1680 1712 2296 2328 1050 1071 1081 1103 #bogus? Modeline "crt1920x1080i" 110.00 1920 1952 2368 2400 1080 1104 1111 1135 interlace #broken? Modeline "crt1440x1080i" 58.82 1440 1472 1688 1720 1080 1104 1110 1135 interlace #broken? Modeline "crt1920x1080i" 77.60 1920 1952 2240 2272 1080 1104 1110 1135 interlace Modeline "crt1440x1080" 108.82 1440 1472 1880 1912 1080 1103 1112 1135 EndSection
Section "Device" Identifier "Radeon X850 AGP" Driver "radeon"
Option "MergedFB" "true" #Option "CRT2Position" "RightOf -100" Option "CRT2Position" "LeftOf 100" #Option "MetaModes" "crt1224x909@65-1680x1050 1024x768-1680x1050 800x600-1680x1050 crt720x480-1680x1050 crt704x480-1680x1050 640x480-1680x1050 crt1224x909@65-1280x1024 1024x768-1280x1024 800x600-1280x1024 crt720x480-1280x1024 crt704x480-1280x1024 640x480-1280x1024 crt1224x909@65-1024x768 1024x768-1024x768 800x600-1024x768 crt720x480-1024x768 crt704x480-1024x768 640x480-1024x768 crt1224x909@65-800x600 1024x768-800x600 800x600-800x600 crt720x480-800x600 crt704x480-800x600 640x480-800x600 crt1224x909@65-640x480 1024x768-640x480 800x600-640x480 crt720x480-640x480 crt704x480-640x480 640x480-640x480 1680x1050 1280x1024 1024x768 crt1280x720 800x600 640x480" Option "MetaModes" "1680x1050-crt1224x909@65 1680x1050-1024x768 1680x1050-800x600 1680x1050-crt720x480 1680x1050-crt704x480 1680x1050-640x480 1280x1024-crt1224x909@65 1280x1024-1024x768 1280x1024-800x600 1280x1024-crt720x480 1280x1024-crt704x480 1280x1024-640x480 1024x768-crt1224x909@65 1024x768-1024x768 1024x768-800x600 1024x768-crt720x480 1024x768-crt704x480 1024x768-640x480 800x600-crt1224x909@65 800x600-1024x768 800x600-800x600 800x600-crt720x480 800x600-crt704x480 800x600-640x480 640x480-crt1224x909@65 640x480-1024x768 640x480-800x600 640x480-crt720x480 640x480-crt704x480 640x480-640x480 1680x1050 1280x1024 1024x768 crt1280x720 800x600 640x480"
Option "MergedNonRectangular" "true" #Option "MergedXineramaCRT2IsScreen0" "true" Option "MergedXineramaCRT2IsScreen0" "false" # SAMSUNG CRT ( left/CRT1/Xine1): # Refresh Rate: 50-160 Hz # HSync Rate: 30-71 kHz # PixClock max: 110 MHz # 312 x 234 mm / 12.28 x 9.21 in # at 1224x 909 is 98.67 x 98.70 PPI # at 1224x 913 is 98.67 x 99.13 PPI # at 1280x1024 is 104.23 x 111.18 PPI # at 1680x1050 is 136.81 x 114.01 PPI # SCEPTRE LCD 435x275mm (right/CRT2/Xine0): # Refresh Rate: 40-76 Hz # HSync Rate: 30-81 kHz # PixClock max: 170 MHz # 433 x 270 mm / 17.05 x 10.63 in # at 1680x1050 is 98.53 x 98.777 PPI Option "MergedDPI" "99 99"
#Option "AccelMethod" "EXA" # most stable Option "AccelMethod" "XAA" # fastest Option "EnablePageFlip" "1" Option "ColorTiling" "1"
Option "AGPMode" "4" Option "RenderAccel" "on" EndSection
Section "Screen" Identifier "MergedScreen" Device "Radeon X850 AGP" Monitor "MergedMonitor" DefaultDepth 24 EndSection
Section "ServerLayout" Identifier "My Layout"
# Each Screen line specifies a Screen section name, and optionally # the relative position of other screens. The four names after # primary screen name are the screens to the top, bottom, left and right # of the primary screen. In this example, screen 2 is located to the # right of screen 1.
Screen 0 "MergedScreen"
# Each InputDevice line specifies an InputDevice section name and # optionally some options to specify the way the device is to be # used. Those options include "CorePointer", "CoreKeyboard" and # "SendCoreEvents".
InputDevice "Mouse" "CorePointer" InputDevice "Keyboard" "CoreKeyboard" EndSection
Section "Extensions" Option "Composite" "Enable" Option "RENDER" "Enable" Option "XEVIE" "Enable" EndSection