nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   [Solved] Cannot rotate screen after driver upgrade (http://www.nvnews.net/vbulletin/showthread.php?t=185542)

Malvineous 06-30-12 10:42 PM

[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.

Malvineous 06-30-12 11:11 PM

Re: Cannot rotate screen after driver 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:

Code:

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!

happyfunbot 07-01-12 10:41 PM

Re: Cannot rotate screen after driver upgrade
 
Quote:

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!
Evidently when 304 comes out we'll be able to use RandR to do all of these transformations dynamically: the holy grail. I can't wait.

Malvineous 07-02-12 07:47 AM

Re: [Solved] Cannot rotate screen after driver upgrade
 
I think you can already do many of them dynamically - certainly I was able to do the rotation without restarting, but only when Xinerama was disabled. It was still a bit buggy too, in that rotating the screen made the mouse movement onto nearby screens unpredictable - didn't work in the top half of the screen but did in the bottom half, and moving off the bottom of the screen made the cursor jump back into the middle of it.


All times are GMT -5. The time now is 08:17 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.