Well, here's a good reason not to upgrade to newer Mac OSs going forward

I just came across this article from RME, who makes some of the best audio interfaces and low-latency drivers.

They have just pointed out that going forward, Apple is forcing developers to switch from kernel drivers to “user” drivers (explanation of the difference is beyond the scope of this post) but user drivers are less efficient so this will impact latency.

This is quite disturbing - personally, for actual live use, I’m sticking with my old Intel laptops running OS 10.14

4 Likes

Well, that sucks. Just another example of Apple’s arrogance. Take this change and shove it…

This reminds my of my days coding DEC VAX VMS drivers in the ‘80s. I had two choices: device drivers or terminal drivers (think ADM 3 ASCII terminals). The old hardware protocol I had to support had an ‘FF’ byte with a parity error to indicate that the next byte was the checksum and end of message. The biggest problem was that device drivers were tied to the VMS version and had to be updated when VMS was updated. I dreaded weekends, when DEC did whatever they wanted to my 3 VAX’s. I’d come in on Monday morning, find out that nothing worked, and then spend the day recoding and testing my device drivers.

I’ve been tempted more than once to go down the Apple rabbit hole, but always managed to talk myself out of it. Windows has been pretty stable for me for the last few years. RME drivers are excellent, and they were (one of) the first audio interface manufacturers to release a native Windows ARM driver, which works great on my Surface Pro.

Since the Crowdstrike event happened, pressure is on Microsoft to move certain drivers out of kernel space into user space. Ok, compared to audio drivers, the Crowdstrike agent is a special case which allowes for much more damage if it doesn’t function correctly, but I’m not sure whether Microsoft in the future will ban all non-essential drivers from kernel space or not

1 Like

This is a very stupid decision from Apple, IMO.

1 Like

They might be counting on improved machine performance mitigating the negative impacts of this change. But, yeah, I agree this decision is otherwise shortsighted.

What’s the real impact related to latency …. any data available ?

For a high performance professional audio set-up it may be an issue, but for a “normal” user (like me) sharing the Mac between different use-cases (GP vs Foto or travel management) the additional security to protect the system is also a highly welcome value

I don’t know what will be the restrictions but if your driver cannot directly communicate with your hardware and you have to make a system call, then there’s a cost!

1 Like

Because the hardware itself is only available to the kernel, there’s a moment involved where the cpu has to ‘flip’ from user mode to kernel mode in order to get data from an application to the hardware and vice versa. That has it’s costs. Rme apparently has a very efficient way of doing this. If drivers are banned from the kernel there will be a need for a generic ‘conduit’ driver (in Windows there are the miniport drivers for some driver classes), but generic almost always means ‘not so efficient’.

1 Like