Bug 22937

Summary: using Randr to invert the screen exhibits majors flickering when playing video
Product: xorg Reporter: asergiu <adrian>
Component: Driver/intelAssignee: Gordon Jin <gordon.jin>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: high CC: adrian
Version: 7.4 (2008.09)   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description asergiu 2009-07-24 07:19:06 UTC
Hi, 
   I don't know if you guys can help me but here is go - who knows ?
  I have a computer with the following config
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
02:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)

and using Xorg 1.5.2 xorg-intel video driver 2.5.0 

II) Loading /usr/lib/xorg/modules//drivers/intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
        compiled for 1.5.2, module version = 2.5.0
        Module class: X.Org Video Driver
        ABI class: X.Org Video Driver, version 4.1


My problem is that if I use xrandr to turn the screen 180 degrees and try to display flash or movies the video part flickers alot making it unusable. 
The application I am running is an AdobeAir - that displays videos. The same thing running on the same machine with Windows XP works ok with the 180 degree rotated screen. 

I looked at the CPU usage - rotated an not rotated and it seems the same. 
The only other problem might be in Adobe Air.

Tell me if you neeed xorg.xonf or any other info.

sincerely
Adrian
Comment 1 asergiu 2009-07-24 08:00:29 UTC
In fact I noticed performance issues whenever the screeen is rotated. Not only with my application. Viewing videos and in general anything that uses Xv I think has performance penalties - resulting in severe flickering.

Adrian
Comment 2 Gordon Jin 2009-07-25 20:19:48 UTC
I'm wondering if this is related to bug#16612.

Please attach dmesg and Xorg.0.log.

This can also be reproduced with rotation by 90 degrees, right?
Comment 3 asergiu 2009-07-26 02:45:56 UTC
In fact I think you are right Gordon. It should have something with the way rotation is handled by blitting the front buffer to rotate buffer and with the moment of the blit.

I don't have the xorg.conf with me today - I will send it tomorrow.

However I did more research with our application (let's call it AirApp) and with vlc displaying videos.

AirApp forces the mouse cursor to a position and hides it continuosly. Now this causes the flickering when the screen is rotated - and I think is due to the improper moment maybe of the blit operation. When the screen is normal - there is no problem with the AirApp moving and hiding the mouse pointer continuously.
If I keep the mouse button pressed in a location on the border of the screen the flicker dissapears (no more mouse move) - is just the video that lags a bit.

So in conclusion I think there a a few issues with the way rotation is implemented - maybe timing issues. 

I will ask tomorrow the application developers to remove mouse moving and hiding to see if it partially corrects the problem. 

The AirApp works correclty on a Nvidia video card with Nvidia driver (rotated). I did not see performance issues there.

Adrian
Comment 4 asergiu 2009-07-26 10:28:04 UTC
In fact I think you are right Gordon. It should have something with the way rotation is handled by blitting the front buffer to rotate buffer and with the moment of the blit.

I don't have the xorg.conf with me today - I will send it tomorrow.

However I did more research with our application (let's call it AirApp) and with vlc displaying videos.

AirApp forces the mouse cursor to a position and hides it continuosly. Now this causes the flickering when the screen is rotated - and I think is due to the improper moment maybe of the blit operation. When the screen is normal - there is no problem with the AirApp moving and hiding the mouse pointer continuously.
If I keep the mouse button pressed in a location on the border of the screen the flicker dissapears (no more mouse move) - is just the video that lags a bit.

So in conclusion I think there a a few issues with the way rotation is implemented - maybe timing issues. 

I will ask tomorrow the application developers to remove mouse moving and hiding to see if it partially corrects the problem. 

The AirApp works correclty on a Nvidia video card with Nvidia driver (rotated). I did not see performance issues there.

Adrian
Comment 5 Gordon Jin 2009-07-27 20:02:15 UTC
let's track at bug#22969, since that one uses the latest driver.

*** This bug has been marked as a duplicate of bug 22969 ***

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.