My journey for dual displays with my M1 Pro Mac (2021)
derekseaman.com
derekseaman.com
https://arstechnica.com/gadgets/2019/03/thunderbolt-3-become...
(I also suspect that Apple's cut wasn't huge to start with; Thunderbolt was developed with Intel, and Intel likely got the lion's share of royalties given that they were the ones actually selling the Thunderbolt controllers and seem to have been the driving force behind Thunderbolt 3.)
I haven’t yet tried dual displays with it but my other desk is using a Lenovo ThinkPad Thunderbolt 4 Dock and it’s also been solid.
I suspect that a lot of the more mass market oriented docks cut corners and don’t implement specs quite to full compliance which leads to weirdness like seen in the article.
M1 Pro and Max do not share this limitation.
My M1 Air runs my ultrawide at 60hz and is buttery smooth.
https://www.microcenter.com/product/639902/lg-34gp950g-34-2k...
My other ultra-wide is an ASUS PG348Q. It's crazy how that monitor felt huge when I got it, but it just seems tiny now.
I wish that when you shared an app window, Zoom would let you scale that to fit the full screen share. That way you could present a reasonable image of a window to viewers while using an ultra-wide monitor.
If I had another window open for chat/notes/emails I can still have that at half my ultrawide and just deal with a bit of overlap on my end
Ended up using OBS and sharing the obs preview window instead. This lets me add fun gifs and overlays as well to my screen for loading or success.
- The logical “partitioning” of workspace between displays is a nice tool for organization, particularly when combined with Spaces/virtual desktops
- I work from home, so my main display does double duty between work and games, which is a problem with the latter with many games having bad or lackluster ultrawide support
- Ultrawides restrict display selection quite considerably and often require concessions on things like color performance, backlight bleed, pixel response times (especially curved ultrawides, which seem to all use VA panels which are known for smearing and slow response times)
Use a better window manager.
I also just don’t like micromanaging my window arrangement or having the WM try to do it automatically (and usually get it wrong).
How is that solved by adding a monitor? If I used two (I don't any more) I would still use a (better than macOS default) window manager.
So in my typical usage, secondary/tertiary/etc windows go into purposed virtual desktops on the second monitor — e.g. one virtual desktop for documentation, another for chat, etc. This allows me to swap out the sets of less important windows independent of the main display’s workspace, with practically zero management overhead (just assign apps to virtual desktops during initial setup).
The extent of third party window management I use is Moom, which I use to snap maybe 3-5 windows across my entire workspace into specific locations/sizes. Something that emulates a Linux tiling WM like Amethyst would drive me insane.
What are some of the alternatives that you would recommend?
It's probably the simplest one. Draw the shape you want on a grid, assign a global hotkey to each shape (fullscreen, top half, bot half, left, right, etc.), press the hotkey to move current window into that shape. Press the same hotkey again to move it between monitors.
It's funny how you get so used to your own dev environment and all the global hotkeys you might have and then completely take it for granted until you use a computer with it.
On Linux I use i3.
Fancyzones makes this much more tolerable but misses a few minor scenarios.
I replaced two 1440p monitors with a single ultrawide and complemented it with a tablet on my desk showing hdmi through deskreen, usually showing a chat window. I guess technically I still have two displays but it takes up less desk space overall.
On the positive side the displays are centered in front of me better and I can fiddle with the tablet placement much more easily than a real monitor. I've experienced neck strain working for extended periods with windows on the edge of the farthest dual monitor.
I personally feel that 21:9 ultrawides aren't quite as good as dual 16:9 displays for productivity. But they're fine. My biggest complaint is that most people would reasonable center their monitor on the desk. If you run 2x16:9, you can have one centered, and one off to the side, which allows you to mostly look straight forward and have a natural primary/secondary setup.
At 21:9, this setup is weirder; either you size your primary window (browser, code editor, etc) to ~16:9, left-or-right-align it, then you have to slightly crane your neck, or you center-align it and you're left with slivers of screen real-estate to the left-and-right. Or you can shrink the primary center window, approaching maybe a max of 7:9 for all three windows, which is maybe rarely useful for some applications. Or you can maximize the window, and in most applications you get tons of unused space. Or you can physically offset the monitor on your desk, which looks weird. There's just no solution that works "great" especially given these displays are oftentimes at a small premium over 2x16:9.
I think something like the Samsung Odyssey CRG9 would be much higher productivity in ultrawide, with its 32:9 aspect ratio. There, you could run a ~16:9 centered primary window, and still have ~8:9 canvases to the left and right, which is enough horizontal estate to comfortably have a terminal, Spotify, browser, etc. Its also relatively affordable (~$1100), though given you can find solid 1440p 27" monitors for $200-$300, you're effectively cross-shopping 3x16:9 displays. Still definitely a "luxury" buy. Its ultimately unclear to me that it would be better, and not just "differently similar".
50 hz happens to be the limit of hdmi 1.4b (at 3440x1440), it sounds like somewhere in your chain you have something that is running at legacy speeds. Could be your dock, could be your monitor, could be an active adapter cable.
I’d start by making sure you’re running DisplayPort and not HDMI. HDMI is more or less a “legacy” port these days, as far as workstation usage is concerned. And unlike DP there is no embedded HDMI support in USB-C Alt Mode so any sort of USB-C to HDMI adapter needs an active converter - which may be your hdmi 1.4 bottleneck.
(note that the "passive" HDMI mode that full-size displayports offer - aka DP++ - is an optional part of the spec. It's so widely implemented on full-size ports that most people don't realize it's optional, but embedded DisplayPort implementations like eDP or USB-C Alt Mode, Thunderbolt, etc don't implement this feature.)
I know there's the LG 5Kx2K monitor, but MacOS can't drive it at 6880x2880 which is the scaling option I'd want - It's less pixels in total than a Pro Display XDR, but I guess their logic is "if (width > 6k) { don't allow }"
I tried it on my M1 Mini + LG5K2K and soon disabled it again. The performance impact was noticeable in Lightroom and the display adapter config got in the way once I switched display input to my work laptop.
It should be possible - 6880x2880 is fewer pixels than the Pro Display XDR, which an M1 MacBook Air can drive perfectly well.
You can test you got the full resolution by doing:
system_profiler SPDisplaysDataType | awk '/Resolution/{print $2, $3, $4}'I now have a single 27" 4k monitor which has better text rendering and no neck ache.
I will buy a 27" 5k if Apple sell one.
I'm not sure which is better. I like there's no divider in the middle of my display area! Work is giving me two 27" monitors so we'll see how it goes.
The only complaint, which is minor but annoys me several times a day, ... It takes several seconds for the Mac to wake up. Meaning, I have a PC also connected to the LG monitor vs DisplayPort. If I switch over and press a key Windows wakes up immediately. When I switch back to Mac and press a key it's easily 3-4 seconds before I can even start typing. I'm pretty sure that's USB-C/Thunderbolt only issue and if I used Displayport or something that problem might go away but still surprised Apple finds this acceptable give their focus on UX. I guess I get the number of people using 2 devices is low. But, even if I don't switch away and just walk away but leave it on Mac, when I come back, it takes 3-4 seconds to wake up vs Windows which is instant.
Note: "wake up" is the wrong word because the Mac has not started sleeping. I have processes running. I hear notifications, etc. It's just something to with getting things to display again.
I've got it just close enough to me to hit my max comfortable FOV (so I don't have to crane my neck to see parts of the screen) while still being unable to see pixels.
It's got a USB C port that can do 4k 120Hz (which is awesome) and puts out just enough charging power to keep my Air from draining while I'm using it.
At native 4K things area little small, but moving the MacOS scaling down one or two ticks is perfect.
Hard to imagine a more perfect setup, personally.
The few times I’ve used a 49 ultrawide, meh, I’m not impressed but it’s better than just the internal. I’d probably need to reset the window manager to do 1x4, rather than using thirds.
I’m confused why the author didn’t just purchase one of the cornucopia of Thunderbolt 3 (or 4) docks that do everything including display output.
Triple config (M1 Max): - OWC Thunderbolt 4 dock, connected to 2 4k displays, network, speakers, USB devices - 5k display connected direct to the mac
Dual Config (M1 Pro): - CalDigit TS3 dock, connected to 2 4k displays, speakers, ethernet, USB devices
Works perfectly, and we have no complaints about either config.
Why Is the 5k direct connect? Because there aren’t any TB docks that support 3x displays when pushing > 4k; I’m unclear if it’s technically possible.
I had previously run triple displays on a 13” Intel MBP using an eGPU. I wrote about that journey here: https://www.codevoid.net/ruminations/2020/09/27/three-displa...
It’s not technically possible given the bandwidth available on a TB3/TB4 port. 5K display requires 22Gbps, the port overall is limited to 40Gbps, so not possible to get more than one on a single cable. Due to the way TB uses the available lanes in the cable, it’s also not possible to my knowledge to support a USB-C 4K monitor daisy chained off a 5K monitor either even though there’s sufficient bandwidth (22 + 15 < 40) to do so.
Thunderbolt 5 w/ it’s supposed 80Gbps support will change that.
YMMV, of course.
USB 3 video is a troublesome way to connect a monitor, with a lot of vendor incompatible techniques for signaling sleep/wake, charging, and obscure limitations on resolution/refresh. For example, for years Dell stated that their USB C monitors were not compatible with Apple devices.
Thunderbolt 3 seems far more reliable, in my experience.
Possibly they had a specific need for actual DisplayPort ports on the dock though, and because they specifically wanted DisplayPort 1.4, that ruled out TB3 docks.
How do you like that OWC dock? It looks pretty nice. I also noticed that CalDigit has successor to your TS3 that looks pretty nice too.
I've theorized for a while that the OWC, Razer, Belkin, and Kensington TB4 docks are all the same (Razer sacrificed a USB port for RGB) -- they have the same basic layout, and same basic capabilities. The CalDigit TS4 looks like a different design, adding some more ports.
I have a friend with various TB docks w/ Intel Mac + eGPU, and have experienced a consistent issue when using a secondary USB-C DAC for audio. I haven't, but if that's your scenario, might be worth a pause.
[1] http://www.goodway.com.tw/prodimg/edm/DBD1100.pdf
[2] https://dancharblog.wordpress.com/2021/02/05/usb4-tb4-docks/
I think the whole point of TB4 is that you can plug multiple monitors straight into the dock.
Although I plug both into the Mac directly.
The article confused me too with its talk of dongles and DP ports on docks. Just get the right cables man! :-)
Side note - TB docks are still stupidly expensive, even after Intel changed the licensing which was supposed to make them cheaper. If I'm remembering that correctly.
Side side note: DisplayLink for 4K on M1 macs is still not working right! :-(
you're not a unicorn - both the M1 Max and Pro explicitly support multiple external monitors.
the base M1 laptop model that was released only supports one internal and one external. if I close the lid of the laptop, I can only use one monitor even with two cables.
Full 4K modes lose bits making it unusable for many things.
And scaled modes are not true hiDPI modes!
So QHD looks very pixelated on a 4K display!
I also have a Belkin Thunderbolt 3 Express Dock HD. Hooked up the same way, I experience the same behavior from the monitors. Both show up in display settings, but will not come out of sleep.
Interestingly, I see the same issue if I disconnect one of the monitors from the dock, i.e. only one monitor is connected to the dock. Basically, neither of my external monitors will work if they are connected to the M1 Pro through a Thunderbolt dock. Both work when plugged into the MBP directly, so I suppose I could connect one via HDMI and the other using TB3/USB-C to DisplayPort, with the rest of my peripherals connected through the dock, leaving me with one free USB-C port. Not exactly the dream.
I also have a Cable Matters USB-C Dual 4k DisplayPort dock. This is not a Thunderbolt dock. Both external monitors work, but the dual monitor functionality depends on DisplayPort MST, which Apple is infamous for not supporting. So, the external monitors show up as a single mirrored display.
CalDigit support told me that this was common when attaching two identical make/model external monitors to their dock. They suggested I attach dissimilar external monitors, but I don't have another DisplayPort monitor. Also, I don't want dissimilar monitors.
I guess I'm surprised this is a problem with the M1 Pro/Max. My understanding is that it was even worse with the original M1. Maybe Apple's user research shows that most people are not using multiple external monitors (or in my case: any external monitors) via Thunderbolt dock. Otherwise, I wish there was more writing from Apple explaining what configurations should work and why they might not.
The CalDigit support response sort of suggests that some monitors (or interfaces that fake it) aren't providing unique EDID data.
EDID is supposed to contain a serial number. Connecting two monitors that claim to be the "same" device because the serial number is the same is going to be a problem - which one is on the left or right? How can you know / remember? Basing it on which "port" they are plugged into will also lead to frustration if they get swapped or a hub is used.
What if you have two sets of the same monitors at home (L and R), and two more of the same monitors at work (L and R). What do you want the experience to be? (mapping Apps to the correct displays when moving environments is also an issue that, ahem, hasn't always worked well!)
I'd want (and I've been TOLD) that plug and play experience needs to be the same at home and at work after the manual setup of the monitor placement. At home the built-in display is on the right, with built-in switched to the left at work. NB: I really cannot see how to do all of this unless the monitors can uniquely identify themselves.
Recording or noting these setups / placements also could be a technical challenge - plugging in external monitors in a different order, including timing, does that create a new monitor "environment"? Given what I've observed, I think it does.
My wife has a setup like the above with 2x LG 4K displays (two USB-C thunderbolt cables / connections) in two locations. It has been "mostly working, but slow" for her old Intel MacBook pro or "working well" for a newly acquired Apple Silicon MacBook Pro with the current macOS Monterey.
Doing the numbers, home has 7 configs. IR=Internal-right. (I), (IR, LH), (IR, RH), (IR, LH, RH), (LH), (LH, RH), (RH). Work also has 7 configs. IL=Internal-Left. (I), (IL, LW), (IL, RW), (IR, LW, RW), (LW), (LW, RW), (RW).
Ramble: For the (exaggerated) 400 open windows any display plug/unplug event this is going to cause a re-render storm for a new DPI, colour depth and location for every window for each plug / monitor transition. Ouch.
I am dinosaur and this is an X11 flashback. How can or does any of this even work for Linux? An X11 app opens a connection to a "Display" and the DPI (size), colour depth and other params used to be "fixed" at that point in time, the client does all of the rendering for the window, providing a bitmap to the X11 server. In the past it was not possible to move windows between incompatible display parameters - making dynamic changes not possible. How does moving windows between monitors of different DPI / colour depth now work in X11? I need to look into this. Prediction: I likely will be a casualty in the war of display rendering.
Final ramble. With some of these new "standards" (looking at you, USB-C), it seems the goal is to get the license payment but there is no requirement that your product passes a conformance test in order to ship it.
MST mirroring works with all the MST capable DP monitors I’ve tried (half dozen or so), but have never got MST extend to work.
(also, what's with the weird, slow CSS transforms?)
I had a 2017 MacBook Pro and two 27 inch 4k monitors. I connected these through a variety of different dongles and configurations but always had a similar issue - after being in use for a while, no matter what I was doing, the system started to thermal throttle to the point of becoming unusable.
After many hours of hair pulling I discovered that using display scaling was the issue. Apparently using anything beyond the "default for display" option was taxing the GPU, which causes heat, which then heats the rest of the system to the point of it throttling the CPU. When I finally realized this I moved to using an eGPU. So basically something like 700 bucks for a Razer Core eGPU and AMD video card to function as a dock. Oh and cherry on top is the Razer Core's NIC doesn't work in macOS, Razer knows this and isn't planning on fixing it.
I was really excited about the M1 systems but I absolutely do not want to go through the hell of figuring out how to get two displays working. Particularly considering that I can't just sidestep the issue by using my eGPU since those aren't supported.
It's just a matter of different products having different specs. Barring the use of workarounds:
The older Macbook Pro with the plain M1 supports one external display.
The newer Macbook Pro with the M1 Pro supports two external displays.
The newer Macbook Pro with the M1 Max supports four external displays.
The advertising and hype kind of masks this issue. The reality of the new Mac architecture is that it is a "gaming console" compared to a normal PC. It's hyper optimized for a specific type of use and cuts corners in implementing hardware protocols and IO because there's no need for the average apple customer. As long as you only use the M1 console how it was intended it's amazing and fast. But attempt to do anything outside the normal with it and the console's glaring hardware short-cuts come to light.
The main problem is that specs nowadays have become meaningless. Thunderbolt has so many variations, same with displayport and hdmi and usb. Anything in the chain can choose to embed whatever spec in whatever way they want. Its almost impossible to predict upfront if someting will work out of the box or not, especially with things like docks and dongles.
Actually, Thunderbolt doesn’t, where as the others are definitely true.
https://eclecticlight.co/2021/02/10/external-boot-disks-stil... , https://tidbits.com/2021/05/27/an-m1-mac-cant-boot-from-an-e...
This is a very common thing that all PCs can do and you'd expect a top end ($$$$) laptop to be able to do. But because of proprietary choices in the boot process M1 consoles can't.
What it doesn't do, is power your laptop. I don't believe any Displaylink hub can do that.
$159 and Plugable has other port configurations to choose from as well: https://www.amazon.com/gp/product/B08B6CZ29Q/ref=ppx_yo_dt_b...
https://satechi.net/products/usb-c-on-the-go-multiport-adapt...
Apple’s default screen management tooling is awful though so I can highly recommend SwitchResX for that.
Also have a TB4 dock from Sonnettech (3 TB4 inputs / one output), to which I have a 10Gb/s qnap tb3 adapter plugged in. (The qnap works great btw if you are on the lookout for 10Gb/s networking for your MacBook. Make sure to get the sfp+ and not the ethernet version)
I am using them either with the Macbook closed or with all three screens at the same time.
One of the monitors is connected using built in HDMI and this one works super stable.
The other is connected through Belkin adapter that I bought from Apple. It sometimes experiences problems (it shows noise) and has to be disconnected and reconnected. This usually happens only after the monitor has been turned off for the night but the laptop was on (I keep it on due to various experiments I am running).
Overall I am super happy.
https://plugable.com/blogs/news/how-to-connect-more-external...
4K support isn't fully capable, and scaled display modes are not hiDPI modes.
If you have standard 2K or FHD displays, then DisplayLink is probably fine right now :-)
I'm hoping someone does a true 4K version (well 2 4Ks side by side I guess)
That's been my main gripe so far with an external display, that and also MacOS not allowing rotation of an inbuilt display.
The monitor works great plugged directly into either machine however if I try to use any sort of DP 1.4 switch both machines will only see my 5k monitor as 4k. I've tried various cables, all of which say they are DP 1.4 certified.
Anyone in this boat with me?
You can literally just buy cheap USB-C to DP cables on Amazon that work perfectly fine.
No Dongles or Docks required.