- Last Active
There’s no denying the impact that Apple has had in computer technology for the past 40 years. And macOS is in most aspects, the best operating system available today, and it keeps getting better. At the same time, Macs are at a point in time where they are incredibly fast thanks to the M1 and M2 processors.
But unfortunately, all of that can make Apple Computer pretty arrogant at times, and this is one of those times. There’s a problem with Macs that probably affects millions of users worldwide and Apple does nothing about it, even though they know about it, and probably have for several years.
The issue presents itself when people need to use two or more displays, and not including the display that comes with the computer like in the case of a Macbook Pro or an iMac, but like the Mac Mini or Mac Studio, or even Macbook Pros when using clam-shelled.
The issue is that for no apparent reason, macOS does the digital equivalent of flipping a coin to assign the display roles of main and extended after the user has put the displays in sleep mode manually, or the user hasn’t touched the computer in the time determined in the Lock Screen settings and the computer stopped sending a signal to the displays, which causes the displays to go into sleep mode. This can also happen when booting up or rebooting the machine.
The lack of action from Apple in this regard, as well as the general attitude is just despicable. Apple keeps acting like an arrogant company that can do no wrong and if there’s a problem, it’s always the customer’s fault, never theirs. There are lots of threads online from people putting up with this problem going back years. This is not something that affects only the Mac Studio line; I also own a 2021 Macbook Pro with an M1 Max processor that I used clam-shelled, and it has the same problem. While I haven’t experienced this in any of my older Macs, it’s because one is a 2015 iMac, which has the main monitor as part of the body, and I always used it that way, with a second monitor connected to a thunderbolt 2 port. And my personal 2015 Macbook Pro is a machine I rarely use and when I do, usually is by itself.
Searching about this issue on the internet shows a large number of people suffering this daily and going back years, happening to Mac Pros and Mac Minis with Intel chips even before the first M1 Mac was released. Here are just a few links:
https://forums.macrumors.com/threads/mac-studio-multi-display-management-rinse-and-repeat-10-times-a-day.2375245/page-3?post=31937108#post-31937108 (this is one I started, but where many people replied and stated having the same problem)
And a couple of Google searches that will yield many more:
These are just a few. I don’t have the time to spend looking for every single post about this online.
Every day, several times a day, I have to waste time going through six steps because my main monitor (which I have in front of me, to the right of the extended monitor), keeps getting swapped by the OS at random after waking up, or rebooting the machine. So if I left for lunch and the display I designated as main is the one on the right, when I come back and press any key to wake them up, there’s a good chance it will be the one on the left. It’s as if somebody would have come into my room, grabbed the monitor on the left, put it on the right, then grabbed the other monitor and put it on the left. Of course, that didn’t actually happen, what happened is that the code in the OS is so pathetic that it decided that the monitor that was connected to port 1 is now the one that was connected to port 2 and viceversa.
In these tests, I’m going to show that the computer knows, each and every time, which display is connected to which thunderbolt port. But macOS (in my experience Monterey and Ventura, but it’s fair to say previous versions as well because of all the older posts), seems to disregard completely what the machine tells it, and decides randomly which display is main and which is extended. So here’s proof of that.
(Note: the System Information app calls these thunderbolt ports “receptacles”. Receptacle 1, also Thunderbolt/USB4 Bus 0, is the one closest to the ethernet port, and receptacle 4, Bus 3, is the one closest to the side of the computer. It’s a bit confusing, but basically if you look at the Mac Studio from the back, left to right is receptacles 4 to 1.)
Normal physical layout
Monitor 1 (front) has the role of “main” and is connected to USB-C thunderbolt output 1 (closest to ethernet port)
Monitor 2 (left) has the role of “extended” and connected to port 2 (second from ethernet port)
The System information app shows that:
The main monitor (physically located on the right) is connected to Receptacle 1 and has the UID: 0x01759FEE81285300
The extended monitor (physically located on the left) is connected to Receptacle 2 and has the UID: 0x0175A7333C21D300
At this point, opening the system settings and the display tab shows that the main monitor is designated as (2), even though it’s the one connected to receptacle 1 according to the system report, and it’s connected to the first port from the ethernet connector on the back of the Mac Studio. Therefore we assume that the port numbers are numbered from right to left.
Because of how poorly designed display management in macOS is, we will see that the same two monitors, connected to the same two ports, won’t always be (1) on the left and (2) on the right, matching their physical location and cable connection.
Now, I’m going to press the system shortcut Ctrl+Shift+Eject so the computer stops sending a video signal to the monitors, therefore putting them to sleep.
I waited about 10-15 secs to make sure the monitors were in sleep mode. Then I pressed the F19 key (any key is the same to wake them up) and now they are swapped physically, with the main display showing on the left, and the extended on the right.
System Information after this swap (the System Information app has to be closed and reopened, it doesn’t refresh automatically after display changes). Here you will see that the system report after the unintentional swap is the same as before, with the monitor that is connected to receptacle 1, and is physically located on the right, has the UID 0x01759FEE81285300, while the the one that is connected to receptacle 2 and is physically located on the left, has the UID 0x0175A7333C21D300.
System Settings screenshot after the swap:
While it would appear at first glance that the layout is correct, it is not. This doesn’t match what I see in reality. What I see is that the display that is supposed to be “main” is now on the left, and the “extended” is on the right. Meaning, the layout doesn’t match the positions they’re in physically. Before putting them to sleep, I moved my mouse pointer between both monitors in the way that they are physically set, so if my mouse pointer was all the way to the right edge of the right and main monitor, I was able to move the mouse to the left and the pointer would travel all the way from the right to the left edge of the left monitor.
But after sleep, to do the same, I need to start on the right edge of the left monitor, and start moving to the left, which causes the pointer to teleport all the way from the left edge of the left monitor, to the right edge of the right monitor.
So for the 500th time, I have to go into the display settings, and set the monitor roles and layout to what they are physically.
That means that I have to open the System Settings app, find the Display tab (somebody really really dumb at Apple, when designing macOS Ventura, decided to throw away the perfectly functional System Preferences app that users had been using since 2000 when the first Mac OS X beta came out, and put the Settings app from the iPad OS, which while it works great for iPads, is a confusing mess for macOS. And even worse, it added one step to this aggravating process that I have to do between five and ten times a day. So not only Apple is extremely negligent in their implementation of display management, they also added insult to injury, making it more difficult to go through this process.
So these are the steps:
1) Open System Settings
2) Scroll down to the Displays tab
3) Click on the Arrange button (up to macOS Monterey, this step wasn’t necessary, the clickable and draggable display layout was inside the displays tab)
4) Click on the display on the left and drag it to the right of the other one
5) Right click the display on the right and select “Main Display”
6) Close System Settings
After following these steps, this is a screenshot of the Displays tab.
Here we can see that the main display is now (1), not (2) as it was before.If we go back up to the first screenshot of the display settings, the one that was set correctly when I first turned on the machine, we see that Main Display is (2), not (1).
However, when we open the report in System Information again, we can see that the connections remain the same as before:
In all these tests, we can see that the display with UID 0x01759FEE81285300 is always connected to receptacle 1 and the one with UID 0x0175A7333C21D300 is always connected to receptacle 2. This matches the physical reality, because disconnecting the monitor on the left and opening sysinfo shows that the monitor with that UID is still connected to receptacle 1:
Now I disconnected the cable from port 1 and inserted it into the second TB port. This is what sysinfo show after that:
As you saw, it is showing connected to receptacle 2, with the same UID as before.
Now to finish, some tests with the other monitor, the one that physically is on the left, and usually but not always, has the intended role of extended (there are certain times when I need the monitor on the left to have the role of “main” because I’m using the monitor on the right for my work laptop)
I will disconnect the monitor on the right, and connect the one on the left to receptacle 1. This is the other monitor, therefore, it shouldn’t show the UID 0x01759FEE81285300 at all, since that’s the one that belongs to the monitor that is physically on the right, and at this moment is not connected to the Mac Studio at all.
This is what sysinfo shows now:
As you can see, the UID is 0x0175A7333C21D300, which matches the only monitor that is currently connected.
Now I’m going to connect the same monitor to receptacle 4, which is the one all the way to the left in the row of four:
What this proved beyond any doubt whatsoever, is that these two displays have unique identifiers in the metadata that is sent to the machine as well as the operating system. But the macOS display management simply “flips a coin” to determine which display is which. There’s an obvious disconnect between the hardware and the software components, because the hardware doesn’t change at random, but the part of the system that identifies those displays and tells the operating system which one is which, does change at random. This is abundantly proven in these tests.
This is a test using the Thunderbolt daisy chaining that these monitors support. Unlike most monitors that come with poor quality cables in the box, these are very high quality Thunderbolt 4 cables.
So this is how it shows right now, physically daisy chained and actually the logical layout matching the physical one.
As you see, the sysinfo report shows what is done in reality, monitor with the UID 0x01759FEE81285300 (physically the one on the right) is connected to the port right next to ethernet, which is receptacle 1.
Monitor on the left, UID 0x0175A7333C21D300, is connected to the second thunderbolt port in the first monitor, so it shows as a child.
Now this is what the display system settings shows, and what should be every single time, since it matches what I see in front of me:
Now, I’m going to press the shortcut to make the monitors sleep, and go get a coffee.
Back after 3-4 minutes, and pressing a key, it woke up to the same layout. This time, they woke up as they had been left. However, it’s just blind luck like a coin toss, because I have tried the daisy chaining before and it turned out to be just as chaotic. So I’m going to put them to sleep again, and wake them up after 30 seconds.
Second try, and it did come back as left once again.
So I will try the same a third time, and then a few reboots.
Third try: came back fine. This is interesting, and not what happened the other times I tried daisy chaining.
Now I’m going to reboot.
After reboot, they came back as normal. While this initially would show some promise, it’s not going to last, as you will see later in this report.
(Update: weeks after initially typing this, I tried using them daisy chained for a couple of weeks. And they would swap 98% of the times I had to reboot, or put the displays to sleep. Even more proof that it’s a coin toss.)
Well, the daisy-chain party didn’t last long. Just like the times I tried it before, it worked like a coin toss. And there’s a chance you can flip a coin four times in a row and get heads each time.
But, funny enough, right after calling the Apple HQ and talking to someone who couldn’t put me through to anyone in the software engineering department, I wanted to test how long the daisy chaining would last this time.
So I rebooted. And, alas, it came back swapped. This time it did something that annoys the living crap out of me, because it showed the Apple logo and boot progress on the correct monitor, but when it went to black and then showed the login step, it was on the left monitor, which is where I’m typing this now.
So here we go again.
Here we can see that nothing changed from the first report after daisy chaining.
And this is the displays settings module:
Now, this looks exactly as before, except that physically, the main monitor signal is sent to the one on the left, and the extended one is sent to the one on the right.
So now I have to click on Arrange, for the millionth time.
Here’s the display settings after doing all that:
As you can see, now display (2) is the main one, when before it was (1).
All of this shows that macOS display management is absolutely chaotic, that it’s basically a coin toss every time after the video signal from the Mac to the display has been suspended for a number of reasons, which may be:
- User manually putting them to sleep by pressing Ctrl+Shift+Eject.
- Automatically after the time set by the user in the Lock Screen settings, which was properly located under Energy before they decided to discontinue the perfectly functional macOS System Preferences app for this idiotic confusing iPad “System Settings”.
- User manually reboots computer
- User turns on computer,
- User switches the monitor inputs to another input to use another machine for a while, like a work laptop.
Given that there is one constant in this, which is that the system correctly identifies which display is connected to which thunderbolt port, and that never changes, it’s obvious that the code in macOS for display assignment is a disaster and Apple either doesn’t care or doesn’t want to fix it because their resources are far more assigned to high ticket items like iPhones and iPads.
And sadly, while I used to admire Apple, the usual stance on this and everything else has been to blame things on the customer than accept blame. Or to blame things on the other devices rather than the Mac. So I’m sure the first excuse here is going to be “There’s something wrong with the monitors.”, which is why I’m going to tell you that I’ve had this problem since I got this machine in June 2022, when I was using two Dell P27150t monitors that were purchased around the same time by the company I work for back in 2016. So I was also using these both for work and for personal use, and I experienced the same exact problems.
In fact, recently I tried to connect one of the Dell monitors and one of the Samsungs. Two completely different monitors, different brands, and still, it started swapping them. So it’s not just a matter of having two identical monitors. It’s just negligence, poor coding, plain and simple.
Additional findings on March 1st, 2023
About a week ago I started setting my secondary monitor (the one on the left) to 1920x1080 HiDPI because of some old software that I need to use on a regular basis, which have a very small GUI. This made this display chaos worse, because macOS has a total disconnect between the reality of what ports the two monitors are connected to and where macOS thinks they are.
Here’s a log and some screenshots I took on 3/4/23
I turned on the Mac for the first time today. As many times before, I notice that the displays are swapped. The one on the right has the unintended role of secondary, and the one on the left, the unintended role of main.
So as usual, I open the system settings, go to displays, click on arrange and see this:
As you can see what shows doesn’t have anything to do with reality. Quite the opposite. So, as hundreds of times before, I click and drag the display on the left tp the right, and set it as main. And this is what happens now:
It’s not only that the roles were swapped, but macOS still thinks the monitors are not swapped at all, because it doesn’t query the hardware at any point for the UID. To macOS, these two monitors are exactly the same. So what I’m left with, after doing the same thing I have had to do about 500 times, is my main monitor set to 1920x1080 HiDPI, and my extended monitor at 2560x1440 HiDPI.
So on top of doing the same 5 steps every freaking time, now I have to add 2 more: set the extended display to HiDPI 1920x1080 and the main display to 2560x1440.
All of this doesn’t even take into account one thing. There’s a setting that I don’t like to have enabled, which is “Displays have separate spaces”. It’s the setting that if you have enabled, it will suddenly decide to teleport the dock to the second monitor. Sometimes it’s because you accidentally did the mouse motion that is supposed to cause that, which is, bring your pointer downward from the top of the screen around the horizontal center, and this has to be done in the display that you want as the current workspace. Sometimes it happens even if you haven’t even remotely moved the mouse in that display.
So my preference is to not have that enabled. But if it’s disabled, this nightmare that now has 10 months and counting, would be much worse. I know because that’s the way I had it before in all my Macs. But this display chaos makes that worse. Because when you change the roles of the displays manually after macOS decided to flip a coin, you end up with all the windows of all the programs you had open in your main display, now sitting in the extended or secondary one. That forces you to manually move every single window of every single program you have open to the other display.
So this is beyond the pale. How is it that a company like Apple, which usually makes outstanding hardware and software, has been so negligent in fixing this problem that has been affecting users for years, even before the Apple Silicon Macs, as some of the posts I pasted above show that people were having this same problem going as far back as 2015 or so.
So it seems clear to me that Apple won’t do anything by themselves unless forced to, because that’s unfortunately what their history tells us. There are lots of major issues over the years that Apple dismissed at first and then was forced to acknowledge and give its customers a solution because of a class action lawsuit or public outrage. There are many examples just a Google search away.
Update from later that day:
I came back home and I thought I’d try something new. Usually I turn on both monitors around the same, and then the Mac Studio. I thought this time, I would try turning on just the main and front monitor, and turn the other one later after macOS has booted up and has been up for a few minutes.
So I did that, and my main display was in front of me, as expected. However, as soon as I turned on the one on the left, the displays swapped again.
Instead of doing the same f$&%^g thing I do every time with the Arrange button, I went around the computer and physically swapped the thunderbolt connectors, meaning I disconnected both, and the one that was in receptacle 1, I plugged in receptacle 2, and viceversa. And that finally gave me the same display arrangement I had left the system in before I turned it off earlier.
However, this wasn’t a permanent solution, like everything else. When code is so poorly written as is the case here, things become chaotic and there’s no way around it. Apple has to fix this colossal mess, period.
I was about to build myself a fast PC in early 2022. I had been using a 2015 iMac for years, the fastest model with 4 Ghz, but it was too slow for what I needed it. And I didn’t want to spend another $3,000 or more into another iMac that would lag behind any decent PC I would build myself. I love macOS, but I needed a lot of raw speed, and I’ve always been both a macOS and Windows users, I can do fine with both.
But one day I saw the Apple event when they announced the Mac Studio, which was the best piece of marketing I ever saw, and I was hooked. I did my homework and went online to see the pros and cons of the M1 architecture, but one week later I placed the order, and three months later, I received it.
If it wasn’t for this issue, the machine would be almost perfect. And to be honest, I think it is, because if these tests have proven anything to me, is that the machine knows which display is connected to which port. It’s the pathetic code in macOS when it comes to display management, that ruins the whole experience. Because I’m sure this post is going to bring the hatred of all the Mac zealots, saying that I’m a whiner, and a child, and this and that, but you try having to put up with this crap every single day.
To those who will say that my monitors don’t have the EDIDs correctly set by Samsung and Dell, I will tell you, I don’t give a crap. Because I have proven that the system can tell each and every time, which monitor is connected to which port. So even if Samsung didn’t abide to some guideline, when you buy a $5,000 computer, you expect something as close to perfection as possible. I can accept some kind of problem with this machine, that it may be incompatible with some device, and the issues that come with a new architecture.
But this is bulls**t. This has nothing to do with the M1 architecture, which to me it’s an amazing one, but with stupidity on the part of Apple’s engineers, and even more stupidity on the part of Apple’s management. Because if you read everything people posted about this online, you will see that even people with those grossly expensive Apple monitors have the same problem. And even worse, you see that this has been happening for many years, especially with Macs that don’t have a screen as part of the body, like Mac Minis mostly, and some Mac Pros.
Now, you might ask, why didn’t you call Apple about this? Oh, I did. In early December. And I was on the phone for two hours with a very nice guy who knew his stuff, and asked me lots of technical questions that I answered one by one. He sent me a diagnostics app that I ran, and then sent the report back to him during that call, which in turn he sent to the Apple engineers. But nothing happened. I don’t think it was the tech support rep’s negligence, he has a job and he did it right. He was supposed to gather information and send it to the right people, and I’m sure he did, but the people he sent it to are useless idiots. Because you would think that if you are an engineer at Apple and you see something like this, it would take priority. Not just for one case, obviously, but I made sure I sent that guy most of these links, so they knew that this was a widespread bug.
Apple is like an impenetrable wall, where you can only go so far without being some kind of VIP and know someone at the top. I looked up the number for the Cupertino HQ and called. I explained to the lady that answered that I had already been on the phone for two hours with a tech rep months ago and didn’t help, and that this was a huge problem many people were having, so I needed to speak with someone at HQ that could get this issue to the right people. Well, she transferred me to another rep, this one not as good as the first one, more like the typical rep that doesn’t give a damn.
I also sent three emails to [email protected], knowing that it’s not Tim Cook’s everyday email, but thinking that perhaps somebody there is assigned to read emails sent to it, and somehow this was going to catch their attention. Never received a reply.
You might also ask, "Did you try different cables?", a very valid question. Yes, I did. I found rather expensive, high rated cables on Amazon and ordered them. Didn't change a thing, so I returned them. I knew it didn't matter, because my Macbook Pro uses USB-C to Displayport cables, and I have several of those, and trying different ones also didn't make a difference in it. Nor they did when I tried them in the Mac Studio.
And one last thing, because I know many people will reply with this: "Why didn't you grab the monitor on the right, put it on the left, and then the other on the left and put it on the right?". I did. It made no freaking difference.
I hate all the time of my life that Apple has made me waste on this, including having to run all these tests, and copying and pasting this on forums. But I’m not going to rest until Apple fixes this, because I didn’t pay $5,000 for a machine that drives me crazy every freaking day. Nobody should have to put up with this crap.
And lastly, my answer to all the people that will tell me to get SwitchResX. I already got it, but for my 2021 Macbook Pro. And it doesn’t work. I mean, it’s a great program, and it has lots of useful features, but the program can only work on what the OS reports to it. If they OS reports a lie, it can’t do anything about it. And I assume other programs are the same. But regardless of that, even if they worked perfectly fine, no one who pays $5,000 for a computer should have to deal with this crap. Or even $1,000. Display roles are something you setup once or at the most, until the next time you connect new monitors. But as long as the monitors are the same and remain connected, that should be a one time setting.
To me, this is pathetic and so, so aggravating. Apple could fix this in no time if they wanted. It has brought my opinion of them through the floor, and I was an Apple defender to all the Apple haters, but not anymore. I’m not saying I’m an Apple hater now, I still love my Mac Studio every single minute that I’m not dealing with this crap, and I’m still fascinated at the speed I can do everything with it.
And Apple has a lot of great products out there, which may not be perfect but are remarkable, which is why it pisses me off so much that they are so negligent with this.
I may have repeated myself a bunch of times in this post. This is something I wrote on different days starting with the day in February and then updates, and honestly, I'm so fed up with this that I don't have the will or the energy to read it all. I'm sick of wasting to much time on this. You buy a Mac because they're supposed to be better built, and be free from major headaches. But this is the mother of all the computer problems I've ever had, and I've had two Dells, and Dells are pieces of junk. But I never had a Dell that forced me to waste so much time doing this crap. They were low quality garbage, but when I set a main monitor in them, it stayed that way.
I appreciate the info, but I already looked into those things. And I'm not going to install any of those, because no person that paid $5,000 for a computer should have to put up with this crap. It's as simple as that. And I will file complaints with the Department of Justice, with the FTC and every single government agency I can because it's about time somebody takes Apple down from that high horse, and force them to see, it's not OK to pull this crap on people.
Like I said, even if this machine was $1,000, it's still not OK to have to put up with this. As I'm sure many people with $1,000 Mac Minis do put up with this crap every day. And I have proven extensively that this has nothing to do with what monitor you have, because macOS knows each and every time, which physical monitor is connected to which physical port in the back of the machine.
Therefore, having established that as an undeniable fact, the system is probably a few lines of code away from assigning the role of main to the monitor plugged in to port 1, and the role of extended to the one plugged in into port 2, or 3, or 4. And honestly it doesn't even matter, because if you assigned the role of main to the monitor with UID 0x01759FEE81285300, and the role of extended to monitor with the UID 0x0175A7333C21D300, then if you connect them to other ports, the OS still knows that monitor UID: 0x01759FEE81285300 is the main one and UID: 0x0175A7333C21D300 is the extended one. Period. There's no possible discussion about it. I don't like to see things in black or white, but in this case it is, because I wasted a lot of time of my life that I will never get back, just because some idiot at Apple thought it was a good idea to let macOS assign display roles at random.