I’ve been on a man-hunt lately to evict all ATI cards from my machines. ATI may make good cards — I won’t argue that — but their support for Linux is pathetic.
I replaced my old ATI Radeon x1650 with an Asus NVidia 9600 GT Silent. Asus’ Silent version of this card takes up two slots, the second being for its massive heatsink. The card uses no fans, only an enormous heatsink. Naturally, it is completely silent, but performs like a champion.
To drive my dual 24″ monitors, I set up my Xorg to use NVidia’s Twinview. I’ve read (and (disclaimer) this may be incorrect) that Twinview is a similar technology to Xinerama, with the difference being that Twinview presents a single display to Xorg encompassing both displays while Xinerama runs a separate Xorg on each display with some hacks to allow windows to be dragged back and forth, etc. (If anyone can elaborate or clarify here, please chime in.)
Anyhow, this tends to confuse some applications into thinking that there is only one display, and that it is only capable of one resolution. Whether this is full screen Youtube, mplayer, or a video game, it is quite a nuisance.
After some searching, I discovered that adding a “metamodes” option under my Screen section in xorg.conf could allow applications to think other resolutions were supported. Here is my xorg.conf:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Option "OffTime" "10"
EndSection
Section "Files"
FontPath "unix/:7100"
ModulePath "/usr/local/lib/xorg/modules"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/100dpi:unscaled"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
Load "kbd"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
EndSection
Section "ServerFlags"
Option "Xinerama" "0"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DELL 2407WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9600 GT"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "metamodes" "DFP-0: nvidia-auto-select +1920+0, DFP-1: 1920x1200 +0+0; DFP-0: 1600x1200 +0+0,NULL; DFP-0: 1280x1024 +0+0,NULL; DFP-0: 1024x768 +0+0,NULL; DFP-0: 800x600 +0+0,NULL;"
SubSection "Display"
Depth 24
ViewPort 0 0
EndSubSection
EndSection
If I remember correctly, the metamodes option was created by the nvidia-settings utility, but only contained the string, “DFP-0: nvidia-auto-select +1920+0″. I added the rest. The display specified (DFP-1) seems arbitrary, as do the coordinates. So just add something similar, replacing the resolutions as appropriate.
Hope this helps others who encounter similar issues, as I had a very difficult time finding anything useful on this matter.