You are not logged in.
Hi all,
I just upgraded all the packages on my system, but the latest nVidia driver removes the ability to set a static rotation on a given screen, in favour of the weird "metamodes" option I've never used.
This means that now it is impossible for me to rotate my screens into portrait mode, *unless* I run them at 1024x768 (!) instead of their native resolution. Does anyone know how you're supposed to rotate a single screen now?
I had everything set up as separate X screens and joined together with Xinerama, with one screen config looking like this:
Section "Device"
Identifier "G210b"
Driver "nvidia"
BusID "PCI:2:0:0"
Screen 1
Option "UseDisplayDevice" "DFP-1"
Option "AddARGBGLXVisuals" "true"
Option "UseEDIDDpi" "false"
Option "DPI" "96 x 96"
Option "Coolbits" "1"
Option "DynamicTwinView" "FALSE"
Option "NoDDC" "TRUE"
EndSection
Section "Monitor"
Identifier "Dell U2412"
VertRefresh 60
Option "dpms" "on"
# 1920x1200 @ 60.00 Hz (GTF) hsync: 74.46 kHz; pclk: 193.00 MHz
Modeline "1920x1200" 193.00 1920 2056 2256 2592 1200 1201 1204 1241 -HSync +Vsync
EndSection
Section "Screen"
Identifier "U2412"
Device "G210b"
Monitor "Dell U2412"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1200"
ViewPort 0 0
Virtual 1920 1200
EndSubsection
Option "Rotate" "left"
EndSectionThis worked perfectly until the upgrade. Here is what I have tried:
Adding Option "MetaModes" "DFP-1: 1920x1200 { Rotation=left }" to the Screen section. This fails because, according to the nVidia driver's output in Xorg.0.log, the screen resolution is outside the virtual area of the screen.
Setting Virtual 1200 1920 instead. No change.
Adding Option "MetaModes" "DFP-1: 1200x1920 { Rotation=left }" to the Screen section.
With Virtual set to both 1920 1200 and 1200 1920. Still doesn't work. The screen either comes up in landscape mode or says 'no signal' (and the nVidia driver says 'no valid modes found'.)
Adding Option "MetaModes" "DFP-1: nvidia-auto-select { Rotation=left }" to the Screen section
With Virtual 1920 1200 this also doesn't power up the monitor, as apparently no valid modes are available (even with autodetect?!)
With Virtual 1200 1920 *finally* gets the screen in portrait mode, but in 1024x768 instead of the screen's native 1920x1200.
What am I doing wrong?? I just want to rotate the screen! I tried using xrandr from the command line and it seemed to work so it must be possible, but unfortunately I had to disable Xinerama to run xrandr which meant I then couldn't move windows between monitors.
Last edited by Malvineous (2012-07-01 04:11:49)
Offline
Ok, well some more fiddling revealed the solution. It seems you shouldn't specify the Virtual area at all - everything should be left at the default. Here is the updated Screen section that works:
Section "Screen"
Identifier "U2412"
Device "G210b"
Monitor "Dell U2412"
Option "MetaModes" "DFP-1: nvidia-auto-select { Rotation=left }"
EndSectionLuckily this still works with Xinerama enabled (although that prevents xrandr from working) but with Xinerama on it means I can move windows between monitors, even the ones in portrait mode. Phew!
Offline
Thanks for sharing this. I got my portrait back also ![]()
Offline