View Single Post
Old 06-30-12, 10:42 PM   #1
Malvineous
Registered User
 
Join Date: Sep 2006
Posts: 17
Default [Solved] Cannot rotate screen after driver upgrade

Hi all,

I just upgraded all the packages on my system which included the kernel and nVidia driver, but the latest driver removes the ability to set a static rotation on a given X 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 have four screens across two nVidia cards, and two screens (one on each card) should be in portrait mode.

I had everything set up as separate X screens and joined together with Xinerama and it worked really well. I don't really care whether I use Xinerama, TwinView, or whatever, as long as I can rotate the panels and move windows between monitors. One of my screen configs looks like this:

Code:
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"
EndSection
This 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; 06-30-12 at 11:11 PM. Reason: Mark problem solved
Malvineous is offline   Reply With Quote