Just another heads up that kernel extensions on macOS will soon stop working. This has been known for a while, but you might not even know you’re using kernel extensions in the first place.
System extensions on macOS Catalina (10.15) allow software like network extensions and endpoint security solutions to extend the functionality of macOS without requiring kernel-level access. At WWDC19, we announced the deprecation of kernel extensions as part of our ongoing effort to modernize the platform, improve security and reliability, and enable more user-friendly distribution methods. Kernel programming interfaces (KPIs) will be deprecated as alternatives become available, and future OS releases will no longer load kernel extensions that use deprecated KPIs by default.
If you use macOS, run kextstat | grep -v com.apple
to see how many third party kernel extensions you have running. Things like VirtualBox, controller support for Steam, DropBox, Little Snitch, and more all come with kernel extensions, so there’s definitely chances you might be running some without even realising it.
I ran the suggested command and saw quite a few things, however there’s no indication which of the KPIs are being used. As stated in the linked page, only deprecated KPIs will cause problems in the next version of macOS, whereas non-deprecated KPIs will be supported for now, until replacements are available… in other words as far as I can tell there is no need to panic
It being apple one of two things will happen: They’ll hold off removing the kernel extensions for years, waiting for the big players to migrate to the new apis, or they’ll cut it out in the next release with little warning. Good Luck!
There shouldn’t be any reason to panic. APIs/ABIs getting deprecated is part of the normal software life cycle.
Just wait though. Apple will drop the ax and people will start crying about it, like they did with Catalina, because they/devs are lazy.
Also, see the debacle that was Windows Vista.
I’m panicking. One of the kernel extensions I use is the Microsoft Mouse driver which is the only tool I know of that still works on High Sierra to get WIndows-like mouse acceleration curve. USB input drivers are definitely on the list of KPIs with a non-deprecated replacement. Microsoft abandoned the driver years ago so there’s no chance of a replacement. The mouse will still work, but the acceleration will revert to the practically criminal curve that ships with MacOS.
I understand why many mac-os users prefer the mac-os desktop. It’s a clean well rounded platform and people like to stick with what they know, but the inconvenient truth is that macos has not received much creative attention from apple in a long time. My prediction is this is just another step towards removing control from developers and users that ultimately transforms macos into IOS – something which is very unpopular but they’re hoping that if they do it incrementally in phases that their users will accept the changes piecemeal.
I like it because it’s a Unix which gets commercial support and has rather good battery life. All of my FOSS tools work plus many commercial tools.
As much as I’d rather support desktop Linux, it’s still a third wheel, and it has poor battery life.
Flatland_Spider,
I would like to do these power tests myself to get a bearing on the problem. I do believe you, I’m just curious about the “why” part. I tried to find a review that compared linux and macos battery life on the same hardware, but came up empty-handed.
Like you I’m very curious as to what’s going on. How much power is used at idle? Is the CPU entering sleep states under linux? At there more interrupts under linux? Are the clock speeds comparable? Fan speeds? Under load, is the same work getting done per unit time? How does memory & disk usage compare? Is there more disk activity/thrashing under linux? Does macos put more peripherals to sleep? Alas, I’m not going to buy a macbook just to try these tests, but gosh darnit somebody should 🙂
I did get a macbook pro loaner for one project a few years ago, but it actually under-performed compared to my acer at the time, which was unexpected because the mac’s specs were actually much better, however I’ve come to recognize that many macbook pros will under-perform due to thermal throttling issues as a result of apple’s design choices.
There’s a big difference between Windows and Linux too. Phoronix did an article about it a few years ago. (https://www.phoronix.com/scan.php?page=news_item&px=Windows-Linux-Power-Dell-XPS)
My evidence is between a brand new T420 with Windows and with Fedora. Something like 10 hours with Windows to 4 hours with Fedora.
I wasn’t doing much. Firefox (web pages are a battery hog on every platform), Terminal with SSH sessions, text editor.
My 2015 MacBook Pro 15 is similar.
Yeah, they have thermal issues. Luckily, everyone has picked up thermal issues as a design feature, and the playing field should be more level these days. 🙂
Flatland_Spider,
That data puts them all pretty close. Unfortunately his graph doesn’t show enough detail, he should have used a bigger graph with a logarithmic IMHO. His averages put windows 10 as using ~ 1% more power than the linux distros, however his graph shows that he may not have given the system enough time to settle and over a longer period it looks like ubuntu could have fared the worst on average given more time. The other linux distros look like they’re in the running alongside windows 10.
The thing is I think linux and windows are both using more power than macos does, and I’d kind of like to know if it’s due to hardware or software differences.
That’s interesting, the phoronix power test didn’t reveal anything close to a 2.5X gap, It’s hard to say what could be causing that without digging deeper. I don’t use laptops much, so I don’t have much experience optimizing for battery life, for this reason I won’t attempt a blind guess 🙂 A lot of posts about linux optimization suggest a tool called TLP, which is in many linux repos. Maybe you can give it a shot:
https://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html
Personally I look for workstation class laptops that don’t sacrifice performance (or ports, keyboard depth, etc) for aesthetic purposes, but I agree it is getting harder to find this on the consumer side.
You know what, I took a closer look at the phoronix graph. At the very beginning of the graph when the power is supposedly “off”. the data doesn’t start at zero for each run…what’s up with that? I think his measurements were skewed because the battery was in fact slow charging for some of his runs. Notice that ubuntu’s power reading is ~2% higher than windows even before power-up, which makes no sense. Whatever the cause, the bias seems to have carried through his test, notice that ubuntu remains about 2% higher than the others during the idle phase. Earlier I assumed this was caused by differences in software, but now I think it reflects different hardware conditions that went unnoticed.