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

MAG.ME

macrumors newbie
Jun 24, 2021
1
0
Ottawa, Canada
... Then I had another issue where my desktop wallpaper would reset to the Catalina default after every reboot. Did a lot of research and turned off 'Displays have separate Spaces" in Mission Control Preferences. That fixed that.
Thanks so much Selsk... you nailed it... I had 2 consistent problems... I have a MacBook Pro running Catalina with two 24" monitors extending the desktop... one was horizontal and one was vertical. Every time I woke up (or rebooted) the system, the content on the vertical monitor would default to horizontal again (would have to continually change rotation in System Preferences > Display > Rotation)... the second problem was that my desktop wallpaper would also reset to the Catalina default.

After reading your post, went to System Preferences > Mission Control and unchecked "Displays Have Separate Spaces" and both problems have now been fixed... vertical content stays vertical and wallpaper has returned.

Thanks so much for your research and sharing.
 

eezing

macrumors 6502
Oct 29, 2008
377
3
The order in which you plug in and unplug your monitors dictates arrangement:

- Left to right on In
- Right to left on Out

Port placement make no difference. I have a 2017 Macbook Pro (usb-c). It's not an ideal solution, but it works.
 
  • Wow
Reactions: ZombiePhysicist

aqt304je

macrumors newbie
Aug 18, 2021
1
0
I have two external monitors of the same model plugged into a 2021 Macbook Pro via separate USB-C cables. They get their power from the same power strip. The external monitors were reversing their arrangement whenever I rebooted the machine.
You also have to make sure to turn off the monitors in the proper order as well to keep it this way after you sleep the computer. First turn off 2 and then 1 in that order. It will keep your display settings in place without having to install third-party scripts. Hope this helps...peace.
This comment gave me an idea. One plug was closer to the power cord of the power strip than the other. I reversed the outlets that the monitors were plugged into, and voila, the problem is gone. Now when I start the machine, the displays are arranged in the correct order, and I don't have to manually change it or manually turn them off.

Edit: It seems I didn't do enough testing because when I turned on the machine this morning, the displays were reversed. I will try some of the software solutions and report back.
 
Last edited:

rskorp

macrumors newbie
Feb 24, 2022
1
0
I might have an idea about the root of the issue. I used have Macbook Pro 2017 with 2 external monitors and I never faced any issue. This macbook was a "fresh" macbook meaning I never transferred data from an old macbook to this one.

Since I switched to my new Macbook Pro 2021 with the same 2 external screens and same wires, I'm having this issue where the arrangement of screens is always messed up. On my new mac 2021, I transferred all the old data from my previous Macbook 2017 (settings etc.) so I was wondering if this could be the root.

So in a nutshell, transferring all your datas from an old macbook to a new macbook keeps an old setting that provoke this kind of issues on the new macbook
 

flexihopper18

macrumors newbie
Jun 6, 2017
3
0
https://superuser.com/questions/110...op-set-keep-switching-places-between-monitors

I found this:

"I "solved" this problem using https://github.com/jakehilborn/displayplacer. If I connect my hub and the monitors are incorrect, instead of having to rotate screens or reconnect cables, I can now run a script (via a hotkey) to resolve this.

First, make sure your monitors are in the correct configuration. Then install displayplacer and run it.

brew tap jakehilborn/jakehilborn && brew install displayplacer
displayplacer list

At the bottom of the output you'll see that it generates the command which will place your monitors in the back into the current configuration. Example:

displayplacer "id:C00DE6B5-2BF1-D707-8452-14BD6BFAAC84 res:1920x1080 hz:60 color_depth:8 scaling:eek:ff origin:(0,0) degree:0" "id:D0823E00-B252-0F5C-DE87-D142F95D0CB4 res:1680x1050 color_depth:8 scaling:eek:n origin:(-1680,0) degree:0" "id:1A13BBCA-7176-912E-4048-7E7E22D786C2 res:1080x1920 hz:60 color_depth:8 scaling:eek:ff origin:(1920,-386) degree:90"

I then created a service/action and set a keyboard shortcut for this item. Now a quick keystroke will resolve the issue.

More info: The answer by Dan is the root of this problem for me. I have two identical monitors, both being connected to a hub via Displayport. That hub is connected to my mac via one USB-C connection. Randomly, the dock will load the settings in a different order which causes this issue. Since my 3rd monitor is rotated, this makes two screens now improperly rotated.

For months I have been disconnecting both DisplayPort connections on the hub, and then reconnecting in the reverse order. This solves the problem, but it was really annoying."

Might give it a shot. Pretty annoying though. Almost makes me want to get a Apple Thunderbolt Monitor....
Thank you for sharing. In the meantime, I'm using this to arrange my screens..
 

f1gs

macrumors newbie
Apr 15, 2022
3
0
TLDR: Use screensaver mode if in clamshell, so the monitors don't go into deep sleep mode.

Long version:
I think I found a workaround, it has been working well for the past 2 days. Not the best idea if you care about battery life, but to me my time is more valuable. If you're like me and don't have a need to un-dock your mac regularly, this might help. However, I tested un-plugging from my dock and plugging it back in and it did the ol' switcharoo on me again. So if you have to constantly dock and un-dock this won't help you...

The issue seems to be that it just orders the displays in whatever order they wake up after the mac exits sleep mode. So this method stops the mac from automatically sleeping when I step away. Instead of sleeping, after 10 mins it will go to screensaver mode. When it exits that mode the monitors are still on, so it remembers the order.

Steps:
1. Go to System Preferences > Battery.
2. In the Battery tab, set the display to never turn off.
3. In the "Power Adapter" tab, set the display to never turn off.
4. In the "Power Adapter" tab, make sure the "Prevent your Mac from automatically sleeping..." box is checked
5. In System Preferences > Desktop & Screen Saver, I set the screen saver to 10 mins.
 

f1gs

macrumors newbie
Apr 15, 2022
3
0
TLDR: Use screensaver mode if in clamshell, so the monitors don't go into deep sleep mode.

Long version:
I think I found a workaround, it has been working well for the past 2 days. Not the best idea if you care about battery life, but to me my time is more valuable. If you're like me and don't have a need to un-dock your mac regularly, this might help. However, I tested un-plugging from my dock and plugging it back in and it did the ol' switcharoo on me again. So if you have to constantly dock and un-dock this won't help you...

The issue seems to be that it just orders the displays in whatever order they wake up after the mac exits sleep mode. So this method stops the mac from automatically sleeping when I step away. Instead of sleeping, after 10 mins it will go to screensaver mode. When it exits that mode the monitors are still on, so it remembers the order.

Steps:
1. Go to System Preferences > Battery.
2. In the Battery tab, set the display to never turn off.
3. In the "Power Adapter" tab, set the display to never turn off.
4. In the "Power Adapter" tab, make sure the "Prevent your Mac from automatically sleeping..." box is checked
5. In System Preferences > Desktop & Screen Saver, I set the screen saver to 10 mins.
BTW: This also works if you manually lock your workstation. You don't have to let it go to the screensaver automatically.
 

bkotis

macrumors newbie
Mar 1, 2020
1
0
TLDR: Use screensaver mode if in clamshell, so the monitors don't go into deep sleep mode.

Long version:
I think I found a workaround, it has been working well for the past 2 days. Not the best idea if you care about battery life, but to me my time is more valuable. If you're like me and don't have a need to un-dock your mac regularly, this might help. However, I tested un-plugging from my dock and plugging it back in and it did the ol' switcharoo on me again. So if you have to constantly dock and un-dock this won't help you...

The issue seems to be that it just orders the displays in whatever order they wake up after the mac exits sleep mode. So this method stops the mac from automatically sleeping when I step away. Instead of sleeping, after 10 mins it will go to screensaver mode. When it exits that mode the monitors are still on, so it remembers the order.

Steps:
1. Go to System Preferences > Battery.
2. In the Battery tab, set the display to never turn off.
3. In the "Power Adapter" tab, set the display to never turn off.
4. In the "Power Adapter" tab, make sure the "Prevent your Mac from automatically sleeping..." box is checked
5. In System Preferences > Desktop & Screen Saver, I set the screen saver to 10 mins.
I'm having the same problem. Thanks for solution: however, doesn't locking the force the Mac to go to sleep?
 

mattspace

macrumors 68040
Jun 5, 2013
3,179
2,879
Australia
mentioning SwitchResX again - it has the ability to assign specific pixel-based coordinates to displays (via very simple Applescript), and the status of Primary display to specific displays. I would encourage folks having issues with this still, to have a look at it, as it may offer a more hard-coded solution, rather than letting the system's rather casual method handle things.
 

f1gs

macrumors newbie
Apr 15, 2022
3
0
I'm having the same problem. Thanks for solution: however, doesn't locking the force the Mac to go to sleep?
I think the issue occurs when the monitors lose connection to the laptop completely. For example when you unplug it, or the monitors go into the "deep sleep" mode (to save power). Somehow changing the battery and power adapter settings got rid of the issue for me as long as I don't un-dock my laptop. I've had no issues so far, but go ahead and try it yourself :).
 

Grumply

macrumors 6502
Feb 24, 2017
285
193
Melbourne, Australia
I was having this issue, post upgrade to Catalina on my 2016 MBP. Mac would refuse to remember my screen roation settings. Also, I was unable to rotate more than one screen at a time. Setting the rotation on the 2nd would reset it on the 1st external display.

Fixed it by resetting my PRAM and deleting the

~/Library/Preferences/ByHost/com.apple.windowserver.[UUID].plist

I did the uncheck all Mission Control check boxes, and then this reset PRAM and delete windowserver.plist - and (for the moment at least) this seems to have resolved the issue(!).

No more 3-minute routine of unmirroring my two additional displays, and then physically turning off the power to my main display (before turning it back on) to return from a 30hz limitation, to the normal 60hz it should run at.

This whole horrible routine has been driving me MENTAL! So THANK YOU!
 
  • Like
Reactions: milkrocket

devpatel87

macrumors newbie
Jul 20, 2022
2
0
Unplug the dock and restart your machine to make it operational again.
Download fixing script attached here.
Unpack the archive, so that you have ResetDisplayPrefs.command in your Downloads folder.
Run Terminal and execute these commands to run the script:
cd ~/Downloads
chmod +x ResetDisplayPrefs.command
sudo ./ResetDisplayPrefs.command

The script has to be run with administrator privileges, this is required to forcefully delete defective system settings. Type in your password and press enter.
The script will display list of display-related settings files that will be deleted and will ask for confirmation before proceeding.
After confirmation the script will delete those files, forcing MacOS to recreate them from scratch.
After the script finishes it will ask you to reboot your machine. You can plug in your dock after reboot and the issue should be resolved.
 

Attachments

  • Reset macOS display persistence1.2-EXE.zip
    797 bytes · Views: 102

grumshaw

macrumors newbie
Dec 18, 2022
3
4
After months of frustration, trying out many suggestions above, and eventually giving up for a while, this finally worked for me:

If your dual identical monitors have both HDMI and DisplayPort, plug one monitor in using a USB C to HDMI cable, and plug the other monitor in using a USB C to DisplayPort cable.
 

mattspace

macrumors 68040
Jun 5, 2013
3,179
2,879
Australia
After months of frustration, trying out many suggestions above, and eventually giving up for a while, this finally worked for me:

If your dual identical monitors have both HDMI and DisplayPort, plug one monitor in using a USB C to HDMI cable, and plug the other monitor in using a USB C to DisplayPort cable.

I think part of the problem is going to turn out to be that the Displayport standard requires displays to notify the system that they are physically disconnected when they go to sleep. It's a truly stupid idea. When your machine sleeps, it's getting disconnect signals from both displays, and so when it wakes up, it doesn't have any displays "plugged in" to act as the reference zero point for the other displays.
 
  • Like
Reactions: Argoduck

grumshaw

macrumors newbie
Dec 18, 2022
3
4
I will report back in a few more days if this changes, but so far everything is working how I'd like it to and it's been almost a week.

I have a third display (TV) plugged in HDMI to HDMI and then 2 identical LG monitors each in their own USB C ports on the back of a Mac Studio.

Before switching one LG to USB-C>DisplayPort, I would have to reconfigure the display arrangement every time I woke the screens up. Sometimes the resolution would change. Sometimes the display color profile or HDR settings would change. Sometimes one/none of the monitors wouldn't wake up.

None of these issues have happened since the new change. Will keep my fingers crossed that things continue to behave. One monitor being on DisplayPort vs one on HDMI seems to be enough for the Mac to distinguish between the two identical UUID's.
 
  • Like
Reactions: Argoduck

Grumply

macrumors 6502
Feb 24, 2017
285
193
Melbourne, Australia
I did the uncheck all Mission Control check boxes, and then this reset PRAM and delete windowserver.plist - and (for the moment at least) this seems to have resolved the issue(!).

No more 3-minute routine of unmirroring my two additional displays, and then physically turning off the power to my main display (before turning it back on) to return from a 30hz limitation, to the normal 60hz it should run at.

This whole horrible routine has been driving me MENTAL! So THANK YOU!

A little update from me, this "fix" lasted all of a few hours in the end. And I ultimately gave up, sold my two monitors and replaced them with a 40" 5Kx2K ultrawide (which is basically just a 30% wider version of the 4k 32" main monitor I had before.

A painfully expensive solution, but at least I'm not starting each day with the computer in a rage 🤷‍♂️ so... small/expensive victory.
 
  • Like
Reactions: Argoduck

mattspace

macrumors 68040
Jun 5, 2013
3,179
2,879
Australia
A little update from me, this "fix" lasted all of a few hours in the end. And I ultimately gave up, sold my two monitors and replaced them with a 40" 5Kx2K ultrawide (which is basically just a 30% wider version of the 4k 32" main monitor I had before.

A painfully expensive solution, but at least I'm not starting each day with the computer in a rage 🤷‍♂️ so... small/expensive victory.

Sorry to hear that. For anyone else having these problems, I would suggest trying a combination of SwitchResX to set the display positions, and Stay to set applications in their correct places on displays.

I honestly think a lot of this is just a byproduct of Apple having become fixated on single-screen workflows. The introduction of each screen being a separate space only exacerbated the problem. I remember Classic MacOS was indestructible for multiple monitor support - these days, if I plug an extra display in, all my other displays swap positions, and the menubar jumps to a different screen. It's a mess.
 
Last edited:

alinpanaitiu

macrumors member
May 29, 2021
42
45
Romania
If others arrive here looking for a solution, I added two helpful Apple Shortcuts in my Lunar app (available without a Pro license):

- Swap Monitors: to fix arrangement on setups with 2 monitors
- Fix Monitor Arrangement for setups with 3 or more monitors

The Swap Monitors one just swaps 2 specific monitors around. This fixes the problem instantly on setups where only 2 of the monitors exhibit this problem.

The Fix Monitor Arrangement shortcut has an ordering step as you can see in the below video:
  • on each monitor you'll see a number
  • type the numbers on the keyboard from left to right (start with the number on the leftmost monitor)
  • Lunar will arrange the monitors in the order of the typed numbers
press `Esc` to cancel or `Enter` to partially arrange the monitors selected so far



Why this happens?

The problem comes from vendors who flash the same exact firmware with the same EDID to multiple monitors in the same batch.

Serial number is emphasized above especially because by definition it should be a unique number that increments with each monitor. Well it doesn’t. And it has nothing to do with the serial number you see on the back of the monitor or the box or wherever it’s placed.

So if you have the bad luck to buy two identical monitors, from the same batch, with the same EDID, then the OS will compute the same UUID for both.

That means that on reconnection, the monitors will look identical from the OS side, so the stored settings will have to be assigned randomly for each monitor. That will sometimes, not always, but deterministically when it's most annoying, cause the swapping bug.

Because one byte of the UUID is computed from the port used (e.g. 03 for HDMI, 04 for DisplayPort, 05 for USB-C etc.) then having the monitors connected to different types of ports can also fix this problem.
 

mattspace

macrumors 68040
Jun 5, 2013
3,179
2,879
Australia
If others arrive here looking for a solution, I added two helpful Apple Shortcuts in my Lunar app (available without a Pro license):

Bravo on making an absolutely exquisite looking app (actually, all your company's apps look like great pieces of utility), and addressing an edge case for difficult functionality.

Do you think your app can provide a solution to the issue of DisplayPort monitors disconnecting from the system when they sleep (an idiotic part of the DP spec)? That's one of the big contributors to multi-monitor issues as far as I can tell.

Only feedback I'd perhaps offer is if your website could make it a bit more obvious that Intel CPUs are supported, and what the supported OS versions are (and do you have older versions of the app for older OS versions that can be activated when you buy the current version serial etc).
 

alinpanaitiu

macrumors member
May 29, 2021
42
45
Romania
Bravo on making an absolutely exquisite looking app (actually, all your company's apps look like great pieces of utility), and addressing an edge case for difficult functionality.

Do you think your app can provide a solution to the issue of DisplayPort monitors disconnecting from the system when they sleep (an idiotic part of the DP spec)? That's one of the big contributors to multi-monitor issues as far as I can tell.

Only feedback I'd perhaps offer is if your website could make it a bit more obvious that Intel CPUs are supported, and what the supported OS versions are (and do you have older versions of the app for older OS versions that can be activated when you buy the current version serial etc).
Thank you for the feedback! I tried to make it clearer what devices are supported with the following additions:

1679479063806.png



The older version of Lunar (version 3) is completely free and open source and supports macOS 10.14 and later (Intel only).

The newer version of Lunar (version 6 at the moment) has a free tier and is source available for free features and supports macOS 11 and later (both Intel and Apple Silicon)

DisplayPort monitors disconnecting from the system when they sleep

Unfortunately this is part of how the monitor works. When there's no video signal going to it, it will go into standby. The only way is to not let the system sleep using something like caffeinate or Amphetamine
 

mattspace

macrumors 68040
Jun 5, 2013
3,179
2,879
Australia
Unfortunately this is part of how the monitor works. When there's no video signal going to it, it will go into standby. The only way is to not let the system sleep using something like caffeinate or Amphetamine

What's most unfortunate, is that behaviour is specific to DisplayPort - if you plug in the same display via one of its HDMI inputs, the problem doesn't manifest. The issue seems to be the monitor telling the computer it's no longer physically connected, when it goes into standby. So you wake the system up, and half your apps have shifted their windows to your other (HDMI) displays.

I've been wondering if there's a way to put a KVM in between to prevent the disconnect signal reaching the computer - ie even though the monitor is in standby, the KVM stays awake, so the computer keeps seeing a connected thing on the DP.
 

Artakamoose

macrumors member
Dec 4, 2016
53
38
Bay Area
Why this happens?

The problem comes from vendors who flash the same exact firmware with the same EDID to multiple monitors in the same batch.

Serial number is emphasized above especially because by definition it should be a unique number that increments with each monitor. Well it doesn’t. And it has nothing to do with the serial number you see on the back of the monitor or the box or wherever it’s placed.

So if you have the bad luck to buy two identical monitors, from the same batch, with the same EDID, then the OS will compute the same UUID for both.

That means that on reconnection, the monitors will look identical from the OS side, so the stored settings will have to be assigned randomly for each monitor. That will sometimes, not always, but deterministically when it's most annoying, cause the swapping bug.

Because one byte of the UUID is computed from the port used (e.g. 03 for HDMI, 04 for DisplayPort, 05 for USB-C etc.) then having the monitors connected to different types of ports can also fix this problem.

You can use this command in terminal to find the UUIDs of your external monitors:
ioreg -l | grep EDID
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.