You are not logged in.

#1 2012-07-01 03:42:50

Malvineous
Member
From: Brisbane, Australia
Registered: 2011-02-03
Posts: 195
Website

[Solved] Cannot rotate screen after nvidia upgrade

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"
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 (2012-07-01 04:11:49)

Offline

#2 2012-07-01 04:11:16

Malvineous
Member
From: Brisbane, Australia
Registered: 2011-02-03
Posts: 195
Website

Re: [Solved] Cannot rotate screen after nvidia upgrade

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 }"
EndSection

Luckily 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

#3 2012-07-02 17:10:41

Hermano Arco
Member
Registered: 2009-08-19
Posts: 10

Re: [Solved] Cannot rotate screen after nvidia upgrade

Thanks for sharing this. I got my portrait back also smile

Offline

Board footer

Powered by FluxBB