Wednesday, November 09, 2005

xorg.conf file for Dual Headed Linux With NVIDIA FX5200

I recently purchased a Syntax 26" LT26HVX HDTV for use as my main TV viewing monitor. I bought the Syntax for its good performance, low price, and good variety of input connectors. Right now I have it hooked up via VGA to my MythTV PC, s-video to my TiVo, s-video to my DVD player, co-axial to my regular analog TV, and I will be connecting a digital Comcast box to either the DVI port, or one of the component inputs.


It was troublesome, to say the least, getting the TV hooked up to my MythTV PC's video card (a Chaintech Geforce FX5200 AGPx4). First, its resolution is an odd 1366x768, which my NVIDIA driver does not like (1366 is not an even multiple of 8), and apparently the DVI connection is reporting the wrong maximum resolution, so I ended up attaching the VGA output of my video card to the TV and the DVI output to my Dell 2005FPW (1680x1050) LCD monitor; which is fine. And I ended up driving the TV at 1360x768, which is fine: I'm not going to scream about 6 pixels, and it really does look great.


Then there were the complications of getting two screens at once. And once everything was working, there was the realization that the system was not up to the task of displaying full screen video on the TV while doing anything, and I do mean anything, on the Dell. I may have to spring for a sprightlier video card. I had gotten the FX5200 because it was fanless and could handle my original single-headed system.


Regardless, it was quite a bit of work getting it to work, so I'm sharing my /etc/X11/xorg.conf file which works on my system (Fedora Core 4), and may be helpful to you. This all presupposes that you have a working NVIDIA driver installed (which is another big can of worms).


# Xorg configuration created by system-config-display

Section "ServerLayout"
Identifier "dual head configuration"
Screen 0 "Screen0" RightOf "Screen1"
Screen 1 "Screen1" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
EndSection

Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules/extensions/nvidia"
ModulePath "/usr/X11R6/lib/modules/extensions"
ModulePath "/usr/X11R6/lib/modules"
FontPath "unix/:7100"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "fbdevhw"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
Load "v4l"
Load "dri"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "yes"
EndSection

Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Device" "/dev/lircm"
Option "Protocol" "IMPS/2"
Option "SendCoreEvents"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
EndSection

Section "Modes"

# 1680x1050 @ 60 Hz
# Horizontal pixels
# Front porch: 104 Back porch: 280 Sync width: 176
# Sync polarity: - Scan rate: 65.29kHz Active pixels: 1680
# Vertical lines:
# Front porch: 3 Back porch: 30 Sync width: 6
# Sync polarity + Refresh rate 59.954Hz Active pixels: 1050
# Pixel clock: 146.25MHz
# Pixel clock digital: 119 MHz
Identifier "16:10"
Modeline "digital:1680x1050@60" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -hsync +vsync
Modeline "1680x1050@60" 154.20 1680 1712 2296 2328 1050 1071 1081 1103
ModeLine "analog:1680x1050" 146.2 1680 1960 2136 2240 1050 1080 1086 1089 -hsync +vsync
Modeline "1360x768@60" 84.50 1360 1392 1712 1744 768 783 791 807
EndSection

Section "Modes"
Identifier "HDTV"
Modeline "1360x768@60" 84.50 1360 1392 1712 1744 768 783 791 807
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Dell"
ModelName "DELL 2005FPW"
UseModes "16:10"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
Option "dpms"
Option "XVideoBlitterSyncToVBlank" "0"
Option "XVideoTextureSyncToVBlank" "0"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Syntax"
ModelName "Olevia 26 HVX"
UseModes "HDTV"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
Option "dpms"
Option "XVideoBlitterSyncToVBlank" "0"
Option "XVideoTextureSyncToVBlank" "0"

EndSection

Section "Device"
Identifier "Videocard0"
Driver "nvidia"
Option "ConnectedMonitor" "DLP"
VendorName "Videocard vendor"
Option "ExactModeTimingsDVI" "True"
BoardName "NVIDIA GeForce FX (generic)"
BusID "PCI:1:0:0"
Option "ConnectedMonitor" "DFP, CRT"
Option "IgnoreEDID" "1"
Screen 0
EndSection

Section "Device"
Identifier "Videocard1"
Driver "nvidia"
VendorName "Videocard vendor"
BusID "PCI:1:0:0"
Option "ConnectedMonitor" "DFP, CRT"
BoardName "NVIDIA GeForce FX (generic)"
Option "ConnectedMonitor" "CRT"
Option "IgnoreEDID" "1"
Screen 1
EndSection


Section "Screen"
Identifier "Screen1"
Device "Videocard1"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 16
Modes "digital:1680x1050@60" "1280x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "digital:1680x1050@60" "1280x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 16
Modes "1360x768@60" "800x600" "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1360x768@60" "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "DRI"
Group 0
Mode 0666
EndSection