LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Desktop (http://www.linuxquestions.org/questions/linux-desktop-74/)
-   -   rotating display with nouveau (http://www.linuxquestions.org/questions/linux-desktop-74/rotating-display-with-nouveau-889047/)

Skaperen 06-29-2011 04:50 PM

rotating display with nouveau
 
My NEC MultiSync EA241WM LCD monitor can be rotated 90 degrees, making the display effectively 1200 wide by 1920 high. However, it does not change the EDID data to describe this. The end result is the video comes up with the 90 degree rotation. BTW, this was done with everything completely powered down, just to be sure it wasn't just a case of a change that cannot be applied while up and running.

So, the next option seems to be to just force the 90 degree rotation in the video card and/or X server. I'm using the nouveau video driver with an NVIDIA chip and/or video card (depending on which computer at the moment), under (for now) Slackware64 13.37. Is there any configuration that can be used by this to do the rotation (counterclockwise since the monitor rotated clockwise) so I can have a 1200x1920?

MTK358 06-29-2011 08:17 PM

First, see what the name of the monitor is, for example:

Code:

$ xrandr
Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 8192 x 8192
DVI-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
  1280x1024      60.0*+  75.0 
  1280x960      60.0 
  1152x864      75.0 
  1024x768      75.1    70.1    60.0 
  832x624        74.6 
  800x600        72.2    75.0    60.3    56.2 
  640x480        72.8    75.0    66.7    60.0 
  720x400        70.1 
DIN disconnected (normal left inverted right x axis y axis)
DVI-1 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
  1280x1024      75.0 +  60.0*
  1024x768      75.1    70.1    60.0 
  832x624        74.6 
  800x600        72.2    75.0    60.3    56.2 
  640x480        72.8    75.0    66.7    60.0 
  720x400

(Note that I have two monitors connected here)

Then, rotate the monitor (using the primary monitor from the above example):

Code:

xrandr --output DVI-0 --rotate right # you can also use "left"
Note that this won't stay after you restart X. If you start X using the startx command, then put the xrandr command in the "~/.xinitrc" scrpit. But if you don't, then I can't help.

Skaperen 06-29-2011 09:03 PM

Quote:

Originally Posted by MTK358 (Post 4399676)
First, see what the name of the monitor is, for example:

Code:

$ xrandr
Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 8192 x 8192
DVI-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
  1280x1024      60.0*+  75.0 
  1280x960      60.0 
  1152x864      75.0 
  1024x768      75.1    70.1    60.0 
  832x624        74.6 
  800x600        72.2    75.0    60.3    56.2 
  640x480        72.8    75.0    66.7    60.0 
  720x400        70.1 
DIN disconnected (normal left inverted right x axis y axis)
DVI-1 connected 1280x1024+1280+0 (normal left inverted right x axis y axis) 338mm x 270mm
  1280x1024      75.0 +  60.0*
  1024x768      75.1    70.1    60.0 
  832x624        74.6 
  800x600        72.2    75.0    60.3    56.2 
  640x480        72.8    75.0    66.7    60.0 
  720x400

(Note that I have two monitors connected here)

Then, rotate the monitor (using the primary monitor from the above example):

Code:

xrandr --output DVI-0 --rotate right # you can also use "left"

Quote:

Originally Posted by MTK358 (Post 4399676)
Thanks. I'll give this a try.

Note that this won't stay after you restart X. If you start X using the startx command, then put the xrandr command in the "~/.xinitrc" scrpit. But if you don't, then I can't help.

Maybe I can put it in the KDM config somewhere since I want it rotated at login prompt, too.

Skaperen 06-29-2011 09:41 PM

It didn't work. But the failure mode is that some logic in the display mechanism didn't get set up properly, and the display was all smeared at the pixel level. It looked like the display buffer geometry was changed from 1920x1200 to 1200x1920, but the pixel position transformations (e.g. rotation) are not taking place. Even though the pixels are smeared, I can see that things on the top of the screen are still on top, and things on the bottom are still on the bottom. Left and right can't easily be seen because all the smearing is in that direction. So either this NVIDIA chip (6150 SE ... a very low end) can't do it, or the driver can't do it ... and something was misreported as capable when it is not, leading to X thinking it was rotated.

Skaperen 06-29-2011 09:48 PM

If they were to do this right, and have the monitor detect the physical rotation had taken place, and change it's EDID geometry info accordingly, and do the pixel position transformations as part of the LCD scanout by swapping the X and Y grid sweeps, then it would just be a matter of changing the geometry, but not the scanout order, to accomplish this. If the EDID change was automatically detected, it should just work everywhere. And it would also work in text mode (xrandr doesn't do this, and if I rotate the monitor, I'd want text mode rotated, too).

JZL240I-U 06-30-2011 02:16 AM

Maybe you can find some hint for what you want in this thread:
http://www.linuxquestions.org/questi...712/page2.html

HTH.

Skaperen 06-30-2011 06:20 AM

Quote:

Originally Posted by JZL240I-U (Post 4399934)
Maybe you can find some hint for what you want in this thread:
http://www.linuxquestions.org/questi...712/page2.html

HTH.

Thanks. I'll try the other programs they mention. Hopefully it was just a "software failure to do it" issue than a "hardware cannot do it" issue. But this is a low end budget Nvidia chip, so it might not be able.

pupok 06-30-2011 02:29 PM

My experience with rotating monitor
 
I have EIZO S2233W monitor, NVidia 6200 graphics card, OS slackware32 13.37, nouveau driver. No USB between PC and monitor.
AFAIK this monitor needs to be USB connected to a PC with _Windows_ utility installed, _Windows_ operating system is then instantly aware of rotating. I suppose EIZO needs this USB connection, through DVI it passes still the same EDID to OS. Don't know how NEC's dealing with rotating in it's FW.

Nevertheless, under slack I rotated the monitor 90 deg. - physically. Nothing happened to screen. Then rotated (manualy) SW-like with KRandrTray. This made it how it was supposed to. Made it while I was logged in a KDE user session.


All times are GMT -5. The time now is 10:38 AM.