X rotates display with delay and black screen effect
Submitted by Levon
Assigned to Xorg Project Team
Description
Hello,
When rotating X's display on the fly using xrandr -o left|normal|inverted|right command, following transitions are performed with black screen delay effect i.e. the display becomes black for a moment then displays rotated screen.
The following transitions are performed with a delay - a black screen is shown with ~1 second duration, then rotated screen appears normal > right|left inverted > normal|left|right left > normal|inverted right > normal|inverted
The following transitions are performed smoothly with no delays, i.e. "immediately" normal > inverted left > right right > left
Steps to reproduce
- Run following on machine with xorg-x11-drv-intel
- In terminal run following from normal orientation : xrandr -o left
Actual result : Screen is rotated with delay and black screen effect then it shows normal rotated screen
Expected result : Should rotate screen with no delays and any black screen effect. Like when rotating from the right orientation to the left orientation.
Details : Most time consuming code while rotating the display orientation with xrandr is ret = crtc->funcs->set_mode_major(crtc, mode, rotation, x, y); intel video drivers function call. This call is located in hw/xfree86/modes/xf86Crtc.c file in xf86CrtcSetModeTransform function.
HW Platforms: Graphics : Intel GMA 3150 graphics Graphics : Intel Graphics Media Accelerator (GMA) 950
Xorg-server 1:7.5 xserver-xorg-video-intel 2:2.11.0 xserver-xorg-video-intel 2:2.12.0 xserver-xorg-video-intel 2:2.13.0
Regards, Levon
Version: 7.5 (2009.10)