[Maverick] Removing external display on Vostro 3500 corrupts the screen

Bug #629711 reported by Hankyone
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
xf86-video-intel
Fix Released
Medium
linux (Ubuntu)
Fix Released
High
Leann Ogasawara
Maverick
Fix Released
High
Leann Ogasawara

Bug Description

Binary package hint: xorg

Steps to reproduce:
Unplug external display from VGA port (assuming both monitors were working fine)
Click "Detect Monitors" on the Monitor Preferences panel

At this point, the screen either goes all black or black with white lines.
Mouse cursor is still visible and can be moved around, cursor also changes when hovering link, etc...

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: xorg 1:7.5+6ubuntu3
ProcVersionSignature: Ubuntu 2.6.35-19.28-generic 2.6.35.3
Uname: Linux 2.6.35-19-generic i686
NonfreeKernelModules: wl
Architecture: i386
DRM.card0.DisplayPort.1:
 status: disconnected
 enabled: disabled
 dpms: On
 modes:
 edid-base64:
DRM.card0.HDMI_Type_A.1:
 status: disconnected
 enabled: disabled
 dpms: On
 modes:
 edid-base64:
DRM.card0.LVDS.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1366x768
 edid-base64: AP///////wAlzAYAAAAAAAATAQOQIhN4CsiFnldUmyYSUFQAAAABAQEBAQEBAQEBAQEBAQEBxhtWf1AAGTAfFTQAWMIQAAAaxhtWf1AAGTAfFTQAWMIQAAAaAAAA/gBXNDY2UoAxNTZHVzAyAAAAAAAAAAAAAAAAAAEBCiAgAO8=
DRM.card0.VGA.1:
 status: disconnected
 enabled: disabled
 dpms: On
 modes:
 edid-base64:
Date: Fri Sep 3 11:25:09 2010
DkmsStatus: bcmwl, 5.60.48.36+bdcom, 2.6.35-19-generic, i686: installed
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Beta i386 (20100901.1)
Lsusb:
 Bus 002 Device 003: ID 0c45:6481 Microdia
 Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Dell Inc. Vostro 3500
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.35-19-generic root=UUID=3b60b647-7ee6-4a07-8c0e-fcb20f80d049 ro quiet splash initcall_debug
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: xorg
Symptom: display
dmi.bios.date: 02/10/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A01
dmi.board.name: 0G2R51
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: Not Specified
dmi.modalias: dmi:bvnDellInc.:bvrA01:bd02/10/2010:svnDellInc.:pnVostro3500:pvrNotSpecified:rvnDellInc.:rn0G2R51:rvrA00:cvnDellInc.:ct8:cvrNotSpecified:
dmi.product.name: Vostro 3500
dmi.product.version: Not Specified
dmi.sys.vendor: Dell Inc.
glxinfo: Error: [Errno 2] No such file or directory
system:
 distro: Ubuntu
 codename: maverick
 architecture: i686
 kernel: 2.6.35-19-generic

Revision history for this message
In , Chris-linux (chris-linux) wrote :

Created an attachment (id=37244)
The actual messages

Revision history for this message
In , Chris Wilson (ickle) wrote :

I hereby declare that the submitter is of sound mind and neither his vision nor his judgment was impaired by popping too many pills.

Haven't got a clue as to what is going on, yet. It is not typical of the many Arrandale hangs so far reported -- in that it is *not* a hang.

(Whilst noting, Thomas said that his x61 would occasionally hang on unplugging from the dock - a spin not unlike the suspected PP_CONTROL hang.)

Revision history for this message
In , Chris Wilson (ickle) wrote :

I've managed to hit something very similar with:

xrandr --output LVDS1 --off --output DP1 --preferred

The registers look fine but the external monitor loses sync. Of particular note is that this change causes drm_remove_fb() to decouple the old framebuffer from crtc0.

Revision history for this message
In , Chris-linux (chris-linux) wrote :

I'm not sure if this helps or what it means, but the grey seems to come from the gtk theme - I'm guessing it's the window background colour...

Revision history for this message
In , Chris Wilson (ickle) wrote :

Hmm, I managed to bisect the failure on my x201s to

commit 1eb2cbb6d5efe129cd006691267ce513c0aa59da
Author: Al Viro <email address hidden>
Date: Thu May 27 11:11:06 2010 -0400

    Revert "anon_inode: set S_IFREG on the anon_inode"

    This reverts commit a7cf4145bb86aaf85d4d4d29a69b50b688e2e49d.

and reverting just that commit makes 'xrandr --output LVDS1 --off --output DP1 --preferred' work again.

I am baffled.

Revision history for this message
In , Chris Wilson (ickle) wrote :

For extra fun, it appears that udev is both the saviour and the culprit here.

That commit fixes udev running at 100%, and thus blocking uevents. A killall udevd causes the same failure as running without the reverted commit.

Revision history for this message
In , Chris Wilson (ickle) wrote :

Having learnt about the udevd anomaly, I repeated the bisection and found this as the potential culprit for my failure:

commit 7f8a85698f5c8a981641ec0bdf9926768786db9d
Author: Zhenyu Wang <email address hidden>
Date: Thu Apr 1 13:07:53 2010 +0800

    drm/i915: Add the support of memory self-refresh on Ironlake

    Update the self-refresh watermark for display plane/cursor and enable
    the memory self-refresh on Ironlake. The watermark is also updated for
    the active display plane.

    More than 1W idle power is saved on one Ironlake laptop after enabling
    memory self-refresh.

Revision history for this message
In , Chris Wilson (ickle) wrote :

Created an attachment (id=37621)
Update SR after dpms changes.

Revision history for this message
In , Chris Wilson (ickle) wrote :

To add further mystery, booting up with a single connection enabled, self-refresh works. Add an external, self-refresh is disabled as expected. Remove either, self-refresh is re-enabled and the output fails. Notably, during this sequence we also get warnings that we fail to turn off the pipe...

Revision history for this message
Hankyone (hankyone) wrote :

Binary package hint: xorg

Steps to reproduce:
Unplug external display from VGA port (assuming both monitors were working fine)
Click "Detect Monitors" on the Monitor Preferences panel

At this point, the screen either goes all black or black with white lines.
Mouse cursor is still visible and can be moved around, cursor also changes when hovering link, etc...

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: xorg 1:7.5+6ubuntu3
ProcVersionSignature: Ubuntu 2.6.35-19.28-generic 2.6.35.3
Uname: Linux 2.6.35-19-generic i686
NonfreeKernelModules: wl
Architecture: i386
DRM.card0.DisplayPort.1:
 status: disconnected
 enabled: disabled
 dpms: On
 modes:
 edid-base64:
DRM.card0.HDMI_Type_A.1:
 status: disconnected
 enabled: disabled
 dpms: On
 modes:
 edid-base64:
DRM.card0.LVDS.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1366x768
 edid-base64: AP///////wAlzAYAAAAAAAATAQOQIhN4CsiFnldUmyYSUFQAAAABAQEBAQEBAQEBAQEBAQEBxhtWf1AAGTAfFTQAWMIQAAAaxhtWf1AAGTAfFTQAWMIQAAAaAAAA/gBXNDY2UoAxNTZHVzAyAAAAAAAAAAAAAAAAAAEBCiAgAO8=
DRM.card0.VGA.1:
 status: disconnected
 enabled: disabled
 dpms: On
 modes:
 edid-base64:
Date: Fri Sep 3 11:25:09 2010
DkmsStatus: bcmwl, 5.60.48.36+bdcom, 2.6.35-19-generic, i686: installed
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Beta i386 (20100901.1)
Lsusb:
 Bus 002 Device 003: ID 0c45:6481 Microdia
 Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Dell Inc. Vostro 3500
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.35-19-generic root=UUID=3b60b647-7ee6-4a07-8c0e-fcb20f80d049 ro quiet splash initcall_debug
ProcEnviron:
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: xorg
Symptom: display
dmi.bios.date: 02/10/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A01
dmi.board.name: 0G2R51
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: Not Specified
dmi.modalias: dmi:bvnDellInc.:bvrA01:bd02/10/2010:svnDellInc.:pnVostro3500:pvrNotSpecified:rvnDellInc.:rn0G2R51:rvrA00:cvnDellInc.:ct8:cvrNotSpecified:
dmi.product.name: Vostro 3500
dmi.product.version: Not Specified
dmi.sys.vendor: Dell Inc.
glxinfo: Error: [Errno 2] No such file or directory
system:
 distro: Ubuntu
 codename: maverick
 architecture: i686
 kernel: 2.6.35-19-generic

Revision history for this message
Hankyone (hankyone) wrote :
Ameet Paranjape (ameetp)
Changed in xorg (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
importance: Medium → High
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)
Revision history for this message
Chris Halse Rogers (raof) wrote :

There have been a couple of recent commits to the Intel kernel module regarding Ironlake (this GPU) and VGA, and they've made it into 2.6.36-rc3

Does this work with a kernel from the Kernel team PPA: http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.36-rc3-maverick/ ? If so, we should look at backporting the relevant commits.

Changed in xorg (Ubuntu Maverick):
status: Triaged → Incomplete
Revision history for this message
Hankyone (hankyone) wrote :

Nope, does not work.

Ameet Paranjape (ameetp)
Changed in xorg (Ubuntu Maverick):
status: Incomplete → Triaged
Revision history for this message
Chris Halse Rogers (raof) wrote :

Ok. Worth a shot!

We'll want to send this upstream, then. Could you get a dmesg & Xorg.0.log log after reproducing this bug with “drm.debug=0x06” set on the kernel command line? Thanks.

Revision history for this message
Hankyone (hankyone) wrote :

Note: After I recreated the bug, I waited the countdown for the settings to revert back.

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

Hm.

Ok. So, that log shows you booting with just the laptop's internal panel, plugging in a second display to the VGA port, which comes up in an extended desktop situation, then disabling the VGA output, presumably through the Monitors capplet or equivalent, and then letting the timeout expire to get back to the extended desktop.

Once it's back on the extended desktop the display returns to normal?

Given that the mouse pointer continues working properly I'd guess the problem is somewhere in the framebuffer settings for that particular mode change.

Revision history for this message
Hankyone (hankyone) wrote :

Yes, the display returns to normal when the countdown expires.

Revision history for this message
In , Chris Wilson (ickle) wrote :

In git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel.git drm-intel-staging we have a patch to disable self-refresh which is how we plan to sweep this bug under the carpet in the short term. /o\

http://git.kernel.org/?p=linux/kernel/git/ickle/drm-intel.git;a=commit;h=71c831d2cce539e0ee8e3b3fadae49355867efc2

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

Aha! With that extra bit of information this looks to be upstream bug: https://bugs.freedesktop.org/show_bug.cgi?id=29173 which has just got an upstream fix http://git.kernel.org/?p=linux/kernel/git/ickle/drm-intel.git;a=commit;h=71c831d2cce539e0ee8e3b3fadae49355867efc2 .

Moving to the kernel, assigning jfo to ensure this gets looked at before kernel freeze.

affects: xorg (Ubuntu Maverick) → linux (Ubuntu Maverick)
Changed in linux (Ubuntu Maverick):
assignee: Canonical Desktop Team (canonical-desktop-team) → Jeremy Foshee (jeremyfoshee)
assignee: Jeremy Foshee (jeremyfoshee) → nobody
tags: added: kernel-handoff-graphics
tags: added: kernel-graphics kernel-needs-review
Revision history for this message
In , Chris Wilson (ickle) wrote :

We've disabled self-refresh [bug 30125].

Steve Conklin (sconklin)
tags: added: kernel-candidate kernel-reviewed
removed: kernel-needs-review
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Looks like the kernel patch just landed upstream in 2.6.36-rc4. It was also Cc'd to upstream stable. I'd hope that it would then be included in the next 2.6.35.5 upstream stable release which would then mean we might get this patch automatically when we rebase to 2.6.35.5. Regardless, I've applied this patch and built a test kernel (see url below). Please test asap and let me know your results so we could possibly apply this as a pre-stable patch if 2.6.35.5 doesn't get released before Maverick kernel freeze on Thurs Sept 16. Thanks.

http://people.canonical.com/~ogasawara/lp629711/i386/

commit dd8849c8f59ec1cee4809a0c5e603e045abe860e
Author: Jesse Barnes <email address hidden>
Date: Thu Sep 9 11:58:02 2010 -0700

    drm/i915: don't enable self-refresh on Ironlake

Changed in linux (Ubuntu Maverick):
assignee: nobody → Leann Ogasawara (leannogasawara)
status: Triaged → In Progress
Revision history for this message
Hankyone (hankyone) wrote :

Problem solved, I can confirm that Leann's kernel at #10 works.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Anouar,

Thanks for the quick turn around testing. I've gone ahead and sent this patch to the Ubuntu kernel team mailing list for it to be considered for Maverick:

https://lists.ubuntu.com/archives/kernel-team/2010-September/012757.html

Changed in xserver-xorg-video-intel:
importance: Unknown → Medium
status: Unknown → Fix Released
Changed in linux (Ubuntu Maverick):
status: In Progress → Fix Committed
Revision history for this message
kernel-janitor (kernel-janitor) wrote :
Changed in linux (Ubuntu Maverick):
status: Fix Committed → Fix Released
Changed in xserver-xorg-video-intel:
importance: Medium → Unknown
Changed in xserver-xorg-video-intel:
importance: Unknown → Medium
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.