Xorg configuration for nVidia
Xorg configuration for nVidia
xorg.conf and specific refresh rates
Getting my TV (Sony Bravia 46X3100) as well as my projector (Panasonic PT-AE2000) to properly support a resolution of 1920x1080 with all the refresh rates was a long process.
To get my nvidia video card to use a 1920x1080 resolution was easy. Creating a xorg configuration that would support all the TV’s supported refresh rates wasn’t.
I was particularly interested to get 50Hz as that’s what we use here in Australia and 24Hz so I could play my bluray rips (note to the copyright holders police freaks: I own those bluray disks, just want to watch them on my Linux PC)
By default, the nvidia drivers only allowed me to use 60Hz, even though the nvidia-settings software would clearly show 50Hz and 24Hz as being available. No matter what I did, the screen would stay at 60Hz. Playing 50Hz content on a screen set at 60Hz looks terrible : lots of judder.
The key to get to use specific ModeLine I had set, was to use those two options in xorg.conf and the Monitor section:
Option "ExactModeTimingsDVI" "True"
Option "UseEDIDFreqs" "False"
Note that this xorg.conf works for both my TV and my 1080p projector. So I’m guessing it will work for plenty of 1920x1080 devices.
Not all refresh rates are available however. For example, my Sony TV doesn’t support 1080/25p nor 1080/30p, while my projector can.
The xorg.conf given below will make the following rates available through xrandr:
#50 - "1920x1080@50"
#51 - "1920x1080@60"
#52 - "1920x1080@24"
#53 - "1920x1080@23.976"
#54 - "1920x1080@50i"
#55 - "1920x1080@60i"
#56 - "1920x1080@59.94"
#57 - "1920x1080@59.94i"
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "Module"
Load "glx"
Load "v4l"
EndSection
# To prevent tearing with VDPAU
Section "Extensions"
Option "Composite" "Disable"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 20.0 - 150.0
VertRefresh 24.0 - 90.0
Option "DPMS"
# 1920x1080p @ 50Hz (EIA/CEA-861B)
ModeLine "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
# 1920x1080p @ 60Hz (EIA/CEA-861B)
ModeLine "1920x1080@60" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
# 1920x1080p @ 24Hz (EIA/CEA-861B)
ModeLine "1920x1080@24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
# 1920x1080p @ 23.976Hz (EIA/CEA-861B)
ModeLine "1920x1080@23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
# 1920x1080i @ 50Hz (EIA/CEA-861B)
Modeline "1920x1080@50i" 74.250 1920 2448 2492 2640 1080 1085 1095 1125 +hsync +vsync Interlace
# 1920x1080i @ 60Hz (EIA/CEA-861B)
Modeline "1920x1080@60i" 74.250 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace
# 1920x1080p @ 59.94Hz (EIA/CEA-861B)
ModeLine "1920x1080@59.94" 148.350 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
# 1920x1080i @ 59.94Hz (EIA/CEA-861B)
Modeline "1920x1080@59.94i" 74.175 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace
# 1920x1080p @ 25Hz (EIA/CEA-861B)
ModeLine "1920x1080@25" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
# 1920x1080p @ 29.97Hz (EIA/CEA-861B)
ModeLine "1920x1080@29.97" 74.175 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
# 1920x1080p @ 30Hz (EIA/CEA-861B)
ModeLine "1920x1080@30" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsyn
Option "ExactModeTimingsDVI" "True"
Option "UseEDIDFreqs" "False"
EndSection
Section "Device"
Identifier "Generic Video Card"
Driver "nvidia"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 24
Option "UseEvents" "True"
Option "TripleBuffer" "True"
Option "AllowGLXWithComposite" "True"
Option "AddARGBVisuals" "True"
Option "AddARGBGLXVisuals" "True"
Option "NoLogo" "False"
Option "RenderAccel" "True"
Option "DPI" "100 x 100"
# Option "DynamicTwinView" "False"
SubSection "Display"
Depth 24
Modes "1920x1080@50" "1920x1080@60" "1920x1080@24" "1920x1080@23.976" "1920x1080@50i" "1920x1080@60i" "1920x1080@59.94" "1920x1080@59.94i" "1920x1080@25" "1920x1080@29.97" "1920x1080@30"
EndSubSection
EndSection
Friday, 5 September 2008