Skip to main content

A tale of a brand new MacBook Pro Silicon and non-working external screens

So I recently bought a new MacBook Pro 14" 2022 with MacOS Ventura. Moved everything over got to work!

Or so I thought. After a couple days I noticed how every time, my external LG displays refused to connect with the Mac. Initially thinking it was a fluke, I messed with some wires and eventually rebooted the MacBook and everything was fine. But the issue returned and it seemed that each time after waking up the Mac, the screens would not come back.

So last Sunday, I got so annoyed I was determined to figure out what was going on. And this turned into a deep investigation with verifying the functionality of each and every part in the system and lots of Googling. Before each theory and test, I'd reboot to bring both monitors back to life, sleep the system, wait a few minutes and then try to wake up the monitors. 

I started by just plugging and unplugging, as well as restarting hardware. The screens are LG screens which are known to sometimes have time synchronization problems with Macs, and my CalDigit 3+ docking station sits in-between all that, further muddying the waters. Also the dock is Thunderbolt 3, and the Mac is Thunderbolt 4 now and Thunderbolt and DisplayPort via Thunderbolt is notoriously picky, so a likely area to investigate. And so I tested:

  • Dock with one monitor
  • No dock, just one LG monitor
  • No dock, just the other LG monitor
  • The original LG Thunderbolt cable with one LG screen
  • The original CalDigit Thunderbolt cable with one LG screen
For each of the combinations I used several tests.
  • Replugging the cable after sleep. This should normally trigger display detection.
  • Use "detect displays" after sleep. This resends the communication signal for the displayport handshake.
  • Restarting the display by physically unplugging it from mains after sleep. Perhaps the display had a chip that would get into a 'bad state' after sleep ?
All of these tests failed and the only fix, every single time, was a restart of the Mac. Now I got concerned.. was the brand new Mac broken ? Were both LG screens just not compatible with it ? Google time. Google had lots of advise for me of course. Most of it reiterated what I had already tested, and lots of complaints about how shitty LG screens were on Macs these days, firmware updates of the display/dock and how not everything with a USB-C connector is a Thunderbolt cable.

So perhaps it was the Mac that was in some sort of weird state. Next steps:
  • A forced restart
  • An SMC reset
  • I granted permissions to each and every background task (Login Items section of System Preferences)
  • I revoked permission from each background task
  • Maybe something about the Startup Security settings ? Didn't even know about this new fangled thing.
In the end I did what I should have thought of immediately when determing everything worked on initial boot... Start up in Safe mode. NOW the displays worked after waking from sleep. This means it was either a System Extension OR a (background) Login Item. Now to find the culprit !!

When I had setup my new Mac, I migrated everything from the old to the new Mac with Migration Assistant. I have done this many times before with at least 3 machines in the last 10 years. Generally it works very well, but it also causes all kinds of old crap from years and years ago to move along with you to new hardware and newer versions of the OS. I had the same installed on my older MacBook, but now I had upgraded both to a new processor architecture AND a new version of macOS. Either could have triggered a fault somewhere.

I just went with a process of elimination again. Disabling non-Sytem extensions from /Library/Extensions (be careful, this also includes a few system extensions) and cleaning up anything I wasn't using from /Library/LaunchAgentsLibrary/LaunchDaemons~/LaunchAgents, ~/LaunchDaemons. In the end, I'm not entirely sure what fixed it (I tended to disable 2-3 things for each round), but I'm pretty sure it was either removing (old) VirtualBox, OR, and this seems most likely to me, a very old USB extension for communicating with an Arduino.

Anyway. If you have trouble with displays not returning after sleep, Ignore what most of the Internet says. If rebooting with the screens plugged in works, but waking from sleep fails, then you should startup in Safe mode. If that works, you should either begin with a fresh macOS install OR if you are comfortable with digging through your /Library directory, (temporarily) disable extensions and/or startup items until you find a culprit.

Comments

Popular posts from this blog

kAMDReceiveMessageError

We kept running into a kAMDReceiveMessageError in our company, when trying to install adHoc iPhone apps with the iPhone Configuration Utility for Windows. Everything was fine if people tried to install using Windows iTunes. After much time it was tracked to the addition of UIRequiredDeviceCapabilities to the Info.plist. For some very strange reason it seems that the Windows ICU doesn't like that property at all and fails to install any app that carries it. Not sure if this will affect AppStore submission, iTunes handles it and so does the Mac version of ICU it seems, but it is at the very least mildly annoying that testers can't install our application using Windows ICU.

HTML 5 video player for mediawiki now with fullscreen support

Michael Dale has been working hard on a new media player for the mediawiki projects. This media player is based on the HTML 5 <video> tag . You can compare it to the demo players of Youtube and Vimeo and DailyMotion . It should support Firefox 3.5, Google Chrome 3, Opera 10.5 and if you install the Xiph QuickTime components it works with Safari 4 for the Mac. If your browser doesn't support HTML5, the player will use the JAVA cortado player , like it does in the old version of the Ogg player. Recently both Apple and Firefox introduced Fullscreen support for the <video> tag in their development versions of the browsers, and these features can now be used with the new player for Wikimedia. The controls automatically show and hide, and you can even add and display subtitles with it. How do I test it ? It is rather easy, you go to this example video . If you want to enable it for all videos, you need to be registered on Wikimedia Commons or the English Wikipedia . You

Template editor

The Wikipedia Usability Initiative is finally making good progress on their template folding and template editor. Much of what the project has been doing with the edit screen has been in preparation of this work. The editor now folds complicated templates into a small block. One of the sandboxes the project uses now has the code deployed and it seems to be working quite well. Be aware that this is a development platform, and that browser peculiarities might not be fully dealt with yet. It is also NOT final. The wiki editor with folded templates. You can unfold the block, by clicking on the arrow to show the template code, or you can click the block and you are presented with a template editor that makes it easier to change the values of the template. This should be very helpful, because research showed that much of the trouble people had with editing Wikipedia, was the complex code on the edit pages. The template code is by far the most obscure and complicated code of all our wik