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/LaunchAgents, Library/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
Post a Comment