xorg very slow when rotated on external monitor (i965)

Bug #174650 reported by Vu Ngoc San
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xf86-video-intel
Fix Released
Medium
xserver-xorg-video-intel (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Binary package hint: xserver-xorg-video-intel

I run kubuntu gutsy on a dell d630 with an external monitor.
It works well and fast (after manual tweaking of xorg.conf), except when
I put my external monitor in vertical position and use
       Option "Rotate" "left"
in xorg.conf.

Then display is ok but VERY slow: when I move a window, I can see frames trying to catch up at a rate less that 3/sec (and less than 1/sec in fullscreen !) . And xorg uses 100% cpu when I do this.

------------------

xrandr output:
Screen 0: minimum 320 x 200, current 2464 x 2000, maximum 2720 x 2048
VGA connected 1024x1280+0+0 left (normal left inverted right) 376mm x 301mm
   1280x1024 60.0*+ 75.0 59.9
   1152x864 74.8
   1024x768 75.1 60.0
   800x600 75.0 60.3
   640x480 75.0 60.0
   720x400 70.1
LVDS connected 1440x900+1024+1100 (normal left inverted right) 303mm x 189mm
   1440x900 60.0*+ 50.0
   1280x800 60.0
   1280x768 60.0
   1024x768 60.0
   800x600 60.3
   640x480 59.9
TMDS-1 disconnected (normal left inverted right)
TV disconnected (normal left inverted right)

Revision history for this message
Daniel Hahler (blueyed) wrote :
Revision history for this message
Bryce Harrington (bryce) wrote :

Hmm, xorg #13044 is against -ati, and includes corruption, not just performance loss, so while it sounds similar to that bug, my guess is that it's unrelated. However, the debugging steps may be useful.

Vu, can you test what happens if you disable DRI? Also, does it make a difference if you rotate the screen in xorg.conf, vs. doing it using the xrandr tool after X has started?

Please also attach your xorg.conf, Xorg.0.log, and lspci -vvnn.

Changed in xserver-xorg-video-intel:
status: New → Incomplete
Revision history for this message
Vu Ngoc San (san-vu-ngoc) wrote :

Here are some more pieces of information.

* indeed there is no corruption, and it is quite stable (at least as stable as in the single screen config)

* if the "rotate" option is in xorg.conf, or if I do it manually after X is launched, with xrandr, the result is the same.

* if I disable DRI in xorg.conf by adding
Option "DRI" "false"
then X won't start (black screen).
However if I start without DRI AND without rotate, then I can rotate with xrandr, but the result is the same as before (slow).

* the option
Option "NoAccel" "true"
has the same effect and disabling DRI above.

* the option "AccelMethod" "EXA" or "XXA" has no visible influence

* I have also tried to disable the laptop screen by xrandr --output=LVDS --off, but the result is still the same.

I'm really out of clue here, sorry. I hope someone can make sense out of it.

Revision history for this message
Vu Ngoc San (san-vu-ngoc) wrote :
Revision history for this message
Vu Ngoc San (san-vu-ngoc) wrote :

output of lspci -vvnn

Revision history for this message
Vu Ngoc San (san-vu-ngoc) wrote :

Hey, I think I know what causes this. It's the virtual size. It was clearly written in my xorg.conf, so I should have noticed before. But they stated that the issue was for pre-965 so I didn't pay attention. So it seems that it holds for 965 as well.

Here is it:
if I do:
xrandr --output LVDS --pos 607x1100
then my virtual size becomes 2047 x 2000, and the display becomes nice and smooth.
But if i do:
xrandr --output LVDS --pos 607x1100
then the virtual size is 2048 x 2000 and suddenly everything becomes very slow on the external monitor (but, as I said, still smooth on the laptop screen).

Revision history for this message
Vu Ngoc San (san-vu-ngoc) wrote :

of course I meant

xrandr --output LVDS --pos 608x1100

for the SECOND try.

Revision history for this message
Vu Ngoc San (san-vu-ngoc) wrote :

Some more testing:

if I don't rotate, then I can have a virtual size bigger than 2048 without problem

Bryce Harrington (bryce)
Changed in xserver-xorg-video-intel:
importance: Undecided → High
status: Incomplete → Triaged
Revision history for this message
unggnu (unggnu) wrote :

The Hardy Heron Alpha series is currently under development and contains an updated version of the -intel driver. You can download and try the new Hardy Heron Alpha release from http://cdimage.ubuntu.com/releases/hardy/ . You should be able to test the new -intel driver using the LiveCD. If you can, please verify if this bug still exists or not and report back your results. General information regarding the release can also be found here: http://www.ubuntu.com/testing/ .
Thanks.

Btw. if you increase Virtual size higher than 2048 DRI is disabled (Bug #146859).

Changed in xserver-xorg-video-intel:
status: Triaged → Incomplete
Revision history for this message
Gilles (groy) wrote :

I have this same problem with Ubuntu 8.04 Beta. If I plug in my external LCD panel, the refresh rate is fine, but if I rotate it with xrandr to the left, it refreshes *really* slow. Anything I can attach to help solve this problem? I get this without any Virtual Size specified in xorg.conf.

Revision history for this message
Bryce Harrington (bryce) wrote :

Gilles, you can check your Xorg.0.log to see what Virtual Size is being assumed.

I've also built -intel driver against upstream's git head, available at: http://people.ubuntu.com/~bryce/bisect/ It would be useful to know whether this issue still exists with the latest git version.

Revision history for this message
Bryce Harrington (bryce) wrote :

Hi Vu Ngoc San, I've forwarded your bug upstream to Xorg for their assistance with this issue. Would you mind please subscribing to the upstream bug report in case they have questions or need you to test something? Then you can provide the info directly without me slowing down the process.

Also, upstream will likely request that you test against the git head version of the driver; if so you can use the link I provided above.

Changed in xserver-xorg-video-intel:
importance: Undecided → Unknown
status: New → Unknown
Changed in xserver-xorg-video-intel:
status: Unknown → Confirmed
Revision history for this message
Bryce Harrington (bryce) wrote :

Upstream believes this to be fixed with the 2.3.1 driver. I've packaged this for you to test:

  http://people.ubuntu.com/~bryce/Testing/intel/

Please check it and let us know if the issue still exists.

Changed in xserver-xorg-video-intel:
assignee: nobody → bryceharrington
status: Incomplete → In Progress
Revision history for this message
Vu Ngoc San (san-vu-ngoc) wrote :

now it works ! thanks!

next step would be to make compiz work with rotated external monitor...
But that's probably a completely different issue.
(it doesn't work even for virtual screen less that 2048x2048, for new and old driver. The external screen becomes black when compiz is enabled. All I can see is the mouse cursor :) )

anyway thanks again a lot for this fix.

Revision history for this message
Bryce Harrington (bryce) wrote :

Great, thanks for confirming the fix - I've got 2.3.2 up in intrepid now so we should be good to go.

Changed in xserver-xorg-video-intel:
status: In Progress → Fix Released
Changed in xserver-xorg-video-intel:
status: Confirmed → Fix Released
Revision history for this message
Bálint Magyar (balintm) wrote :

This bug is still happening to me on Intrepid beta (upgraded from 8.04.1), running Metacity on an Intel GMA-950. Only changes made to xorg.conf was the NoDRI option (because of bug #277709) and Virtual 1920 1200.

Symptoms become very apparent when scrolling in Firefox on a rotated screen, while it's all smooth in Normal orientation.

Revision history for this message
llevering (l-levering) wrote :

This is issue still exists for me on Intrepid. Scrolling on the secondary rotated display gets X to 100% cpu and even audio starts jittering. Screen 1 resolution is: 1400x1500 and Screen 2 has 1024x1280 as resolution (rotation: left). Intel driver version 2.4.1 (standard Ubuntu 8.10). Hopefully there is a fix for intrepid as well.

Revision history for this message
schmolch (saschaheid) wrote :

The patch that fixes the 2D-performance on a rotated display with the gma950 (newer chips seem not to be affected) was just recently included into xorg-video-intel-2.6.2 which is only a few days old.
Even Jaunty does not have that version yet, but will probably soon.
I compiled it myself and the performance is fine now. Compiz also works.
I don't use any external displays but i guess its the same issue.

Revision history for this message
llevering (l-levering) wrote :

Just installed Jaunty, it incorporates xorg-video-intel-2.6.3, but the bug is still there. It is now even worse as in Jaunty also my primary screen is effected, where in Intrepid only my second screen suffers. Did you have guide or something to compile the drivers, and would I need to incorporate a patch that is left out of the Ubuntu version of the driver?

Revision history for this message
schmolch (saschaheid) wrote :

Since 2.6.3 arrived in Jaunty im not compiling it myself anymore and just use the ubuntu-packages on both of my Tablets now (both thinkpad x60t with gma950).
It works out of the box for me.

What hardware are you using exactly?

Revision history for this message
llevering (l-levering) wrote :

Hereby the relevant section on my hardware, an Intel 945 chipset, Gma 500 if I am not mistaken.

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML 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)

It is in an Dell Latitude D520, with T7200 (2.0ghz), 4gb ram, 250gb 7200rpm harddisk and a 1400*1050 screen. My external is an CTX 17'inch 1280x1024 (older) LCD monitor. I am now running Jaunty with a single screen, then all the problems stayed that had with multiple screens as well. Then I enabled EXA (with the second screen off) it is now quite a bit better, however Intrepid still runs better. My Jaunty installation is a clean install on a new partition.

Changed in xserver-xorg-video-intel:
importance: Unknown → Medium
Changed in xserver-xorg-video-intel:
importance: Medium → Unknown
Changed in xserver-xorg-video-intel:
importance: Unknown → Medium
Revision history for this message
Koen Van de Velde (cunces) wrote :

I'm having this issue on ubuntu conntecting my externel display using displaylink (only when rotated)

 No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial

Revision history for this message
Koen Van de Velde (cunces) wrote :

lspci | grep -i VGA
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1c8d (rev a1)

Bryce Harrington (bryce)
Changed in xserver-xorg-video-intel (Ubuntu):
assignee: Bryce Harrington (bryce) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.