-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
addressing display by serialID #96
Conversation
Thanks for putting the effort to address this issue. However, I have three identical monitors (Gigabyte M28U) and they all have the same |
Hi there! Thanks for your reply. |
Here's the output from {
"SPDisplaysDataType" : [
{
"_name" : "Apple M1 Max",
"spdisplays_metalfamily" : "spdisplays_mtlgpufamilyapple7",
"spdisplays_ndrvs" : [
{
"_name" : "M28U",
"_spdisplays_display-product-id" : "2800",
"_spdisplays_display-serial-number" : "1010101",
"_spdisplays_display-vendor-id" : "1c54",
"_spdisplays_display-week" : "10",
"_spdisplays_display-year" : "2022",
"_spdisplays_displayID" : "5",
"_spdisplays_pixels" : "3840 x 2160",
"_spdisplays_resolution" : "1920 x 1080 @ 60.00Hz",
"spdisplays_main" : "spdisplays_yes",
"spdisplays_mirror" : "spdisplays_off",
"spdisplays_online" : "spdisplays_yes",
"spdisplays_pixelresolution" : "spdisplays_2160p",
"spdisplays_resolution" : "1920 x 1080 @ 60.00Hz",
"spdisplays_rotation" : "spdisplays_supported"
},
{
"_name" : "M28U",
"_spdisplays_display-product-id" : "2800",
"_spdisplays_display-serial-number" : "1010101",
"_spdisplays_display-vendor-id" : "1c54",
"_spdisplays_display-week" : "10",
"_spdisplays_display-year" : "2022",
"_spdisplays_displayID" : "3",
"_spdisplays_pixels" : "3840 x 2160",
"_spdisplays_resolution" : "1920 x 1080 @ 60.00Hz",
"spdisplays_mirror" : "spdisplays_off",
"spdisplays_online" : "spdisplays_yes",
"spdisplays_pixelresolution" : "spdisplays_2160p",
"spdisplays_resolution" : "1920 x 1080 @ 60.00Hz",
"spdisplays_rotation" : "spdisplays_supported"
},
{
"_name" : "M28U",
"_spdisplays_display-product-id" : "2800",
"_spdisplays_display-serial-number" : "1010101",
"_spdisplays_display-vendor-id" : "1c54",
"_spdisplays_display-week" : "10",
"_spdisplays_display-year" : "2022",
"_spdisplays_displayID" : "4",
"_spdisplays_pixels" : "3840 x 2160",
"_spdisplays_resolution" : "1920 x 1080 @ 60.00Hz",
"spdisplays_mirror" : "spdisplays_off",
"spdisplays_online" : "spdisplays_yes",
"spdisplays_pixelresolution" : "spdisplays_2160p",
"spdisplays_resolution" : "1920 x 1080 @ 60.00Hz",
"spdisplays_rotation" : "spdisplays_supported"
}
],
"spdisplays_vendor" : "sppci_vendor_Apple",
"sppci_bus" : "spdisplays_builtin",
"sppci_cores" : "24",
"sppci_device_type" : "spdisplays_gpu",
"sppci_model" : "Apple M1 Max"
}
]
} The serial id I get from |
So, addressing the fact that the serial id is different from the one from |
Unfortunately it looks like the only way to spoof your device identifiers (either device name, vendor id or model id) is to write a custom kext. I didn't find any other solution to this particular "same vendor, same model, same serial" issue. For all other devices (not-identical monitors), this version should work fine. |
This works well for me on four identical screens, and I find much easier tot use / map than the guids. |
(has a long investigation log for anyone who's experience similar issue/is interested in the details) Hi, I have similar 4 * Gigabyte M28U with Mac Studio (M1 Max) set up. And always encountering displays randomly swapping when
Previously, I was using 4 * Dell U2720Q/M with Mac Studio, and did not encounter the issue above. And even before, I was using 4 * Dell U2720Q/M with Macbook Pro 16 2019 i9 9880H, GPU Radeon Pro 5500M 4 GB, and no such issue as well. Trying to troubleshoot, I ran following commands in the following combinations of hardware, as I have yet to sell the old setup: hardware: commands/settings
with the following hardware combination
Logs
findings:
test:
repeat with other combinations, sequence conclusion:
findings:
test:
experience
conclusion:
findings:
experience
conclusion: further testing
to see if it's the hardware of Mac Studio M1 Max not able to identify M28U serial numbers, or it's the software of Ventura |
Here's mine
|
Released in v1.4.0 |
@Vaccarini-Lorenzo @andremetzen @hh @iFission @gingerbeardman displayplacer v1.4.0 supports addressing screens by serial id. If all of the screens in your setup have unique serial ids, this should fix the id switching issue. Could you try out the new version and let me know if it works on your setup? |
Serial works for me! |
works for me now since macOS 13.4.1 update. seems like apple fixed the issue and the os is able to ID the monitors properly across sleep/restarts |
@iFission I'm running macos 13.3.1 and it's fixed for me too. |
Hey @andremetzen, you and @iFission here seem to be running the same M28U as I do and have faced the same issue (identical serialIDs as per displayplacer) I've been experiencing and continue experiencing the desktops switching places intermittently throughout, am now on 14.1.2 Sonoma. Can you elaborate on what's been fixed for you and what approach you're using to restore the arrangement? Or have you stopped experiencing the issues all together? (My issue is exacerbated by the fact that I run a caldigit TB4 dock and use Spaces a lot, which Apple doesn't provide API for, but the screens messing up doesn't help that either) |
hi @mneveroff,
The OS now reports consistent From my experience, I can sleep/wake or restart and the screen arrangement and sequence do not mess up. ie monitor 1 continues to monitor 1, and not re-assigned to monitor 2 after restart.
Yes Mentioned above, before the update: findings:
Not sure if this could be the cause. I am running USB-C cables from Mac Studio directly to each of the four M28U |
Since the persistent ID takes into account the position in the I/O Kit registry, sometimes the IDs get swapped or change (Issues #89 #83 #77 ...).
Identifying the displays through their serial number should fix those issues
Usage:
displayplacer "S:<serial_num> res:<resolution> ... degree:<degree>"