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.

I’m a MacOS n00b. I’ve avoided it all my life. Now that I’m forced to use it for work, I’m finding all the quirks that Apple folks don’t tell you. I’ve decided that I’m going to write up the documentation that I wish I had.

My Equipment

Here is my setup for reference. It’s tried and tested.

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.

Open System Settings, then Displays.

Display settings

Holding the option check changes the Gather Windows button in the bottom right into Detect Displays. Great design, right?

Display settings - detect displays

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).

Open 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.

Energy Saver settings - prevent computer from sleeping

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.

Troubleshooting

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.