On a PC with an Atom N2600 processor and an integrated Poulsbo gpu, rotation using xrandr causes the screen to go blank. It actually seems to work, the system does not crash, just the screen goes blank, and when setting it back to normal rotation, it comes back to display. Setting rotation to inverted has no effect at all. The rotation produces some output in Xorg.0.log: [ 220.740] (II) modesetting(0): Allocate new frame buffer 1024x768 stride [ 225.507] (II) modesetting(0): Allocate new frame buffer 768x1024 stride
Created attachment 90551 [details] Xorg log
Created attachment 90552 [details] Kernel version information
Created attachment 90553 [details] lspci output
Created attachment 90554 [details] lsmod output
Created attachment 90555 [details] CPU information (/proc/cpuinfo)
I can confirm this issue. Using a Fedora 20 live image every time I rotate the screen with xrandr it goes blank. When I rotate back to normal the screen works back. On the Xorg log, this can be seen every time you rotate it: (II) modesetting(0): EDID vendor "CMO", prod id 4137 (II) modesetting(0): Printing DDC gathered Modelines: modesetting(0): Modeline "1366x768"x0.0 75.01 1366 1399 1468 1553 768 772 784 805 -hsync -vsync (48.3 kHz eP) (II) modesetting(0): Allocate new frame buffer 1366x768 stride (II) modesetting(0): EDID vendor "CMO", prod id 4137 (II) modesetting(0): Printing DDC gathered Modelines: (II) modesetting(0): Modeline "1366x768"x0.0 75.01 1366 1399 1468 1553 768 772 784 805 -hsync -vsync (48.3 kHz eP) I'm updating the subject to be more accurate. I also have an Atom N2600, but the GPU is not a Poulsbo based one, but a GMA3600 (also known as Cedarview/Cedartrail) although the same kernel driver (gma500) is used for both.
Hi, There is no rotation support in gma500 at the moment. On gma500/600 it is possible to use the blitter (with some overhead) but on Cedarview it seems the blitter is not available (checked on 0x0be1-0x0be2) so it must be done by the 3D engine or in software. I'm trying to solve this but I'm not sure if it will eat to much CPU to be useful on Cedarview. 180 degrees of rotation can be done directly with the pipe but I assume you're looking for left-right rotations. Cheers Patrik
Created attachment 93805 [details] Kernel messages when rotating the screen with xrandr (kernel booted with "drm.debug=14 log_buf_len=16M" parameters)
> 180 degrees of rotation can be done directly with the pipe but I assume you're looking for left-right rotations. Yes. I'm interested in [90,180,270] rotations. This is for an Intel Classmate laptop [Atom N2600] where a daemon rotates the screen (via xrandr) according to the position of the laptop (it has an accelerometer). With the fbdev DDX driver I can start the Xorg server with the screen rotated (via the option "rotate" on the "device" section of xorg.conf), but I can't change the rotation without restarting the Xorg server (xrandr is not implemented). Also the performance with the screen rotated is very poor. For example playing a SD video (360p) makes it very choppy/jerky. With the modesetting DDX rotating the screen via xrandr just makes it black. You can recover it by rotating it back to normal position. I have just attached the kernel drm debug messages when the rotation happens
Hi, Freedesktop's Bugzilla instance is EOLed and open bugs are about to be migrated to http://gitlab.freedesktop.org. To avoid migrating out of date bugs, I am now closing all the bugs that did not see any activity in the past year. If the issue is still happening, please create a new bug in the relevant project at https://gitlab.freedesktop.org/drm (use misc by default). Sorry about the noise!
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.