profzei / Matebook-X-Pro-2018

💻 macOS on Huawei Matebook X Pro 2018
Apache License 2.0
369 stars 48 forks source link

macOS does not detect external monitor after updating to latest EFI release #196

Closed samwzlim closed 2 years ago

samwzlim commented 2 years ago

Hi @profzei, I started facing this issue recently after updating to the latest EFI release (from 2.4.0 to 3.1.0).

I am running a triple monitor setup (including the internal display of the MBXP), and am facing an issue with one of the USB C ports on the MBXP, where macOS will not detect my HDMI external monitor when plugged in via a type C dock.

2021-10-22 at 19 19 06

More specifically, this issue only exists with this particular port. The other USB C port does not have this issue whatsoever. A reboot fixes this issue, and my external monitor is able to be detected once again. However, after unplugging the MBXP for some time (overnight), the issue returns the next morning.

My type C dock has a HDMI port, headphone jack, ethernet port, USB ports as well as power delivery. The odd thing I noticed is that although macOS doesn't detect my external monitor, it is able to detect everything else connected to the dock (audio output, ethernet etc.). What could the problem be?

PLTorrent commented 2 years ago

In one word Thunderbolt. You are connecting to TB port of MBXP. Use the other port instead, or keep the monitor plugged when booting the system. This is my guess.

Also try changing Thundebolt authentication in BIOS: Main -> Thunderbolt Device -> Security Level -> No Security

You could also try disabling Thunderbolt controller in the BIOS altogether.

samwzlim commented 2 years ago

Also try changing Thundebolt authentication in BIOS: Main -> Thunderbolt Device -> Security Level -> No Security

Thanks for the suggestion. Have changed from User Authentication to No Security. Will see how it fares over time and update back here!

profzei commented 2 years ago

In my opinion, I made only one change to device PciRoot(0x0)/Pci(0x2,0x0) from 2.4.0 to 3.1.0 (or better from 2.4.0 to 3.0.0) release which is also very well documented in Changelog and in Readme (in the latter I created a sub-section called Notes: external Display support) files in homepage:

Honestly, it is not possible to create a single EFI with ALL the properties which could be considered as essential by some users and totally unuseful by others...

For example in this case for me it was more useful to remove force-online property since I discovered and documented that it slows down boot process if no external devices are attached to monitored ports...

Is it an issue of this particular EFI? Answer: No since it depends on WhateverGreen.kext

Therefore try my advice and let me know if default/usual behavior is restored!

samwzlim commented 2 years ago

Hi @profzei , Unfortunately, my MBXP is still unable to detect an external monitor through that particular USB C port after being undocked for a long period of time. Here were the steps I took in an attempt to fix the issue:

  1. Disable thunderbolt support in BIOS
  2. Added keys force-online and force-online-framebuffers with relevant data to config.plist
samwzlim commented 2 years ago

@profzei Do you think reverting to a previous version of WhateverGreen.kext will remedy the issue? I am out of ideas of how to solve this :(