Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

giro83

macrumors newbie
Jan 31, 2023
2
2
The issue was fixed for me, maybe a few months ago, after an upgrade. Literally never happened again... and my routine hasn't changed, my laptop still goes to sleep / wakes up multiple times a day, with the same 2 external monitors, using the same kind of connectors/cables...

It would be nice if Apple provided some release notes of what they fix, and bug reference numbers...
 
  • Like
Reactions: lasyos

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
It would be nice if Apple provided some release notes of what they fix, and bug reference numbers...
1000% It's frustrating to not know whether I should expect that it be fixed on my up-to-date Ventura installation. It's definitely not, it happened yesterday. Maybe that was just a fluke?
 
  • Like
Reactions: lasyos

PianoPro

macrumors 6502a
Sep 4, 2018
511
385
My original fix post was 4/13/23

Still fixed - no issues since that day. Fixed in Ventura 13.3.1 (22E261)
Ok, I'm game to try again! I'm on 13.5 and just switched my cables. I'll let you know if it fails or works for me in the next few days.

Added - I can tell you already that when I use SwitchResX to read the EDID of my 2 monitors with both connected to their HDMI inputs it reads EXACTLY the same EDID, with exactly the same ASCII serial numbers, for both monitors. When I switch one monitor to use its DVI input, SwitchResX reads the correct unique serial numbers for both monitors. So this is not looking like a fix, but I will use it for a few days and see if the monitors get swapped on a boot up.
 
Last edited:
  • Like
Reactions: lasyos

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
Ok, I'm game to try again! I'm on 13.5 and just switched my cables. I'll let you know if it fails or works for me in the next few days.

Added - I can tell you already that when I use SwitchResX to read the EDID of my 2 monitors with both connected to their HDMI inputs it reads EXACTLY the same EDID, with exactly the same ASCII serial numbers, for both monitors. When I switch one monitor to use its DVI input, SwitchResX reads the correct unique serial numbers for both monitors. So this is not looking like a fix, but I will use it for a few days and see if the monitors get swapped on a boot up.
My monitors, if I haven't made it clear already :)P) exhibit the same symptoms you just described on latest Ventura and experienced a flip yesterday. Can't remember whether there was one today or not.
 

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
So this is not looking like a fix
Would it be possible for them to fix it in such a way that it resolves the native macOS display arrangement screwing up, but does nothing to improve performance of SwitchResX?

I would love for somebody that previously had the issue who now thinks it's fixed to download Displayplacer, run a "displayplacer list" command, and post the output. @EssentialGadget?
 
  • Like
Reactions: lasyos

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
I would love for somebody that previously had the issue who now thinks it's fixed to download Displayplacer, run a "displayplacer list" command, and post the output. @EssentialGadget?
Alternatively, run this in a terminal window and post the output:

Bash:
ioreg -lw0 | grep -i "DisplayAttributes"

Also it'd be nice to see a system_profiler output next to the other outputs as well:

Bash:
system_profiler -json SPDisplaysDataType
 
  • Like
Reactions: lasyos

lasyos

macrumors newbie
Jan 2, 2021
11
1
The problem still exists between the 2 HP monitors unless one is run in DVI input mode.

Thank you all for continuing the convo here. I have two identical Mateview 28.2 displays with the swapping problem. I couldn't upgrade to Ventura for other reasons and am still interested in a definitive solution.

My displays don't have DVI ports either. But since converting to DVI promises a definitive solution, do you think it will be idiotic (or possible) to convert the signal from HDMI to DVI and back using two converters? Does DVI even support a 4K+ signal?
 

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
My displays don't have DVI ports either. But since converting to DVI promises a definitive solution, do you think it will be idiotic (or possible) to convert the signal from HDMI to DVI and back using two converters? Does DVI even support a 4K+ signal?
Lol I'd love to see somebody try the conversion method to ultimately end at the same place but with, presumably, the required EDID blocks stripped.

I'm not 100% sure about what DVI can support with respect to 4k, but a quick search suggests single link DVI can support up to 2560 x 1600 at 30 Hz. If you were to go down this route, you'd likely have to look at dual link DVI which supports up to 3840 x 2400 at 30 Hz.
 
  • Like
Reactions: lasyos

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
@lasyos - Lol you're gonna love what I'm about to try. I assume this will fail spectacularly.

1691179548999.png
 
  • Like
Reactions: lasyos

EssentialGadget

macrumors member
Aug 30, 2013
53
67
Alternatively, run this in a terminal window and post the output:

Bash:
ioreg -lw0 | grep -i "DisplayAttributes"

Also it'd be nice to see a system_profiler output next to the other outputs as well:

Bash:
system_profiler -json SPDisplaysDataType
Hope this helps.

ioreg -lw0 | grep -i "DisplayAttributes"


| | | | "DisplayAttributes" = {"SupportsSuspend"=No,"MaximumRefreshRate"=165,"MaximumVariableRefreshRate"=10813440,"SupportsActiveOff"=No,"SupportsBT2020cYCC"=64,"PortID"=0,"ProductAttributes"={"YearOfManufacture"=2021,"ManufacturerID"="HPN","SerialNumber"=16843009,"ProductName"="HP X27q","AlphanumericSerialNumber"="6CM1470206","LegacyManufacturerID"=8718,"ProductID"=14116,"WeekOfManufacture"=47},"MaxVerticalImageSize"=34,"SupportsHLGEOTF"=No,"MinimumVariableRefreshRate"=3932160,"MaxHorizontalImageSize"=60,"HasHDMILegacyEDID"=No,"Chromaticity"={"Red"={"X"=44928,"Y"=20224},"Green"={"X"=17344,"Y"=43776},"Blue"={"X"=9856,"Y"=3776}},"DefaultColorSpaceIsSRGB"=No,"SupportsBT2020YCC"=128,"NativeFormatHorizontalPixels"=2560,"DefaultWhitePoint"={"X"=20544,"Y"=21568,"Gamma"=144179},"SupportsHDRGammaEOTF"=Yes,"SupportsVariableRefreshRate"=Yes,"AspectRatio"=15,"MinimumRefreshRate"=60,"Luminance"={"Max"=26214400,"MaxFrameAverage"=23019548,"Min"=10484},"SupportsPQEOTF"=Yes,"WhitePoints"=({"X"=20544,"Y"=21568,"Gamma"=144179}),"PreciseAspectRatio"=115652,"ContinuousFrequencySupport"="CVT","SupportsStandby"=Yes,"SupportsBT2020RGB"=512,"SupportsHDRStaticMetadataType1"=Yes,"NativeFormatVerticalPixels"=1440}


| | | | "DisplayAttributes" = {"SupportsSuspend"=No,"MaximumRefreshRate"=165,"MaximumVariableRefreshRate"=10813440,"SupportsActiveOff"=No,"SupportsBT2020cYCC"=64,"PortID"=32,"ProductAttributes"={"YearOfManufacture"=2021,"ManufacturerID"="HPN","SerialNumber"=16843009,"ProductName"="HP X27q","AlphanumericSerialNumber"="6CM1350WT9","LegacyManufacturerID"=8718,"ProductID"=14116,"WeekOfManufacture"=35},"MaxVerticalImageSize"=34,"SupportsHLGEOTF"=No,"MinimumVariableRefreshRate"=3932160,"MaxHorizontalImageSize"=60,"HasHDMILegacyEDID"=No,"Chromaticity"={"Red"={"X"=44928,"Y"=20224},"Green"={"X"=17344,"Y"=43776},"Blue"={"X"=9856,"Y"=3776}},"DefaultColorSpaceIsSRGB"=No,"SupportsBT2020YCC"=128,"NativeFormatHorizontalPixels"=2560,"DefaultWhitePoint"={"X"=20544,"Y"=21568,"Gamma"=144179},"SupportsHDRGammaEOTF"=Yes,"SupportsVariableRefreshRate"=Yes,"AspectRatio"=15,"MinimumRefreshRate"=60,"Luminance"={"Max"=26214400,"MaxFrameAverage"=23019548,"Min"=10484},"SupportsPQEOTF"=Yes,"WhitePoints"=({"X"=20544,"Y"=21568,"Gamma"=144179}),"PreciseAspectRatio"=115652,"ContinuousFrequencySupport"="CVT","SupportsStandby"=Yes,"SupportsBT2020RGB"=512,"SupportsHDRStaticMetadataType1"=Yes,"NativeFormatVerticalPixels"=1440}


| | | | "DisplayAttributes" = {"SupportsSuspend"=No,"MaximumRefreshRate"=165,"MaximumVariableRefreshRate"=10813440,"SupportsActiveOff"=No,"SupportsBT2020cYCC"=64,"PortID"=16,"ProductAttributes"={"YearOfManufacture"=2021,"ManufacturerID"="HPN","SerialNumber"=16843009,"ProductName"="HP X27q","AlphanumericSerialNumber"="6CM1350B5C","LegacyManufacturerID"=8718,"ProductID"=14116,"WeekOfManufacture"=35},"MaxVerticalImageSize"=34,"SupportsHLGEOTF"=No,"MinimumVariableRefreshRate"=3932160,"MaxHorizontalImageSize"=60,"HasHDMILegacyEDID"=No,"Chromaticity"={"Red"={"X"=44928,"Y"=20224},"Green"={"X"=17344,"Y"=43776},"Blue"={"X"=9856,"Y"=3776}},"DefaultColorSpaceIsSRGB"=No,"SupportsBT2020YCC"=128,"NativeFormatHorizontalPixels"=2560,"DefaultWhitePoint"={"X"=20544,"Y"=21568,"Gamma"=144179},"SupportsHDRGammaEOTF"=Yes,"SupportsVariableRefreshRate"=Yes,"AspectRatio"=15,"MinimumRefreshRate"=60,"Luminance"={"Max"=26214400,"MaxFrameAverage"=23019548,"Min"=10484},"SupportsPQEOTF"=Yes,"WhitePoints"=({"X"=20544,"Y"=21568,"Gamma"=144179}),"PreciseAspectRatio"=115652,"ContinuousFrequencySupport"="CVT","SupportsStandby"=Yes,"SupportsBT2020RGB"=512,"SupportsHDRStaticMetadataType1"=Yes,"NativeFormatVerticalPixels"=1440}

=======

{


"SPDisplaysDataType" : [


{


"_name" : "Apple M1 Max",


"spdisplays_mtlgpufamilysupport" : "spdisplays_metal3",


"spdisplays_ndrvs" : [


{


"_name" : "HP X27q",


"_spdisplays_display-product-id" : "3724",


"_spdisplays_display-serial-number" : "1010101",


"_spdisplays_display-vendor-id" : "220e",


"_spdisplays_display-week" : "47",


"_spdisplays_display-year" : "2021",


"_spdisplays_displayID" : "1",


"_spdisplays_pixels" : "2560 x 1440",


"_spdisplays_resolution" : "2560 x 1440 @ 165.00Hz",


"spdisplays_main" : "spdisplays_yes",


"spdisplays_mirror" : "spdisplays_off",


"spdisplays_online" : "spdisplays_yes",


"spdisplays_pixelresolution" : "spdisplays_qhd",


"spdisplays_resolution" : "2560 x 1440 @ 165.00Hz",


"spdisplays_rotation" : "spdisplays_supported"


},


{


"_name" : "HP X27q",


"_spdisplays_display-product-id" : "3724",


"_spdisplays_display-serial-number" : "1010101",


"_spdisplays_display-vendor-id" : "220e",


"_spdisplays_display-week" : "35",


"_spdisplays_display-year" : "2021",


"_spdisplays_displayID" : "3",


"_spdisplays_pixels" : "2560 x 1440",


"_spdisplays_resolution" : "2560 x 1440 @ 165.00Hz",


"spdisplays_mirror" : "spdisplays_off",


"spdisplays_online" : "spdisplays_yes",


"spdisplays_pixelresolution" : "spdisplays_qhd",


"spdisplays_resolution" : "2560 x 1440 @ 165.00Hz",


"spdisplays_rotation" : "spdisplays_supported"


},


{


"_name" : "HP X27q",


"_spdisplays_display-product-id" : "3724",


"_spdisplays_display-serial-number" : "1010101",


"_spdisplays_display-vendor-id" : "220e",


"_spdisplays_display-week" : "35",


"_spdisplays_display-year" : "2021",


"_spdisplays_displayID" : "5",


"_spdisplays_pixels" : "2560 x 1440",


"_spdisplays_resolution" : "2560 x 1440 @ 165.00Hz",


"spdisplays_mirror" : "spdisplays_off",


"spdisplays_online" : "spdisplays_yes",


"spdisplays_pixelresolution" : "spdisplays_qhd",


"spdisplays_resolution" : "2560 x 1440 @ 165.00Hz",


"spdisplays_rotation" : "spdisplays_supported"


}


],


"spdisplays_vendor" : "sppci_vendor_Apple",


"sppci_bus" : "spdisplays_builtin",


"sppci_cores" : "32",


"sppci_device_type" : "spdisplays_gpu",


"sppci_model" : "Apple M1 Max"


}


]


}


FYI - I use 3 of these cables to connect monitors. All 3 monitors are HP X27q.
 

PianoPro

macrumors 6502a
Sep 4, 2018
511
385
Here's some news.

I used SwitchResX version 4.12.0 (Apple Silicon) (I've used that version for some time) with Ventura 13.5 - it read both HDMI connected monitors with the exact same EDID. i.e. both with the SAME ASCII serial number

I just uploaded SwitchResX 4.13.1 (Apple Silicon), the latest version, with the same Ventura 13.5 - It read the 2 HDMI connected montors each with their CORRECT, UNIQUE ASCII serial numbers. (As a check, I then switched back to version 4.12.0 and got the incorrect results again.)

I also tried ioreg -lw0 | grep -i "DisplayAttributes" and it read the 2 HDMI connected monitors with their CORRECT, UNIQUE ASCII serial numbers.


Conclusion - One of two things has happened. Either

1) SwitchResX has had a bug for MANY years (dating back to older non-Apple Silicon versions) and reported the EDID wrong, and the bug was fixed so it now reads the monitor serial numbers correctly

OR

2) Apple has supplied a new API to read the ASCII serial number and SwitchResX is using it in version 4.13.1

Unfotunately I have no recollection of previous results using ioreg -lw0 | grep -i "DisplayAttributes" to know if those results have changed with Ventura (which would mean Apple fixed it). I'll try to see if I documented that anywhere.

As of today, with only 4-5 reboots I have not seen the displays switch (now connected with HDMI inputs on both monitors).
 

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
Those conversion cables just change signal (wire) to pin assignments, they will do nothing to change the EDID. DVI carries all the same HDMI signals except CEC and HEC, which have nothing to do with this issue.
Aaaand cancelled. I was under the impression that jamming the signal through a DVI port would strip it of some info. I misunderstood.

@EssentialGadget - Thanks. I don't think it tells me anything definitive. Just that ioreg still sees the data and has both SerialNumber and AlphanumericSerialNumber. Of which SerialNumber is identical for all three of your monitors with AlphanumericSerialNumber being unique for each.

system_profiler sees _spdisplays_display-serial-number the same for all three of your monitors: 1010101.

I'm not sure what to make of all of it other than the ioreg data makes sense. It contains both fields with no interpretation. But the system_profiler serial-number-equivalent field is all confused about what the actual serial numbers are just like on my system.

If Apple actually fixed it and you are no longer experiencing display swapping, I don't see how they're doing it any other way but correctly parsing the AlphanumericSerialNumber out and utilizing it. Maybe my swap was just a fluke the other day? But I've been on new Ventura for a while and have experienced the issue multiple times per day over the last several weeks.
 
  • Like
Reactions: lasyos

PianoPro

macrumors 6502a
Sep 4, 2018
511
385
system_profiler sees _spdisplays_display-serial-number the same for all three of your monitors 01010101

That may be common to all HP monitors. Both of my current HP monitors also use 01010101 as the serial number in Block 0, and have unique (the actual) serial numbers in the Descriptors.
 

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
Here's some news.

I used SwitchResX version 4.12.0 (Apple Silicon) (I've used that version for some time) with Ventura 13.5 - it read both HDMI connected monitors with the exact same EDID. i.e. both with the SAME ASCII serial number

I just uploaded SwitchResX 4.13.1 (Apple Silicon), the latest version, with the same Ventura 13.5 - It read the 2 HDMI connected montors each with their CORRECT, UNIQUE ASCII serial numbers. (As a check, I then switched back to version 4.12.0 and got the incorrect results again.)

I also tried ioreg -lw0 | grep -i "DisplayAttributes" and it read the 2 HDMI connected monitors with their CORRECT, UNIQUE ASCII serial numbers.


Conclusion - One of two things has happened. Either

1) SwitchResX has had a bug for MANY years (dating back to older non-Apple Silicon versions) and reported the EDID wrong, and the bug was fixed so it now reads the monitor serial numbers correctly

OR

2) Apple has supplied a new API to read the ASCII serial number and SwitchResX is using it in version 4.13.1

Unfotunately I have no recollection of previous results using ioreg -lw0 | grep -i "DisplayAttributes" to know if those results have changed with Ventura (which would mean Apple fixed it). I'll try to see if I documented that anywhere.

As of today, with only 4-5 reboots I have not seen the displays switch (now connected with HDMI inputs on both monitors).
I looked through the release notes for SwitchResX from 4.12->4.13.1 and there are references to things in there that could be relevant but aren't definitively so.

As @alinpanaitiu pointed out, it's certainly not something they did in the CGDisplaySerialNumber function. I have seen no other "gimme the display serial number" function mentioned when researching this, and I'd expect @alinpanaitiu to know those APIs better than any of us. Is it possible SwitchResX goes after the "actual" serial number directly via ioreg?
 
  • Like
Reactions: lasyos

PianoPro

macrumors 6502a
Sep 4, 2018
511
385
Aaaand cancelled. I was under the impression that jamming the signal through a DVI port would strip it of some info. I misunderstood.
Reading a DVI port gets a different EDID because the DVI EDID does not have the same extensions as HDMI ports. But using conversion cables do nothing but move the same signal lines to different pins on the different connector.

You would need an active device that reads the HDMI ports EDID and then strips out the extension to make it the same as a DVI port. You could do that yourself with a device that allows you to program a new EDID (they exist).
 

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
All this aside... if I don't have an unexplained swap happen to me in the next few days/weeks, I'm prepared to call it fixed without being able to explain why I have been having to fix it nearly every day for the past few months.

Maybe their fix is just so specific to the OS display driver that every command I've run and function I've called is just not relevant with respect to how they'd fix it at the level they decided to.

It's frustrating that nothing can be verified on how SwitchResX (at least easily; they're closed source) around how they pull and utilize the serial number that shows correctly for you. I guess one could ping the dev team and ask them to throw a bone our way.
 
  • Like
Reactions: lasyos

PianoPro

macrumors 6502a
Sep 4, 2018
511
385
I looked through the release notes for SwitchResX from 4.12->4.13.1 and there are references to things in there that could be relevant but aren't definitively so.

As @alinpanaitiu pointed out, it's certainly not something they did in the CGDisplaySerialNumber function. I have seen no other "gimme the display serial number" function mentioned when researching this, and I'd expect @alinpanaitiu to know those APIs better than any of us. Is it possible SwitchResX goes after the "actual" serial number directly via ioreg?

I doubt it since they read and output the entire EDID with the extensions and format it all with descriptive text. Perhaps you could write them a query to see what they changed between versions. Although I'm interested, I don't really have time to pursue this much further right now.
 
  • Like
Reactions: mattlorimor

mattlorimor

macrumors newbie
Aug 2, 2023
25
24
Des Moines, Iowa
Yeah... they're definitely still swapping. Just did it.
And they have flipped twice since.

Would somebody that knows better than me be able to say whether it is likely that me having my monitors connected in a daisy chain fashion via the Thunderbolt 3 ports would make any difference? I could get a longer TB cable and make sure they have their own dedicated port on the computer, but I fail to see how that would matter.
 

PianoPro

macrumors 6502a
Sep 4, 2018
511
385
And they have flipped twice since.

Would somebody that knows better than me be able to say whether it is likely that me having my monitors connected in a daisy chain fashion via the Thunderbolt 3 ports would make any difference? I could get a longer TB cable and make sure they have their own dedicated port on the computer, but I fail to see how that would matter.
I don't know about daisy chaining, but I can report that my 3 monitors (2 identical HP) have not flipped since I changed back to all HDMI connections (2 with TB to HDMI converters) last Thursday. This was absolutely NOT working with the Monterey Mac OS when I got my Mac Studio Ultra March 2022.

I've also tried powering up the 3 monitors in different orders and they are displayed correctly (changing) as monitors are powered up differently. Although the Mac can still read the monitor EDID's when they are powered off (a feature of an EDID link) it is still interesting that the Mac recognizes each monitor as it comes up and switches correctly.

It's still a bit soon to proclaim something was fixed, but it's looking good that Apple possibly fixed something in Ventura (now running 13.5).

The latest SwitchResX FINALLY reads the ASCII serial numbers correctly when previous SwitchResX versions won't. That could mean Apple has provided a new API they are using in their latest version. But it's also possible SwitchResX always had a bug before.
 
  • Like
Reactions: lasyos

lasyos

macrumors newbie
Jan 2, 2021
11
1
@lasyos - Lol you're gonna love what I'm about to try. I assume this will fail spectacularly.

View attachment 2241578
@mattlorimor thanks for the reply, your eagerness to try my stupid experiment, and sorry for the late reply. I had to step out for a bit 😅

I had checked out those EDID emulators @PianoPro told like this one but I haven't bought any yet. That may be the next step after trying to find a way to update Ventura.

I am sorry to hear that Ventura doesn't work for you but maybe one of those EDID devices can do the trick
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.