For example, with my 4k monitor running at 3008x1692 with HiDPI ("retina") enabled, I get this:
DELL P2715Q:
Resolution: 6016 x 3384
UI Looks like: 3008 x 1692 @ 60 Hz
Even with those settings my 16" MBP's idle GPU power usage is only ~8-9W. It makes no sense that enabling HiDPI on a 1440p monitor results in better performance, so this definitely sounds like a bug.
I recommend displayplacer [0] for changing and automating macOS display settings. It lets you set all sorts of configs not available in the GUI. Should be easy to have displayplacer enable HiDPI on a 1440p monitor. And it doesn't make persistent system changes or require disabling SIP (i think?) like that script referenced in the article.
It doesn't make sense, but Big Sur is all kinds of broken with external displays.
Display Stream Compression, working perfectly in Catalina, is completely non functional in Big Sur. I don't mean that dramatically, it has not worked since public beta 1, and still doesn't.
Apple just doesn't care if you don't have a Pro Display XDR.
makes sense! Screenshots are in the "real" resolution and not the "Looks Like" resolution. So that helps confirm that doubling the resolution/enabling HiDPI fixed the performance issue. Such a weird bug. Thanks for the write up.
Hey Jake, Does displayplacer have an option to control brightness? I'm running a Hackintosh and ran into displayplacer as the Mac OS equivalent for xrandr but I can't seem to find any command to control brightness.
These machines are a complete joke for anyone doing “Pro” work. Endless thermal throttling driving CPU frequencies down to 2.4Ghz, low GPU performance, it’s utter bullshit.
I’ve spent $5k on maxed out machines for my engineers, and it’s been a complete mess. Half of them have had to switch to a Windows machine as their primary so they can work without staring at a compiler spinning its wheels.
Maybe an Mx Pro will live up to the legacy of the 2012 era, but Apple’s obsession with thinness and mediocre cooling doesn’t give me much hope for pro users.
Absolutely this. I have a 16'' mbp and it constantly throttles, even when I manually set the fans to full blast and use a cooling pad. There's no way to sustain the 45 watt tdp for more than a few seconds.
Anecdotally, my outdated i5 quad core is much snappier than the mbp i7 8 core because it can go all out at 69 watts/max boost for hours and not throttle for a second.
Disable turbo boost. Throttling is not directly linked to any temperature sensor, and turbo boost almost instantly causes throttling, which then takes some time to return to normal because of a back-off algorithm.
This is exactly it, the thermal ceiling leaves almost no room to use the full 45 watt TDP. The fact that this problem isn’t a huge PR nightmare shows just how “pro” the typical buyer’s workload is.
WSL2 is nearly Linux. File IO is a bit slow compared to native Linux and if you want to call a Windows application running on localhost from within WSL2 it's a bit tricky but otherwise it works very well.
Throttling occurs when these values go over 100. Throttling is not directly linked to temperature. There is some kind back-off algorithm that means that even if you trip this thermal throttling threshold, it will take some time before throttling is disabled. Even if you CPU returns to a normal temperature.
After upgrading my MacBook Pro 13" (2017) to Big Sur in Dec 2020 I had a similar experience. I use a 4k monitor and everything got super slow, fans started spinning, processes got throttled, and I could barely get any work done. I later did a fresh install of Catalina and everything was fast again.
I never did proper benchmarking, but my feeling was that resolution played a role. When using 1080p things were fast, but the resolution is unusable on a 27" 4k display. When using 2160p things were fast, but too small for my eyes. Any resolution in between (this implies things are being scaled?) was sluggish.
Note that this is a 13" model, so the problem does not seem to be restricted to the 16" model that the author is talking about.
> this fix only works when the MacBook lid is closed
Not really solved then. Everyone I know that has a 16” has the same issue.
Since the top of the line model is the one most chosen by professionals, very few will not connect to an external monitor. Apple should be issuing refunds left and right after this fiasco.
I got a 16" MBP last year in order to WFH. I could not get it to work with an old 1920x1200 Dell monitor using DVI adapters. Months later I bought a 1440 monitor that works over HDMI and DisplayPort, but the display is fuzzy. I found some tweaks to improve it, but it's still noticeably worse than a hackintosh running High Sierra.
I have felt like the performance isn't great, but I chalked it up to Docker and the Linux VM it uses. However, I also noticed that the computer was warm to the touch with fans running even when I hadn't used it for hours. I've taken to manually forcing it to sleep at the end of the day.
I'm excited to try this HiDPI hack, because it may solve the power usage problem and the fuzzy display. It would be a real shame to lose the built-in display if this only works in clamshell mode, but it just might be worth it.
Edit: I just realized that I can't use Touch ID in clamshell mode. That makes this a harder call.
If you try it out, I would be interested in knowing if it helped with the fuzzyness. I experienced the same on a 38“ 3840x1600 display, which only looks bad in macOS. I no longer own a macbook so I can‘t do any testing on my own.
Yeah, I can reproduce. Installed iStats Menu, connected, and it's 18W on the Radeon GPU as expected. I was kind of resigned to this always being true, but maybe not! I am somewhat optimistic that Apple or AMD will fix this now.
I was having exact same problem and done a ton of research on the issue. Ultimately y I decided to buy eGPU which solved my problem.
It seems that Radeon is taking a lot of power even on idle screen and with low load. This increases temperature which in turn creates environment where throttling on CPU happens so not only Macbook gets hot but also it’s much slower.
After research I found out that I can either work in clamshell mode (and I’d rather grew fond of having MBP + external monitor) or find a way to mitigate it.
I decided to opt for eGPU which solved issue immediately. MacOS feel snappier, I don’t remember last time when fans started and it’s cool to touch. Not an exactly cheap solution for a i9 MBP but, eh, you do what you have to do.
eGPU brings its own share of problems to MacOS (like ejecting it is not a simple thing - I always have to resort to doing this manually from console) and pulling the cable will kernel panic, but the upside is that I get quite nice connector hub and photo editing software works much nicer.
I do think it’s a shame that Apple even designed MBP like that. You buy beefed out MBP (5600M wasn’t even available when I was buying it - and supposedly it fixes this issue) and it can’t handle so complex task as displaying the second monitor without launching the rocket engine.
I have two eGPUs; both of which are collecting dust.
One is a BlackMagic eGPU Pro (since discontinued).
The main reason that I disconnected them, is that I plan to get an M1X/M2 laptop, once they come out, and I know that the new chips don't work with eGPUs, so I might as well get used to it (Makes for simpler under-desk wiring, too).
Also, the eGPUs seemed to introduce random crashes, and I don't like running on discontinued kit.
I installed Fedora Linux recently and used it for a few days. I did not spot a single bug, despite using it in a quite heavy scenario (Docker, Android Emulator, IDE, big file transfers). For example Windows had issues with sound drivers and GPU drivers, Linux is rock stable.
Also it was as easy as macOS install: I just installed it in a 5 minutes and it was ready to work. With Windows I had to spent hours to install all the drivers from the manufacturer website (I tried to let Windows to install their own drivers, but it did not find all the necessary drivers).
I have few issues with some Linux UI choices, for example I don't like Gnome 3 UI. But that's not a bug.
I have solved the last "bug" by using xubuntu, which has an astonishingly stable, coherent and well integrated xfce desktop experience. There something similar for Fedora perhaps?
Yeah, just put the interns on it next season. They'll just do the boring work the real programmers don't want to do. <eyeroll>
Whenever a solid Apple bash comes up on HN, people just throw statements around to the effect of "Apple -- as an entire software and hardware conglomerate -- just doesn't 'care' any more," and that nothing in the entire freaking stack should ever exhibit a bug. It's almost like NO ONE around here actually works in SOFTWARE or HARDWARE. I guess no one else here has ever shipped an uncaught bug. I sure have.
From my experience, the number of the kinds of issues being discussed here is EXCEEDINGLY low for the number of moving parts involved. I know, I know. Someone's going to say that since they do the whole stack themselves, they should NEVER ship a bug. Well, good luck with that. I'll believe it's humanly possible when I see it.
And don't even start with how Linux or Windows is any better. I've been at this for 30 years. I know better.
DSC, hardly an uncommon technology, worked perfectly in Catalina. It was entirely non-functional in public beta 1 of Big Sur.
Here we are at 11.3.1 and it is still absolutely, utterly broken. Legions of users of varying monitors, varying GPUs, can't access the full feature set of their equipment that they used to be able. There are Radar reports back to the betas.
Instead we get things like making sure you can buy AppleCare+ from the About This Mac option.
Or buy a Pro Display XDR, because it seems that that is all Apple cares about for external monitors.
In my opinion it's more buggy. The biggest difference is that many of those bugs are an active choice on Apple's part but I still see them as bugs. Especially because if people shout loud enough Apple changes the "feature" and says "this was a bug" but only if Twitter blows up enough. Otherwise it is a feature.
Hmm. I've not had any success with Teams on Linux. Oddly, the behavior is also quite client-dependent:
- Chromium: infinite login loop because why not
- Flatpak: login works, but says my account isn't eligible for Teams (which blocks joining as even a guest?)
- Firefox: doesn't even ask for a login and I can join, but no audio or video (either direction); chat works though
Note that I only join existing meetings, never create any, so why I can get to the call without logging in on Firefox, but am blocked from even joining elsewhere is a real mystery to me.
Well, Teams has problems using my external USB mic on Linux Mint 19.3, when e.g. Zoom has no problems with it. Otherwise no significant bugs using Mint for last 5 years or so both on desktop and laptop.
I recently had to go through the hell of setting up a Java development environment, plus Android emulation, on my new M1 MacBook .. mid-way through, I was cursing myself that I wasn't just using a Linux machine .. but okay, eventually, SDKMAN came to the rescue. For a while there it really felt pretty regressive ..
Your "average" Linux distro isn't "buggy" as you claim.
You sound like someone who either hasn't used Linux, or extrapolates their experiences from one specific distro, to all distros.
I say this as someone who uses Linux daily. Specifically, Arch Linux, with testing repos enabled. The only bugs I run into are from using Git master versions of software that I'm interesting in testing.
I've used Linux since it was first available in the mid 90s.
I use it at work and on machines at home. It is almost certainly more reliable than Windows and MacOS as a server. However, the context here is desktop UI and laptops.
Linux does exceptionally well considering there is almost no money at all going into this use case. But there are many bugs, sometimes due to hardware (e.g ACPI inconsistencies, even Thinkpads have issues) and because of software churn (few fix bugs in their spare time, it's more fun to create something new).
If you wish to pretend that everything is perfect and there are no problems, then you aren't helping Linux either.
>You sound like someone who either hasn't used Linux, or extrapolates their experiences from one specific distro, to all distros.
Ironically you've just described the biggest problem with Linux, and the biggest non-solution often proposed "Problem with distro Y? Just use distro X".
Mac os hasn't just worked for developers for a long time.
They missed the entire container revolution with docker. I still come across Devs using Mac's that are afraid of docker because it's too confusing and black box. (It's Linux in there right?)
At work we have a rather overengineered method of proxying to our production services for security reasons. Mac users are currently constantly having to deal with abstraction layers on top of abstraction layers to make things barely reliable. I just use a systemd unit file and haven't looked at it in years.
Homebrew tool, while great for more obscure things, it should really only be a fallback, not the default. It's basically a confusing and black box version of the AUR.
BSD/apple ways of doing things are just annoying. It's fine for the average user. But for Devs that want to do things in the same way they do them on their server it's just another hoop to jump through.
The sad thing is that moving every Dev in the company over to Linux would probably be worthwhile long term, but I really don't think they have the willpower to relearn things even if they are that much better.
This was (and is) such a big issue that I sold my 16” MBP and bought an M1 MacBook Air.
The monitor issue was particularly egregious because it would cause heat and noise even at idle, but the thing gets perilously hot and loud when put under even the slightest load.
I am incredibly surprised that none of the reviews seemed to pick up on it, though I suspect they may have been highly swayed by this being the first MacBook in some years with a usable keyboard.
I would not be surprised if we start to see a bunch of them fail en masse in a few years time.
Oh wow I’m pretty sure I’ve been debugging this issue all week and was on the verge of reformatting my Mac back to Catalina (as I don’t recall seeing this there). What great timing!
I noticed the issue as my laptop feeling laggy overall, but especially that graphics on the laptop screen (eg the minimise animation) ran at like 5fps when my external monitor was connected - they were fine without, and the external monitor was ok.
A friend said theirs was fine with the same setup but a 4K monitor so I did wonder if it was something to do with scaling but wasn’t aware you could do anything about it. Will test this out tomorrow!
Slightly off topic but related - had a fun day yesterday tracking down the fact that in Big Sur, timers in tasks that are not in the foreground (ie the active window) start firing up to 10 secs late. I thought it must be a symptom of whatever issue was making my computer laggy but it actually seems to be aggressive power saving... so if anyone knows how to opt out of that I’ll be happy, really messes up what I was doing yesterday (basically a program that forwards IPC messages between two programs - they start arriving late after 10 secs or so).
When levels are above 100, your laptop will throttle. Once they return to 100, throttling will cease. There is a back-off algorithm at play too, so its not good enough that your CPU returns to normal temperature, it must stay at normal temperature for a period of time before things stop lagging.
In case this helps anyone, I spent this morning debugging my issue further and I am pretty certain it's a hardware fault either with, or affecting, the dGPU in my laptop.
If I force internal GPU with `sudo pmset -b gpuswitch 0`, animations and graphics benchmarks are much faster than with dGPU enabled! For example, I tried the Unigine Heaven benchmark and I get 14fps with internal GPU, 4fps with discrete (5300M) GPU, which I am pretty sure is not right lol. (If you run this command, `sudo pmset -b gpuswitch 2` set it back to auto).
Did a clean install of Catalina to rule out OS issues, and got friends with the same laptop to test out the same website I was seeing extreme slowness on (it was fine for them).
The laptop recently had a repair and pretty much every part was replaced as a result of liquid damage, so I suspect either a faulty part or incorrect installation. Off to the Apple Store I go!
I recommend displayplacer [0] for changing and automating macOS display settings. It lets you set all sorts of configs not available in the GUI. Should be easy to have displayplacer enable HiDPI on a 1440p monitor. And it doesn't make persistent system changes or require disabling SIP (i think?) like that script referenced in the article.
[0] https://github.com/jakehilborn/displayplacer
Display Stream Compression, working perfectly in Catalina, is completely non functional in Big Sur. I don't mean that dramatically, it has not worked since public beta 1, and still doesn't.
Apple just doesn't care if you don't have a Pro Display XDR.
p.s. check out my pull request #62 for a bug fix! Funnily, it's for a scaling/HiDPI related issue. (though only matters when you don't use "mode: <>")
https://github.com/avibrazil/RDM
I'd love a solution that doesn't require closing the lid, as well.
Deleted Comment
I’ve spent $5k on maxed out machines for my engineers, and it’s been a complete mess. Half of them have had to switch to a Windows machine as their primary so they can work without staring at a compiler spinning its wheels.
Maybe an Mx Pro will live up to the legacy of the 2012 era, but Apple’s obsession with thinness and mediocre cooling doesn’t give me much hope for pro users.
Anecdotally, my outdated i5 quad core is much snappier than the mbp i7 8 core because it can go all out at 69 watts/max boost for hours and not throttle for a second.
Why not Linux?
Throttling occurs when these values go over 100. Throttling is not directly linked to temperature. There is some kind back-off algorithm that means that even if you trip this thermal throttling threshold, it will take some time before throttling is disabled. Even if you CPU returns to a normal temperature.
Also, disable turbo boost.
I never did proper benchmarking, but my feeling was that resolution played a role. When using 1080p things were fast, but the resolution is unusable on a 27" 4k display. When using 2160p things were fast, but too small for my eyes. Any resolution in between (this implies things are being scaled?) was sluggish.
Note that this is a 13" model, so the problem does not seem to be restricted to the 16" model that the author is talking about.
Has anyone spoken to Apple Support regarding this?
I did a clean install of Catalina and same issue persisted so I think I have a hardware fault.
Not really solved then. Everyone I know that has a 16” has the same issue.
Since the top of the line model is the one most chosen by professionals, very few will not connect to an external monitor. Apple should be issuing refunds left and right after this fiasco.
I have felt like the performance isn't great, but I chalked it up to Docker and the Linux VM it uses. However, I also noticed that the computer was warm to the touch with fans running even when I hadn't used it for hours. I've taken to manually forcing it to sleep at the end of the day.
I'm excited to try this HiDPI hack, because it may solve the power usage problem and the fuzzy display. It would be a real shame to lose the built-in display if this only works in clamshell mode, but it just might be worth it.
Edit: I just realized that I can't use Touch ID in clamshell mode. That makes this a harder call.
It seems that Radeon is taking a lot of power even on idle screen and with low load. This increases temperature which in turn creates environment where throttling on CPU happens so not only Macbook gets hot but also it’s much slower.
After research I found out that I can either work in clamshell mode (and I’d rather grew fond of having MBP + external monitor) or find a way to mitigate it.
I decided to opt for eGPU which solved issue immediately. MacOS feel snappier, I don’t remember last time when fans started and it’s cool to touch. Not an exactly cheap solution for a i9 MBP but, eh, you do what you have to do.
eGPU brings its own share of problems to MacOS (like ejecting it is not a simple thing - I always have to resort to doing this manually from console) and pulling the cable will kernel panic, but the upside is that I get quite nice connector hub and photo editing software works much nicer.
I do think it’s a shame that Apple even designed MBP like that. You buy beefed out MBP (5600M wasn’t even available when I was buying it - and supposedly it fixes this issue) and it can’t handle so complex task as displaying the second monitor without launching the rocket engine.
The power/heat is due unnecessary clocking up when it isn't even doing any work. The non-dGPU version does better at the same task.
If that would be solely driver bug it would be patched by now (and that’s an issue since 2019, so not exactly new).
One is a BlackMagic eGPU Pro (since discontinued).
The main reason that I disconnected them, is that I plan to get an M1X/M2 laptop, once they come out, and I know that the new chips don't work with eGPUs, so I might as well get used to it (Makes for simpler under-desk wiring, too).
Also, the eGPUs seemed to introduce random crashes, and I don't like running on discontinued kit.
No I don't.
Are you an iOS dev?
Also it was as easy as macOS install: I just installed it in a 5 minutes and it was ready to work. With Windows I had to spent hours to install all the drivers from the manufacturer website (I tried to let Windows to install their own drivers, but it did not find all the necessary drivers).
I have few issues with some Linux UI choices, for example I don't like Gnome 3 UI. But that's not a bug.
Whenever a solid Apple bash comes up on HN, people just throw statements around to the effect of "Apple -- as an entire software and hardware conglomerate -- just doesn't 'care' any more," and that nothing in the entire freaking stack should ever exhibit a bug. It's almost like NO ONE around here actually works in SOFTWARE or HARDWARE. I guess no one else here has ever shipped an uncaught bug. I sure have.
From my experience, the number of the kinds of issues being discussed here is EXCEEDINGLY low for the number of moving parts involved. I know, I know. Someone's going to say that since they do the whole stack themselves, they should NEVER ship a bug. Well, good luck with that. I'll believe it's humanly possible when I see it.
And don't even start with how Linux or Windows is any better. I've been at this for 30 years. I know better.
Here we are at 11.3.1 and it is still absolutely, utterly broken. Legions of users of varying monitors, varying GPUs, can't access the full feature set of their equipment that they used to be able. There are Radar reports back to the betas.
Instead we get things like making sure you can buy AppleCare+ from the About This Mac option.
Or buy a Pro Display XDR, because it seems that that is all Apple cares about for external monitors.
my Mac is asking me every login for my exchange creds despite having authenticated several times.
my Mac is running hot and depleting battery without any discernable reason at random occasions.
the esc key on my mbp 2019 itself is a bug in my opinion.
I have to disagree there. It's so frigging laggy that it feels unusable as a communication tool.
Your "average" Linux distro isn't "buggy" as you claim.
You sound like someone who either hasn't used Linux, or extrapolates their experiences from one specific distro, to all distros.
I say this as someone who uses Linux daily. Specifically, Arch Linux, with testing repos enabled. The only bugs I run into are from using Git master versions of software that I'm interesting in testing.
Linux does exceptionally well considering there is almost no money at all going into this use case. But there are many bugs, sometimes due to hardware (e.g ACPI inconsistencies, even Thinkpads have issues) and because of software churn (few fix bugs in their spare time, it's more fun to create something new).
If you wish to pretend that everything is perfect and there are no problems, then you aren't helping Linux either.
Ironically you've just described the biggest problem with Linux, and the biggest non-solution often proposed "Problem with distro Y? Just use distro X".
They missed the entire container revolution with docker. I still come across Devs using Mac's that are afraid of docker because it's too confusing and black box. (It's Linux in there right?)
At work we have a rather overengineered method of proxying to our production services for security reasons. Mac users are currently constantly having to deal with abstraction layers on top of abstraction layers to make things barely reliable. I just use a systemd unit file and haven't looked at it in years.
Homebrew tool, while great for more obscure things, it should really only be a fallback, not the default. It's basically a confusing and black box version of the AUR.
BSD/apple ways of doing things are just annoying. It's fine for the average user. But for Devs that want to do things in the same way they do them on their server it's just another hoop to jump through.
The sad thing is that moving every Dev in the company over to Linux would probably be worthwhile long term, but I really don't think they have the willpower to relearn things even if they are that much better.
I dunno, I'm a developer (Python, Java, some JS, shell, Docker, Vagrant) and it has worked fine for me.
The issues are 100% due to Apple's lack of care for developer concerns.
The monitor issue was particularly egregious because it would cause heat and noise even at idle, but the thing gets perilously hot and loud when put under even the slightest load.
I am incredibly surprised that none of the reviews seemed to pick up on it, though I suspect they may have been highly swayed by this being the first MacBook in some years with a usable keyboard.
I would not be surprised if we start to see a bunch of them fail en masse in a few years time.
This sentence perfectly encapsulates the Apple mentality.
Why would they ever bother fixing it?
I noticed the issue as my laptop feeling laggy overall, but especially that graphics on the laptop screen (eg the minimise animation) ran at like 5fps when my external monitor was connected - they were fine without, and the external monitor was ok.
A friend said theirs was fine with the same setup but a 4K monitor so I did wonder if it was something to do with scaling but wasn’t aware you could do anything about it. Will test this out tomorrow!
Slightly off topic but related - had a fun day yesterday tracking down the fact that in Big Sur, timers in tasks that are not in the foreground (ie the active window) start firing up to 10 secs late. I thought it must be a symptom of whatever issue was making my computer laggy but it actually seems to be aggressive power saving... so if anyone knows how to opt out of that I’ll be happy, really messes up what I was doing yesterday (basically a program that forwards IPC messages between two programs - they start arriving late after 10 secs or so).
Run `sudo watch -d -t -n1 thermal levels`.
When levels are above 100, your laptop will throttle. Once they return to 100, throttling will cease. There is a back-off algorithm at play too, so its not good enough that your CPU returns to normal temperature, it must stay at normal temperature for a period of time before things stop lagging.
Also, disable turbo boost.
Is there a way to disable it without installing some 3rd party software?
If I force internal GPU with `sudo pmset -b gpuswitch 0`, animations and graphics benchmarks are much faster than with dGPU enabled! For example, I tried the Unigine Heaven benchmark and I get 14fps with internal GPU, 4fps with discrete (5300M) GPU, which I am pretty sure is not right lol. (If you run this command, `sudo pmset -b gpuswitch 2` set it back to auto).
Did a clean install of Catalina to rule out OS issues, and got friends with the same laptop to test out the same website I was seeing extreme slowness on (it was fine for them).
The laptop recently had a repair and pretty much every part was replaced as a result of liquid damage, so I suspect either a faulty part or incorrect installation. Off to the Apple Store I go!