It's 2020, this was much harder than it should have been
This article covers how to attach two or more displays to a MacBook, specifically a MacBook Pro. Both directly connecting the MacBook to the external displays and using a KVM switch are covered.
Due to some quirks with Apple hardware I had to go through a few setups myself before I got it all working properly. I hope to save you the trouble.
Here is my setup for reference. It’s tried and tested.
- Two displays with HDMI support
- MacBook Pro running macOS Catalina 10.15.4
- AmazonBasics HDMI Cable
- Sweetysun two port dual monitor KVM switch
Be aware that the cables you use must be able to support the bare minimum MacBook specifications. This matters for all computers, but seems to be especially relevant in the Mac ecosystem.
Supporting Multiple HDMI Outputs On MacBook
The MacBook Pro only has USB-C outlets. Adapters are needed to support HDMI output. #maclife
I chose a SIIG hub that connects to the MacBook with two USB-C ports. It provides a single HDMI port for one displays, two USB-A slots (keyboard and mouse or KVM), plus USB-C slots for a better price than the Apple alternative. For the second display I bought a USB-C to HDMI cable.
When connecting everything, the key is to only have one display output per MacBook port. Using an adapter that plugs into multiple MacBook USB-C ports should also only have one display attached to it.
Originally I had both displays going through my hub which uses two MacBook USB-C ports. I had one display driven connected to the hub’s HDMI port and the other to the USB-C to HDMI cable, also connected to the hub. This only worked when directly connected to the displays.
Not having one display per port caused issues when I added a KVM switch. The second display either wouldn’t be recognized, or it would work perfectly fine for a few seconds and then go black while still be recognized as an ‘active’ display. I could not reliably reproduce the latter case.
Setting Up The Displays
With all the adapters setup and the displays connected and powered on, open the MacBook. Sometimes the displays will be discovered automatically, but not always. This detection can be triggered manually.
System Settings, then
Holding the option check changes the
Gather Windows button in the bottom right into
Detect Displays. Great design, right?
Once the displays are active, use the
Displays system menu to adjust the displays as needed.
Keeping MacBook Awake While Using A KVM Switch
When using a KVM switch you expect to be able to switch directly to the PC slot connected to the MacBook and have the machine be ready to go. Out of the box, that is not the Apple experience. By default the MacBook falls asleep and needs to be woken before use; either open the lid, or disconnect and reconnect the external power supply.
This is fixed by disabling automatic sleeping when the display is off (or in our case disconnected).
System Settings, then
Energy Saver. Go to the
Power Adapter tab for settings that apply when plugged in to an external power supply. Enable the option
Prevent computer from sleeping automatically when the display is off.
A standard KVM switch does not support virtualization. KVM virtualization means the KVM will act like your peripherals are connected to all PCs, even when they are not the active KVM PC slot. This creates the illusion of never disconnecting the peripherals from any PCs.
When a standard KVM switch connects to a different slot, it disconnects the peripherals from the current PC and connects them to the new PC. The default MacBook power settings will sleep the computer if the external display disconnects even if the MacBook is plugged into a power outlet.
If you ran into trouble at any stage there are plenty of resources available, although what you need to know might be buried. There’s always Google, the official Apple documentation, and Stack Exchange.
When that fails you can always go to the online experts. Personally I have used /r/mac, the Mac subreddit, which has a supportive community.
Good luck out there! I’m sorry software sucks sometimes.