|
I have the CalDigit TS3 Plus and two identical Dell 24" displays (U2415). One monitor is attached via TB3/USB-C to DP, the other DP to DP. This setup worked with a 2018 Intel MBP without issue. With an M1 Pro MBP, the monitors are detected, but will not come out of sleep. 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.