[sandybridge-m-gt2+] Display on external monitor (vga) is black on 13" MacBook Pro 8,1 (x86_64)

Bug #762855 reported by Dan Allen
44
This bug affects 8 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
In Progress
High
AceLan Kao
xserver-xorg-video-intel (Ubuntu)
In Progress
Medium
Unassigned

Bug Description

Binary package hint: xserver-xorg-video-intel

The 13" MacBook Pro (8,1) has an integrated Intel 3000 video card. As of Ubuntu Natty Narwhal 64bit+mac Nightly 2011.04.16, whenever I attempt to connect an external display using the supplied VGA adapter, the external display is properly detected by vendor, resolution and refresh rate. However, the screen is black and it claims that there is no input source. I can drag windows into that region, but the display is just not showing anything.

You can see this behavior clearly by disabling compiz (Ubuntu classic, no effects). When compiz is enabled, you get additional problems. As soon as the display is recognized, the primary screen goes black. The only way to restore the primary screen is to disconnect the adapter, switch to the virtual terminal and restart gdm (sudo service gdm restart). Clearly compiz is interfering with the monitor detection process.

Here are two references to threads further describing this issue:

http://permalink.gmane.org/gmane.comp.freedesktop.xorg.drivers.intel/3513
http://ubuntuforums.org/showthread.php?t=1720933

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: xorg 1:7.6+4ubuntu3
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic x86_64
Architecture: amd64
CompizPlugins: [core,bailer,detection,composite,opengl,decor,mousepoll,vpswitch,regex,animation,snap,expo,move,compiztoolbox,place,grid,imgpng,gnomecompat,wall,ezoom,workarounds,staticswitcher,resize,fade,unitymtgrabhandles,scale,session,unityshell]
CompositorRunning: None
DRM.card0.DP.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
DRM.card0.DP.2:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
DRM.card0.DP.3:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
DRM.card0.HDMI.A.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
DRM.card0.HDMI.A.2:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
DRM.card0.HDMI.A.3:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
DRM.card0.LVDS.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1280x800
 edid-base64: AP///////wAGEMWcAAAAABwTAQOAHRJ4CgAAAAAAAAAAUFQAAAABAQEBAQEBAQEBAQEBAQEBUhwAj1AgLjAwIDYAHrMQAAAYAAAAAQAGECAAAAAAAAAAAAogAAAA/gBMUDEzM1dYMy1UTEE0AAAA/gBDb2xvciBMQ0QKICAgAB0=
DRM.card0.VGA.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes:
 edid-base64:
Date: Sat Apr 16 15:25:14 2011
DistUpgraded: Fresh install
DistroCodename: natty
DistroVariant: ubuntu
GdmLog2:

GraphicsCard:
 Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Apple Computer Inc. Device [106b:00db]
LiveMediaBuild: Ubuntu 11.04 "Natty Narwhal" - Beta amd64+mac (20110416)
MachineType: Apple Inc. MacBookPro8,1
ProcEnviron:
 LANGUAGE=en_US:en
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: file=/cdrom/preseed/hostname.seed boot=casper initrd=/casper/initrd.lz quiet splash --
Renderer: Unknown
SourcePackage: xorg
Symptom: display
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/07/11
dmi.bios.vendor: Apple Inc.
dmi.bios.version: MBP81.88Z.0047.B04.1102071707
dmi.board.asset.tag: Base Board Asset Tag#
dmi.board.name: Mac-94245B3640C91C81
dmi.board.vendor: Apple Inc.
dmi.board.version: MacBookPro8,1
dmi.chassis.type: 10
dmi.chassis.vendor: Apple Inc.
dmi.chassis.version: Mac-94245B3640C91C81
dmi.modalias: dmi:bvnAppleInc.:bvrMBP81.88Z.0047.B04.1102071707:bd02/07/11:svnAppleInc.:pnMacBookPro8,1:pvr1.0:rvnAppleInc.:rnMac-94245B3640C91C81:rvrMacBookPro8,1:cvnAppleInc.:ct10:cvrMac-94245B3640C91C81:
dmi.product.name: MacBookPro8,1
dmi.product.version: 1.0
dmi.sys.vendor: Apple Inc.
version.compiz: compiz 1:0.9.4+bzr20110415-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.23-1ubuntu6
version.libgl1-mesa-dri: libgl1-mesa-dri 7.10.2-0ubuntu1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.2-0ubuntu1
version.xserver-xorg: xserver-xorg 1:7.6+4ubuntu3
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu7
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu7

Revision history for this message
Dan Allen (dan.j.allen) wrote :
bugbot (bugbot)
tags: added: dual-head
Bryce Harrington (bryce)
summary: Display on external monitor (vga) is black on 13" MacBook Pro 8,1
+ [x86_64]
summary: - Display on external monitor (vga) is black on 13" MacBook Pro 8,1
- [x86_64]
+ [sandybridge-m-gt2+] Display on external monitor (vga) is black on 13"
+ MacBook Pro 8,1 (x86_64)
Revision history for this message
Bryce Harrington (bryce) wrote :

dmesg shows:

[ 527.569922] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt ring idle [waiting on 34739, at 34739], missed IRQ?
[ 1102.501179] aufs au_new_inode:412:system-config-p[3827]: Warning: Un-notified UDBA or repeatedly renamed dir, b1, squashfs, lib-dynload, hi14465, i536.
[ 1114.866872] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt ring idle [waiting on 235632, at 235632], missed IRQ?
[ 1117.817428] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt ring idle [waiting on 236168, at 236168], missed IRQ?
[ 1561.101313] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt ring idle [waiting on 306740, at 306740], missed IRQ?

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

Also:

[ 1848.479911] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt ring idle [waiting on 377962, at 377962], missed IRQ?
[ 1955.746330] [drm:intel_dp_complete_link_train] *ERROR* failed to train DP, aborting
[ 1956.152692] [drm:intel_dp_i2c_aux_ch] *ERROR* too many retries, giving up
[ 1956.155454] [drm:intel_dp_i2c_aux_ch] *ERROR* too many retries, giving up
[ 2003.480655] [drm:ironlake_crtc_disable] *ERROR* failed to disable transcoder

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

Hi Dan,

You mentioned in your description specifically that the issue is seen as of the 2011-04-16 nightly; by this comment do you mean to imply that prior to 4-16 this issue is not reproducible? If that is the case, please tell me the most recent working version; I can then examine what packages changed between that version and 4-16 and we can see if there is a regression.

Otherwise, can you also test the following after reproducing the bug:

 xset dpms force on

If that works (heck, even if it doesn't) you may want to test this PPA, which forces monitors to power on after making resolution changes:

https://launchpad.net/~bryce/+archive/elderberry

Changed in xserver-xorg-video-intel (Ubuntu):
status: New → Incomplete
Revision history for this message
Dan Allen (dan.j.allen) wrote :

I experience the same problem in Ubuntu 10.10 (Maverick) and 11.04 Beta2 (Natty). I tried the nightly because it included fixes for the touchpad and sound. However, the display problem remained. I don't think it works in any very of Ubuntu to date.

I'll try your suggestions and report back.

Revision history for this message
AceLan Kao (acelankao) wrote :

Dan,

I think the problem is solved by the mainline kernel, you could try the latest kernel from the following link.
http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/

Changed in linux (Ubuntu):
assignee: nobody → AceLan Kao (acelankao)
Revision history for this message
Dan Allen (dan.j.allen) wrote :

Yes!!!!! It works! I can't even tell you how relieved I feel without sounding like a lunatic.

Here are the details of the experience:

1. added the ppa:kernel-ppa/ppa repository to apt-get
2. installed linux-generic and linux-generic-headers version 2.6.39-0.4~20110419
3. logged in using the no effects profile
4. plugged in Mitsubishi DiamondPoint NX86LCD
5. immediately it extended the screen, with the monitor as the overflow desktop
6. successfully moved a window into that part of the desktop
7. selected "mirror screens"
8. at first, monitor went black
9. changed to a lower resolution, apply, then back to highest resolution, then apply
10. same image in both monitors (I suspect the fiddling was probably me not being patient enough)
11. logout out and tried the same thing in unity
12. unity flakes out a bit while the image is getting setup in the external monitor and even crashed, but then after a few seconds, it all settled out and I could use both monitors, mirror and non-mirror
13. repeated the same test on a Samsung SyncMaster 2333HD
14. the display synced much quicker in both cases
15. unity was still crashing during the switch, but eventually worked itself out...I suspect that problem has to do with unity

The end result is, the new kernel works. The transitions could be smoother, but that could be dependent on the monitor and how it responds to the input signal. But I'm just speculating.

Thanks again!

Revision history for this message
Dan Allen (dan.j.allen) wrote :

For the record, I tried out the intel driver from the elderberry ppa using the older kernel (the one from natty beta2) and it did not fix the problem. I still got:

[ 63.990093] [drm:ironlake_crtc_disable] *ERROR* failed to disable transcoder
[ 164.540158] [drm:intel_dp_complete_link_train] *ERROR* failed to train DP, aborting
[ 164.950081] [drm:intel_dp_i2c_aux_ch] *ERROR* too many retries, giving up
[ 164.952644] [drm:intel_dp_i2c_aux_ch] *ERROR* too many retries, giving up

The xset trick didn't have any affect either.

So only the newer kernel resolves the issue. And I'm so happy about that :)

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

Hi Dan,

Good to hear the mainline kernel solved it. Would you be willing to do some additional testing to isolate which specific patch fixed it? If so, the kernel team might be able to backport that fix to include in natty.

Directions for isolating kernel patches via git bisection are documented here for you:
https://wiki.ubuntu.com/Kernel/KernelBisection

If you can find a commit where the kernel switches from failing to working, that'll give the kernel guys a strong indication of what needs pulled from upstream to get your system working by default with natty.

Changed in xserver-xorg-video-intel (Ubuntu):
status: Incomplete → Confirmed
status: Confirmed → Incomplete
Changed in linux (Ubuntu):
status: New → Incomplete
Changed in xserver-xorg-video-intel (Ubuntu):
status: Incomplete → In Progress
importance: Undecided → Medium
Changed in linux (Ubuntu):
importance: Undecided → High
Revision history for this message
AceLan Kao (acelankao) wrote :

Bryce,

I'll do the bisect when I available.

Changed in linux (Ubuntu):
status: Incomplete → In Progress
Revision history for this message
Dan Allen (dan.j.allen) wrote :

I gave it a shot, but I must admit I'm a bit lost since I'm straddling between two kernel versions 2.6.38 and 2.6.39. I'm not quite sure where to go. I arrived at git://kernel.ubuntu.com/ubuntu/ubuntu-oneiric.git.

I installed various kernel builds from the 2.6.39 line. Here are my results:

v2.6.39-rc1-natty - broken
2011-04-08-natty - working (daily build from 2011-04-08)
v2.6.39-rc3-natty - working

I examined the commit messages. I'm going to take a wild guess, but it looks like one of these:

7ccb4a5 drm/i915: Re-enable self-refresh
18b2190 drm/i915: allow 945 to control self refresh (CxSR) automatically
0de009c drm/i915/crt: Remove 0xa0 probe for VGA

Folks have been busy on i915 between Ubuntu-2.6.39-0.0 and Ubuntu-2.6.39-0.2, which is where the fix seems to be. Hopefully that helps.

Revision history for this message
Adilson Oliveira (agoliveira) wrote :

Looks like this is another symptom of bug #761065

Revision history for this message
AceLan Kao (acelankao) wrote :

Hi,

This is the new natty kernel I cherry picked 4 patches from .39 kernel.
Please try it and check if this kernel fix the problem, thanks.
http://people.canonical.com/~acelan/bugs/lp753189/

Revision history for this message
Jeff Olson (olson-jeffery) wrote :

I just tried the kernel AceLan Kao posted in comment #13 and no luck. Connecting an external monitor causes a system lockup on my system. I went back to the 2.6.39 kernel in kernel-ppa and everything works better, it seems.

Revision history for this message
Bryce Harrington (bryce) wrote : Re: [Bug 762855] Re: [sandybridge-m-gt2+] Display on external monitor (vga) is black on 13" MacBook Pro 8, 1 (x86_64)

On Fri, Apr 29, 2011 at 06:13:11AM -0000, Jeff Olson wrote:
> *** This bug is a duplicate of bug 761065 ***
> https://bugs.launchpad.net/bugs/761065
>
> I just tried the kernel AceLan Kao posted in comment #13 and no luck.
> Connecting an external monitor causes a system lockup on my system. I
> went back to the 2.6.39 kernel in kernel-ppa and everything works
> better, it seems.

Ah, bummer Jeff.

If you have some time, you could do your own bisection search to figure
out which patch from 2.6.39 is needed for your system. For some
paint-by-numbers directions on doing this see:

  https://wiki.ubuntu.com/Kernel/KernelBisection

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.