MacBook Pro m5 can’t recognize two external monitors with same EDID binary serial (only one works at a time)

My MacBook Pro M5 running MacOS Tahoe 26.3 beta fails to detect two identical ASUS ROG Swift OLED PG32UCDM monitors simultaneously. Only one display is recognized at a time.

One potential root cause might be that both monitors report identical binary EDID serial numbers (0x01010101), and the MacBook Pro M5 appears to use this value exclusively for display identity rather than combining it with other more detailed information (e.g., port, or alphanumeric serial number).

I've verified that the monitor EDID binary serial numbers are in fact identical -- however the alphanumerical serial numbers are not identical.

NOTE: This behavior is specific to the MacBook Pro M5 — when connecting both monitors via usb-c to a Mac Mini M4 Pro running the same MacOS Tahoe 26.3 beta, the monitors work fine. The OS detects both and assigns different names to them (PG32UCDM (1) and PG32UCDM (2)).

NOTE: I could be wrong about this root cause, I don't have a way to disprove it, though the fact the monitors work fine on a Mac Mini is suspicious.

What I have tried:

  • Connecting the two monitors using different monitor ports (one on DisplayPort, another on HDMI, etc.), and different MacBook ports (one on HDMI, another on USB-C, etc.)

  • Bumping down the resolution on the monitors to "1920x1080 (low resolution)" and 30Hz to rule out bandwidth issues.

  • Connecting one, or both, monitors to CalDigit TS5 Plus dock. Neither alternate configuration yields the device recognizing both screens.

  • Using BetterDisplay to import a manually-edited EDID for the screen, with a different binary EDID value, manufacturer name, etc.

I've also verified that if I plug in my Apple Studio Display as one of the monitors, then the MacBook recognizes both one of the PG32UCDM monitors and the Studio Display at the same time. The issue seems to occur only when both monitors plugged into it are the same PG32UCDM model.

When I have both monitors plugged into my MacBook, each time I disconnect the cable to whichever monitor is currently recognized, it immediately recognizes the other monitor. Plugging the cable for the disconnected monitor back in has no effect.

I'm at a loss.

Has anyone run into this issue and found a successful workaround that is not one of the approaches I've described above?

One additional note — when I have both plugged in, and I unplug the one being recognized, it immediately recognizes the other one and applies whatever screen settings I had set on the now-unplugged monitor to the other one, suggesting it thinks it’s the same monitor plugged back in.

Have you filed a bug on this and, if so, what's the bug number?

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Yes: FB21777337

First off, jumping back to here:

One potential root cause might be that both monitors report identical binary EDID serial numbers (0x01010101), and the MacBook Pro M5 appears to use this value exclusively for display identity rather than combining it with other more detailed information (e.g., port, or alphanumeric serial number).

Have you contacted the display vendor about this? Setting all other issues aside, at a minimum the duplicate value is "weird" and possibly out of spec. The OS should handle this, but that doesn't mean the monitor should be doing this.

Yes: FB21777337

Looking at the bug, are you absolutely certain both monitors were plugged in when you captured the sysdiag?

My concern here is that, based on the registry state at the time of capture, I can't see ANY evidence of the second monitor at ALL. That's very strange, as the management of the bus itself is totally separate from the higher level display logic. It's possible that I'm overlooking something, but if both monitors were plugged in at the time you triggered the sysdiag then this would imply that something is going on at a much lower level.

If you can, what I think would be most helpful here is a sysdiag captured with both devices attached via USB AND with a USB device attached to both monitors. This helps validate the general bus configuration outside of the display system.

Has anyone run into this issue and found a successful workaround that is not one of the approaches I've described above?

I'm not sure of the exact hardware you need, but EDID emulators/adapter dongles are widely available and I suspect the "right" one would make this work fine. Basically, you need to force a configuration to the mac that's indisputably "different" (the right KVM switch might work as well).

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

I have the same issue with my m5. Matching Asus monitors on a CalDigit ts4. Both using DP to USBC adapters from Cable Matters.

26.2. Works fine on my M1 Pro. Not on my M5. I contacted CalDigit and they're blaming macOS. very frustrating since my M5 is work issued and I can't use my second monitor.

I have the same issue with my M5. Matching Asus monitors on a CalDigit TS4. Both using DP to USB-C adapters from Cable Matters.

Have you filed a bug on this and, if so, what's the bug number?

Critically, I'm still looking for a sysdiagnose that's been collected with this configuration:

"If you can, what I think would be most helpful here is a sysdiag captured with both devices attached via USB AND with a USB device attached to both monitors. This helps validate the general bus configuration outside of the display system."

Finally, going back over all the data, there is a difference between the maximum display configuration of the Mac Mini M4 Pro (working):

Supports two external displays in any one of these configurations:

One display up to a native resolution of 8K (7680 x 4320) at 60Hz or 4K (3840 x 2160) at 240Hz over Thunderbolt or HDMI, and one display up to a native resolution of 5K (5120 x 2880) at 60Hz over Thunderbolt

One display up to a native resolution of 8K (7680 x 4320) at 60Hz (or 4K at 240Hz) over Thunderbolt, and one display up to a native resolution of 4K (3840 x 2160) at 60Hz over HDMI

Two displays up to a native resolution of 6K (6144 x 3456) at 60Hz or 4K (3840 x 2160) at 144Hz over Thunderbolt or HDMI

And the MacBook Pro M5 (failing):

Supports one display in the following configuration:

One display up to a native resolution of 8K (7680 x 4320) at 60Hz or 4K (3840 x 2160) at 240 Hz over Thunderbolt or HDMI.

Supports two displays in the following configuration:

Two displays up to a native resolution of 6K (6144 x 3456) at 60Hz or 4K (3840 x 2160) at 144Hz over Thunderbolt or HDMI.

Unfortunately, that difference might be enough to prevent the MacBook Pro from working.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Unfortunately the duplicate binary EDID issue is a known, common practice among monitor manufacturers - they'll often use the same binary edid for a full batch of monitors to cut on complexity or cost. Asus does not offer a tool that can let me patch this on the monitor, and I couldn't find a DIY solution that lets me patch it myself.

I'm 100% certain both monitors were plugged in. I've replicated this again just now to get you a new sysdiag as well.

It's worth noting - I am dropping the monitor to "1920x1080 (low resolution) @ 30Hz" specifically to mitigate the risk that it's a bandwidth issue.

It's also worth repeating that when I disconnect one monitor the other one is immediately recognized and connected, and it adopts the profile of the first monitor (i.e., it adopts the 1920x1080 @ 30Hz setting, which is non-standard for this monitor), which makes me think the system believes they're the same monitor.

Also, worth repeating that if I plug in a Apple Studio Display ("5K Retina") and one of my monitors, it detects both of them successfully.

Anyhow, I've replied into the bug report via Feedback Assistant with a new sysdiag result attached.

Kevin, both of my monitors are hooked up to a thunderbolt dock with DP to USBc cables. Are you saying this is an unsupported configuration with a M5 MacBook Pro because that not what CalDigit says.

should I be using HDMI to USBC instead?

First, a quick comment and disclaimer here:

Kevin, both of my monitors are hooked up to a Thunderbolt dock with DP to USB-C cables. Are you saying this is an unsupported configuration with a M5 MacBook Pro because that’s not what CalDigit says.

To be perfectly honest, I don't know. This is an engineering support forum, and I initially responded because this started as a question/concern about how the low-level system was handling a particular display configuration. I've passed along some ideas and suggestions, but my area of expertise is ultimately about how our overall system works, not the specific details of any given machine configuration. Frankly, I can only carry around so many details in my head, and the specifics of all our device configurations are one of those details that I've had to let go of. In terms of testing, I'd recommend having one display plugged into HDMI and the other into USB, but that's simply because it's the simplest possible configuration, and there's no point worrying about other configurations until the simplest one works.

I have some other comments/suggestions below, but I'll put this up front as my most "practical" advice:

It's worth noting - I am dropping the monitor to "1920x1080 (low resolution) @ 30Hz" specifically to mitigate the risk that it's a bandwidth issue.

How did you actually do this? Just through the macOS settings, or have you tried doing this on the monitor itself and/or through ASUS DisplayWidget?

https://www.asus.com/content/monitor-software-osd-displaywidgetcenter/

I can't promise it will work, but I suspect reducing the resolution/refresh rate from the display side (so the Mac never "sees" 4K@240Hz) might get this working.

If that doesn't work, then the only other option I can think of would be to put something like a KVM switch, dongle, or older HDMI cable in "front" of one or both displays of force them to a lower resolution/refresh rate.

Unfortunately, the duplicate binary EDID issue is a known, common practice among monitor manufacturers - they'll often use the same binary EDID for a full batch of monitors to cut down on complexity or cost. Asus does not offer a tool that can let me patch this on the monitor, and I couldn't find a DIY solution that lets me patch it myself.

I'm less and less sure that the EDID is at issue here, primarily because this is working on other hardware (like the Mac Mini M4 Pro). Basically, there are two failures here that would "make sense". Namely:

  1. The high-level system was relying on something like EDID and becoming confused due to the duplication. The problem is that the high-level system is common across "all" our systems, so I'd expect an issue like this to affect all hardware.

  2. A low-level bus issue means that the hardware bus itself is having problems differentiating the hardware. An issue like this can be hardware-specific, since the bus architectures of our machines vary. However, the problem is that an issue like this would be confined to a given bus - so it could affect two monitors plugged into USB, but it would not happen if one was plugged into USB and the other plugged into HDMI.

The problem is that neither of those really fits your scenario. That is, it's machine-specific (which rules out #1) AND it's “persistent" across multiple, very different configurations.

That leads to here:

It's also worth repeating that when I disconnect one monitor, the other one is immediately recognized and connected, and it adopts the profile of the first monitor.

This is what happens when you plug “too many" displays into a Mac- as soon as one display is removed, it powers on the next display.

(i.e., it adopts the 1920x1080 @ 30Hz setting, which is non-standard for this monitor), which makes me think the system believes they're the same monitor.

I think you might get the same behavior if you had two totally different monitors with similar configurations. Basically, the system favors maintaining a "stable" overall configuration, so it uses the previous configuration instead of some older one.

Also, there's a difference between:

  1. The system being unable to uniquely identify a specific monitor based on its metadata.

  2. The system not being able to differentiate the device as they're connected.

To make an analogy, it's fairly easy to buy two identical cars and, if you're careful, make it IMPOSSIBLE for a person to tell which car is which when presented when looking at only one of those cars (case #1). However, parking those cars next to each other doesn't make you think there's only one car- there's the one on the left and the one on the right.

Something very similar to that plays out in how the kernel handles displays. A "display" is actually a complex series of drivers and communication channels between the kernel and user space, which means there can't really be a "confusion" about which monitor is which. The "display" is that complex communication channel, not the metadata (like EDID) that happens to be attached to that infrastructure.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

I gave Asus' DisplayWidget Center a try, but as far as I was able to tell, it does not offer a way to directly configure the resolution of the monitor. The monitor's menu doesn't offer any such options either.

BetterDisplay has options that supposedly override the default resolution and the native resolution of the monitor in the OS profile, but I couldn't get that to make a difference either.

I tried a HDMI 4k @ 120Hz EDID Emulator as suggested earlier, and this finally worked. Starting from both monitors plugged in, I unplugged one cable from the monitor, connected the EDID Emulator, and plugged it back into the monitor; the MacBook didn't detect the monitor at first. But unplugging the other monitor made it detect the one with the emulator, and then re-plugging in the other monitor detected it as well, and so both monitors were working from there on out.

I now have both monitors running at "3008x1692 HiRes @ 120Hz" (which I understand is, in practice, 3840x2160 pixels being pushed to the monitor at 120 Hz).

It's still unclear to me what the root cause here is - whether it worked because the EDID Emulator provided a sufficiently-different ID (which in fact it did, totally different numeric serial number, display name, vendor and model ID, etc.), or because the EDID Emulator forces the signal to 4k @ 120Hz.

It seems to me like the MacBook Pro should be able to detect both monitors "out of the box" though - I imagine the expected behavior when plugging in the monitor is that the system can detect it, and push it a supported resolution that the system can handle.

So, I think the sequence below actually explains what's going on. Breaking it down in detail:

I tried a HDMI 4k @ 120Hz EDID Emulator as suggested earlier, and this finally worked. Starting from both monitors plugged in,

A) There is the "state" of the system:

  1. Monitor Active, 240Hz
  2. Monitor Inactive

The configuration is the "max" configuration of the machine, so it can't drive the second display.

I unplugged one cable from the monitor, connected the EDID Emulator, and plugged it back into the monitor; the MacBook didn't detect the monitor at first.

B) State is the same as above:

  1. Monitor Active, 240Hz
  2. Monitor Inactive

Still max configuration.

But unplugging the other monitor made it detect the one with the emulator,

C)

  1. Monitor (disconnected)
  2. Monitor Active, 120Hz

and then re-plugging in the other monitor detected it as well,

Now, when the second monitor is attached the mac has "headroom" available, which allows it to shift the resolution of the second display "down", leaving you with this:

D)

  1. Monitor Active, 120Hz
  2. Monitor Active, 120Hz

Putting that another way, the issue here was/is that connecting both monitors requires shifting the refresh rate of both monitors "down", but the system isn't doing that to the already already connected display. Means there isn't any "headroom" to initialize the second display until adaptor forced the resolution of the second display down.

It's still unclear to me what the root cause here is - whether it worked because the EDID Emulator provided a sufficiently-different ID (which in fact it did, totally different numeric serial number, display name, vendor and model ID, etc.), or because the EDID Emulator forces the signal to 4k @ 120Hz.

It's the refresh rate change. If this were about the EDID itself, then "B" would have worked.

It seems to me like the MacBook Pro should be able to detect both monitors "out of the box" though - I imagine the expected behavior when plugging in the monitor is that the system can detect it, and push it a supported resolution that the system can handle.

Ideally, yes. I'm not sure why I didn't reconfigure the existing display "B", though it's possible it's avoiding that for "safety" reasons. One of the troublesome issues with displays is that the system can't really "trust" that any given change will result in a working screen, which is why it (used to) present the "are you sure countdown" for some resolution changes.

Thinking about this also clarified why this didn't work:

It's worth noting - I am dropping the monitor to "1920x1080 (low resolution) @ 30Hz" specifically to mitigate the risk that it's a bandwidth issue.

When you switch between resolutions in the display interface, you'll notice that it happens "immediately" and there isn't the same warning countdown we used to display. That's because, as part of the transition to high DPI displays, we don't really change the resolution of the display, but are instead scaling the content to the equivalent of a given resolution. Putting that another ways, it used to be that changing the resolution meant that we specifically sent fewer pixels to the display, but what it means today is that we use exactly the same number of pixels to draw larger content. This is also why the resolution switch didn't make the interface pixelate. I'm not sure how that plays out with refresh rate, but I suspect it's a similar situation.

In any case, I've updated your bug with these details and I'm glad you've got it working.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

I think I follow your point - however to be clear, I had already dropped the "working" monitor down to 3008x1692 "hiDPI" @ 120 Hz (which from what I looked up online, is 4K @ 120 Hz in terms of pixels being pushed to the screen by the MacBook), and connecting the other monitor into the MacBook Pro at that point still had no effect, until I added in a EDID emulator into the second monitor and then connected it.

So the "working state" where the MacBook Pro has one monitor connected at 4K @ 240 Hz isn't the true "starting point," and I believe even with HiDPI enabled the refresh rate is changing when I change it in OS settings, because it's a very visible drop particularly down from 100+Hz into 60Hz or 30Hz. Additionally, I've tested the "working state" where the one working monitor is at e.g., 1920x1080 low-DPI at 30Hz (very blurry due to low DPI, very visible framerate skips when moving the mouse around due to 30Hz) So presumably this working state would allow the second monitor to be plugged in with plenty of headroom, but it still only starts to work when a EDID Emulator is added into the second monitor.

I think I follow your point - however, to be clear, I had already dropped the "working" monitor down to 3008x1692 "hiDPI" @ 120 Hz (which, from what I looked up online, is 4K @ 120 Hz in terms of pixels being pushed to the screen by the MacBook),

How were you making that change? The problem here is that I'm not sure the display settings pane will actually change what we're sending to the screen. Did you see the screen reset when you changed resolutions?

Having said that, this does sound like you've forced a real resolution change:

So the "working state" where the MacBook Pro has one monitor connected at 4K @ 240 Hz isn't the true "starting point," and I believe even with HiDPI enabled, the refresh rate is changing when I change it in OS settings, because it's a very visible drop particularly down from 100+Hz into 60Hz or 30Hz. Additionally, I've tested the "working state" where the one working monitor is at, e.g., 1920x1080 low-DPI at 30Hz (very blurry due to low DPI, very visible framerate skips when moving the mouse around due to 30Hz). So presumably, this working state would allow the second monitor to be plugged in with plenty of headroom, but it still only starts to work when an EDID Emulator is added into the second monitor.

...so it's possible that the behavior here is being driven by the available configuration set, not the current configuration set. That's what the EDID Emulator changes here- it tells the system that your monitor CAN'T do 240 Hz.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

...so it's possible that the behavior here is being driven by the available configuration set, not the current configuration set. That's what the EDID Emulator changes here- it tells the system that your monitor CAN'T do 240 Hz.

Following up on myself, I've gotten confirmation from the engineering team that I described above is basically what's going. That is, driving the display at 240hz require both of the two display "pipes" and the system ends up allocating both pipes to the first monitor it discovers. That prevents it from lighting up the second monitor, as there isn't currently any way for software to shift allocations of display pipes between machines. The EDID Emulator then side steps this issue by forcing the initial display to use only one pipe, freeing up a second pipe for the other display.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

MacBook Pro m5 can’t recognize two external monitors with same EDID binary serial (only one works at a time)
 
 
Q