Bug 1386528 - External display/projector via thunderbolt/DP not detected on MacBook Air
Summary: External display/projector via thunderbolt/DP not detected on MacBook Air
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kernel
Version: 7.3
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: X/OpenGL Maintenance List
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks: 1400593
TreeView+ depends on / blocked
 
Reported: 2016-10-19 08:13 UTC by Alexander Todorov
Modified: 2016-12-30 11:44 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1400593 (view as bug list)
Environment:
Last Closed: 2016-12-30 11:44:13 UTC
Target Upstream Version:


Attachments (Terms of Use)
/sys/class/drm/card0/error (3.32 MB, text/plain)
2016-10-26 08:55 UTC, Alexander Todorov
no flags Details
Xorg.log (43.48 KB, text/plain)
2016-10-26 09:06 UTC, Alexander Todorov
no flags Details

Description Alexander Todorov 2016-10-19 08:13:58 UTC
Description of problem:

I'm using RHEL 7 on a MacBook Air (can provide more hw info if needed). With RHEL 7.1 and 7.2 kernels I was able to connect an external display via DisplayPort to VGA adapter connected to the Thunderbolt port. I've also used a DP-HDMI adapter which worked. I have verified the peripherals work fine on another computer.

The last time this was working for me was on Oct 1st 2016. Then it stopped working. ATM when I connect an external display it is not detected at all. 


Version-Release number of selected component (if applicable):
kernel-3.10.0-513.el7.x86_64

How reproducible:
always

Steps to Reproduce:
1. Connect an external display/projector to a MacBook Air via DP/VGA adapter
2.
3.

Actual results:
External display not detected

Expected results:
Display is detected and I'm able to use this laptop for presentations


Additional info:

I've checked my yum.log and there are no signs of kernel upgrades between Sept and Oct.

... skip ...
Jul 23 11:42:00 Installed: qt5-qtwebkit-devel-5.6.1-3.b889f46git.el7.x86_64
Jul 29 01:44:20 Installed: dos2unix-6.0.3-4.el7.x86_64
Sep 13 00:15:11 Installed: rh-python34-runtime-2.0-5.el7.x86_64
Sep 13 00:15:12 Installed: rh-python34-python-pip-1.5.6-4.el7.noarch
Sep 13 00:15:13 Installed: rh-python34-python-setuptools-11.3.1-2.el7.noarch
Sep 13 00:15:13 Installed: rh-python34-python-3.4.2-13.el7.x86_64
Sep 13 00:15:15 Installed: rh-python34-python-libs-3.4.2-13.el7.x86_64
Sep 13 00:16:46 Installed: rh-python34-python-devel-3.4.2-13.el7.x86_64
Sep 13 00:16:46 Installed: rh-python34-python-virtualenv-1.11.6-1.el7.noarch
Sep 28 14:15:49 Installed: zoom-2.0.63547.0830-1.x86_64
Oct 17 09:26:05 Updated: mate-utils-common-1.14.1-1.el7.noarch
Oct 17 09:26:06 Updated: caja-extensions-common-1.14.1-1.el7.noarch
Oct 17 09:26:06 Updated: mate-control-center-filesystem-1.14.1-1.el7.x86_64
Oct 17 09:26:06 Updated: 32:bind-license-9.9.4-29.el7_2.4.noarch
... skip ...


A few days ago I've updated to the latest 7.3 nightly hoping to fix this or at least be able to debug it a bit more but I'm stuck.

Searching on the Internet I found this:

# cat /sys/class/drm/card0-DP-1/enabled
disabled


If I reboot and leave the external screen connected then it is detected and I'm able to use it somewhat. Both the main screen and external screen are adjusted to the same resolution by default.


The above info and the fact that I haven't changed pretty much anything before this stopped working leads me to think this may be related to some power saving features. Let me know what other information you need in order to debug this.

Comment 1 Alexander Todorov 2016-10-26 08:55:30 UTC
Created attachment 1214217 [details]
/sys/class/drm/card0/error

More info I was able to dig out:

окт 26 10:43:17 aero kernel: [drm] stuck on render ring
окт 26 10:43:17 aero kernel: [drm] GPU HANG: ecode 8:0:0x85dffffb, in Xorg [1611], reason: Ring hung, action: reset
окт 26 10:43:17 aero kernel: [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.
окт 26 10:43:17 aero kernel: [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel
окт 26 10:43:17 aero kernel: [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
окт 26 10:43:17 aero kernel: [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it.
окт 26 10:43:17 aero kernel: [drm] GPU crash dump saved to /sys/class/drm/card0/error
окт 26 10:43:17 aero kernel: drm/i915: Resetting chip after gpu hang

Comment 2 Alexander Todorov 2016-10-26 09:06:25 UTC
Created attachment 1214221 [details]
Xorg.log

# cat /etc/X11/xorg.conf.d/98-mba_bl.conf 
# as per https://bugzilla.redhat.com/show_bug.cgi?id=989555#c17
# uncomment below if brightness control still doesn't work after
# mba6x_bl is loaded

Section "Device"
    Identifier      "Intel Graphics"
    Driver          "intel"
    Option          "Backlight"     "mba6x_backlight"
EndSection


NOTE: mba6x_backlight is an out of tree driver that I compiled myself. Sources are available from
https://github.com/atodorov/mba6x_bl/commits/rhel_7.2_3.10.0-327.el7.x86_64

Comment 3 Hans de Goede 2016-10-26 11:09:14 UTC
(In reply to Alexander Todorov from comment #2)
> NOTE: mba6x_backlight is an out of tree driver that I compiled myself.
> Sources are available from
> https://github.com/atodorov/mba6x_bl/commits/rhel_7.2_3.10.0-327.el7.x86_64

Since you've hardware to test this with, any chance you could work on upstreaming this driver ? I can help you with the kernel process if necessary.

Comment 4 Alexander Todorov 2016-10-27 11:00:59 UTC
(In reply to Hans de Goede from comment #3)
> (In reply to Alexander Todorov from comment #2)
> > NOTE: mba6x_backlight is an out of tree driver that I compiled myself.
> > Sources are available from
> > https://github.com/atodorov/mba6x_bl/commits/rhel_7.2_3.10.0-327.el7.x86_64
> 
> Since you've hardware to test this with, any chance you could work on
> upstreaming this driver ? I can help you with the kernel process if
> necessary.

Thanks for the proposal but it would be far stretch for me to actually do this. I merely cloned the git repo and built the source for RHEL, altering some of the patches here and there. I don't have the technical knowledge to actually maintain the driver upstream. 

I've filed an issue with the original author to see what his intentions are:
https://github.com/patjak/mba6x_bl/issues/57

Comment 5 Alexander Todorov 2016-12-01 14:54:59 UTC
ping, any update here? I've tried the same hardware with Fedora25 live cd and still all of the ports are disabled.

Comment 6 Alexander Todorov 2016-12-29 11:48:15 UTC
Followed some hints from here:
https://bugs.launchpad.net/linuxmint/+bug/1471254

and now with 
mate-settings-daemon-1.16.0-2.el7.x86_64
kernel-3.10.0-514.el7.x86_64

the display is working as expected. I did remove ~/.config/monitors.xml and /etc/mate-settings-daemon/xrandr/monitors.xml before reboot though. 

~/.config/monitors.xml appears to have been created automatically after reboot.

Note: -514 results in my computer locking up (not sure why ATM) so I've gone ahead and installed kernel-3.10.0-537.el7.x86_64 from nightly to see how things go.

Comment 7 Alexander Todorov 2016-12-30 11:44:13 UTC
Further update. It looks like the latest kernels have updated the Intel backlight driver. I have removed mba6x_bl package from my system and backlight controls still work as expected. Also external monitor works as expected with 3.10.0-514.el7.x86_64 and my computer hasn't crashed or frozen yet as it used to when mba6x_bl was installed so closing as not a bug.


Note You need to log in before you can comment on or make changes to this bug.