[Oneiric] [Regression] When disabling onboard LVDS display and just using external VGA screen corruption occurs

Bug #861426 reported by Dave Russell
38
This bug affects 7 people
Affects Status Importance Assigned to Milestone
gnome-desktop3 (Ubuntu)
Confirmed
High
Unassigned
Oneiric
Won't Fix
High
Unassigned

Bug Description

Lenovo T500

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

Will attach screenshot of what the display should look like, and one of the corruption.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: xorg 1:7.6+7ubuntu7
ProcVersionSignature: Ubuntu 3.0.0-12.19-generic 3.0.4
Uname: Linux 3.0.0-12-generic x86_64
.tmp.unity.support.test.0:

ApportVersion: 1.23-0ubuntu2
Architecture: amd64
CompizPlugins: [core,bailer,detection,composite,opengl,compiztoolbox,decor,vpswitch,snap,resize,grid,imgpng,place,move,regex,mousepoll,wall,gnomecompat,session,unitymtgrabhandles,animation,fade,workarounds,expo,scale,ezoom,unityshell]
CompositorRunning: compiz
Date: Wed Sep 28 14:37:58 2011
DistUpgraded: Log time: 2011-09-22 20:36:49.680898
DistroCodename: oneiric
DistroVariant: ubuntu
EcryptfsInUse: Yes
ExtraDebuggingInterest: Yes, whatever it takes to get this fixed in Ubuntu
GraphicsCard:
 Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07) (prog-if 00 [VGA controller])
   Subsystem: Lenovo Device [17aa:20e4]
   Subsystem: Lenovo Device [17aa:20e4]
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Alpha amd64 (20110803.1)
MachineType: LENOVO 2241B48
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
ProcEnviron:
 LANGUAGE=en_GB:en
 PATH=(custom, user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.0.0-12-generic root=UUID=4587a2fe-b540-495f-ab91-999ee1b53a2a ro quiet splash vt.handoff=7
SourcePackage: xorg
UpgradeStatus: Upgraded to oneiric on 2011-09-22 (5 days ago)
dmi.bios.date: 04/22/2009
dmi.bios.vendor: LENOVO
dmi.bios.version: 6FET66WW (2.16 )
dmi.board.name: 2241B48
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6FET66WW(2.16):bd04/22/2009:svnLENOVO:pn2241B48:pvrThinkPadT500:rvnLENOVO:rn2241B48:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 2241B48
dmi.product.version: ThinkPad T500
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:0.9.5.94+bzr20110919-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.26-1ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 7.11-0ubuntu3
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.11-0ubuntu3
version.xserver-xorg: xserver-xorg 1:7.6+7ubuntu7
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.6.0-1ubuntu13
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20110811.g93fc084-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.15.901-1ubuntu2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110411+8378443-1

Revision history for this message
Dave Russell (drussell) wrote :
bugbot (bugbot)
affects: xorg (Ubuntu) → xserver-xorg-video-intel (Ubuntu)
bugbot (bugbot)
tags: added: corruption
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-video-intel (Ubuntu):
status: New → Confirmed
Revision history for this message
Steve George (slgeorge) wrote :

I have the same driver on an Lenovo x200 in Millbank. The attached screen is a HP LP2475w which works flawlessly with Natty at 1920x1200.

On Oneiric it's regressed so you can use it over two screens but as soon as I try and turn off the laptop screen the HP screen goes funky: it's even worse than the interference that Dave is showing. I've tested on Unity and Unity2D with the same results.

Changed in xserver-xorg-video-intel (Ubuntu):
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)
Revision history for this message
Steve George (slgeorge) wrote :

Rick suggested trying to switch to VT1 and then back. This didn't work, but this is what I did:

1. Switch laptop screen off (FN+F7)
This causes the HP main screen to go haywire

2. Switch to VT1
Use 'ctrl+alt+F1' to get to the terminal

3. Switch back to X
Use 'ctrl+alt+f7'. Unfortunately the screen is still messed up and not showing a clear picture.

Revision history for this message
Chris Halse Rogers (raof) wrote :

Ok - I think I see the same thing, and I think it's actually a gnome-desktop problem (or, at least, is only triggered by gnome-desktop's RANDR stuff). Can you please check whether running "xrandr --output LVDS1 --off" successfully turns off the laptop panel without breaking the external display?

Changed in xserver-xorg-video-intel (Ubuntu):
status: Confirmed → Incomplete
importance: Undecided → High
Revision history for this message
Chris Halse Rogers (raof) wrote :

In case my previous comment was not clear, what I want is:

1) Set up a spanned laptop + external display configuration. This works, correct?
2) Open up a terminal, and run "xrandr --output LVDS1 --off". This should turn off your laptop panel, leaving only the external display active. It should *also* not break your external display.
3) Report whether or not (2) turned off your internal display without breaking your external display :)

Revision history for this message
Steve George (slgeorge) wrote :

Yes, confirmed this works, so your diagnosis looks correct :)

I did the following:

1) Set up a spanned laptop + external display configuration. This works, correct?

Correct this works fine and the main display works at my full resolution 1900x1200

2) Open up a terminal, and run "xrandr --output LVDS1 --off". This should turn off your laptop panel, leaving only the external display active. It should *also* not break your external display.

Correct, this turns off the laptop display, moves all windows onto the main display and the main display stays at full resolution with no problems.

3) Report whether or not (2) turned off your internal display without breaking your external display :)

Yes!

Revision history for this message
Chris Halse Rogers (raof) wrote :

Ok. When xrandr turns off the LVDS display, the *only* thing it does is set the LVDS' CRTC to "off".

Tracing through gnome-desktop's RANDR code, on the other hand, we have:
0) Grab the server
1) First, set all CRTCs to off.
2) Now, foreach output, assign the first valid CRTC to it
2*) If some outputs did not have a valid CRTC, bail
3) Set each CRTC to the appropriate mode, attached to the appropriate output
4) Ungrab the server.

This would appear to have two results:
1) gnome-desktop can reject valid setups should there be a CRTC with restrictions on which outputs it can drive (which is extremely common), and
2) gnome-desktop does a whole lot of unnecessary work on modeswitch.

Somewhere in that extra work, something is going wrong. I'm not entirely sure what it is, though. One of the side-effects is that disabling the LVDS will cause gnome-desktop to drive the external display with a different CRTC, but xrandr happily switches between different CRTCs on my external display…

Bryce Harrington (bryce)
affects: xserver-xorg-video-intel (Ubuntu) → gnome-desktop (Ubuntu)
Changed in gnome-desktop (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Could somebody create "gsd-debug-randr" file in you user directory, restart the session, change the screen settings and copy the "gsd-debug-randr.log" which got created in the user directory to the bug?

affects: gnome-desktop (Ubuntu Oneiric) → gnome-desktop3 (Ubuntu Oneiric)
Revision history for this message
Sebastien Bacher (seb128) wrote :

bug #828623 is similar

Revision history for this message
Dave Russell (drussell) wrote :

Thanks for the suggestion, I won't be able to do this until next week... but as soon as I'm able I'll give that a try.

Revision history for this message
Steve George (slgeorge) wrote :

I've done as Sebastien asked, steps I took:

a. Add gsd-debug-randr to home dir
b. Reboot and login
c. Go to the displays dialog and tell it to switch off the laptop screen
At this point the main screen goes crazy.
d. Attached the file

Revision history for this message
Chris Halse Rogers (raof) wrote :

I think I've got a workaround locally, but I'd like to check that the bug I'm working around locally is the same bug as here. The gnome-desktop3 packages in https://edge.launchpad.net/~raof/+archive/aubergine contain a patch to wait 50msec during the modesetting to ensure that the previous configuration changes have been applied before trying to apply the new config. For me, this seems to reliably work around problems when disabling LVDS with an external display.

This is not a proper fix, but will point towards where to look in the kernel for a proper fix.

Could you please test these packages (libgnome-desktop-3-2 version 3.2.0-0ubuntu4.2~raof1) and check whether you can reproduce this bug with them? You'll need to restart after installing the update, to ensure that gnome-settings-daemon is using the right library.

Revision history for this message
Apal Marlak (apal-marlak) wrote :

I don't know if I should repost it here, but here is the link to my other answer, where I posted my gsd-debug-randr.log :
https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/828623/comments/33

Changed in gnome-desktop3 (Ubuntu Oneiric):
status: Confirmed → Triaged
Revision history for this message
Sebastien Bacher (seb128) wrote :

The team is not working on that, unassigning

Changed in gnome-desktop3 (Ubuntu):
assignee: Canonical Desktop Team (canonical-desktop-team) → nobody
Changed in gnome-desktop3 (Ubuntu Oneiric):
assignee: Canonical Desktop Team (canonical-desktop-team) → nobody
Revision history for this message
Rolf Leggewie (r0lf) wrote :

oneiric has seen the end of its life and is no longer receiving any updates. Marking the oneiric task for this ticket as "Won't Fix".

Changed in gnome-desktop3 (Ubuntu Oneiric):
status: Triaged → Won't Fix
To post a comment you must log in.