I have a MBP mid-2012 (pre-Retina) running Mojave or High Sierra. I use the latest version of SwitchResX to handle the external monitor rarer resolution of 1440x900, surely not too many pixels for the older Intel graphics chip. Video adapter is a Thunderbolt 1-to-VGA.

Previously, I used a DisplayLink USB3-based video adapter to light the second monitor (legacy from a slightly older MBP with a burnt Thunderbolt chip) with few issues, except the ginormous CPU consumption that made it impossible to use said adapter for anything else than text or short animations, the single reason why I want to revert to the Thunderbolt adapter. USB3 was never made for streaming video data, no matter how good the compression and algorithms.

Problem: Every time I try to connect the external monitor in Mojave, the OS freezes with a short delay. However, briefly before freezing, SwitchResX does acknowledge the external monitor presence, albeit at an extremely low resolution of 800x600. If external monitor is plugged in before boot, boot doesn't proceed.

Already tried:

  • Same maneuver in High Sierra triggers the same behavior.
  • Resetting PRAM then SMC has no effect.
  • Disabling SIP has no effect (Off the top of my memory, since I cannot access local recovery partition for Mojave)
  • Connecting as a different user on either OS triggers same behavior
  • Last time I checked, booting in safe mode on either OS allows the external monitor to turn on. Of course, running in safe mode just to get a working external display isn't a viable solution.

Not tried: Full OS reinstall. While it would be pretty radical, it is extremely time-consuming and may or may not yield results

What could be happening here?


booting in safe mode on either OS allows the external monitor to turn on

This is strong evidence for what I suspected was happening as soon as I started reading your post: The accelerated 3D graphics driver has a bug. Running in Safe Mode prevents that driver from loading, among other things, so you avoid running that buggy code.

One thing I didn't see you mention is whether you see a panic report after you reboot (the "Your computer restarted because of a problem" message). If you get one of these, can you add the details to your question? If not, can you check /Library/Logs/DiagnosticReports for new reports created after you reboot?

The failure-on-boot is mildly interesting. Can you try booting in Verbose Mode (CommandV during boot), take a slow-motion video with your iPhone, and add the still-screen framegrabs to your question so that we can see the boot console text and the precise moment of failure? (I bet it will be during the GPU driver loading, which we can pin down with the kextlog=0xfff boot-arg set.)

In any case, without advanced debugging tools and source code access, you will never root-cause this issue yourself. The best you can hope for is a workaround.

  • One which you have found, which is obviously not viable, is running in unaccelerated mode.
  • Try upgrading (or downgrading) to a different OS, which will have different versions of the graphics driver and might not contain the same bug.
  • Use a supported resolution.

Your options are, unfortunately, limited in this case.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .