Where is darwinup to install SimpleAudioDriver in command line script?

Why would you employ a rarely used and practically inaccessible command, "darwinup", in a script that is part of sample code for the SimpleAudio project? I searched here in the developer content. I searched generally online. There is very little content for "darwinup".

Albeit fun and necessary in SOME cases, practically speaking, no one has unlimited time to "get lost in the weeds" to comprehend the entire paradigm of absolutely every API by debugging sample code, particularly when tools are inaccessible. Not really sample code, now, is it?

This enterprise is counterproductive.

Forcing us to understand the newest API paradigms by strategically leaving certain information out is helpful, but not when it becomes a situation where resources that are not germane to the task are employed to create frustration just to create frustration. I feel as though there is a more sinister message being conveyed. It is not unlike a passive aggressive campaign. You say we can do things, but you also DELIBERATELY engineer the process that enables achievement such that achievement is not the outcome for everyone. Maybe some of us are seeing darwinup and others are not. Maybe you are choosing who is able to get certain tools. It is clear that every running instance of MacOS X is actively "managed" by the corporation. You know everyone who is developing. Are you really democratizing technology? Hard to say.

Please. I implore you. Stop the madness, and facilitate access to running sample code so that we can actually "bridge the digital divide". "Some of us" ACTUALLY need to be able to learn what "some of us" were misled to believe we could.

Given that no one is posting about darwinup, I guess I am one of those who someone decided, "does not need to have access."

I cannot run the script in SimpleAudioDriver to begin to understand engineering audio drivers for MacOS X. Darwinup at the command line is not available in Big Sur. I am using the very latest Xcode and Command Line Tools for Xcode.

How may I successfully install SimpleAudioDriver and otherwise start experimenting with running code that I can then modify to understand?

Yes, YES, YES! I addressed the entitlement and signing issue. Yes, I have successfully signed to run locally and did successfully build. I may be quite ignorant, but I am not a complete noob.

This is environment: Big Sur 11.4, Xcode 12.5.1, Command Line Tools for Xcode 12.5.1

Accepted Reply

Hi, we're aware that the documentation in the SimpleAudio sample code is out of date, and I'm sorry that the experience so far has been unpleasant.

The technical problem is that the darwinup utility is not compatible with the security requirements of Big Sur and later macOS versions, so it's longer distributed as part of macOS — and it's not safe to use on current macOS versions even if you have the utility.

For the AudioServerPlugin target of the sample, you can install the plugin as described for the related NullAudio sample project:

https://developer.apple.com/documentation/coreaudio/creating_an_audio_server_driver_plug-in/

For the driver extension target of the sample, you can follow the instructions from the driver extensions sample project:

https://developer.apple.com/documentation/driverkit/communicating_between_a_driverkit_extension_and_a_client_app/

In particular, you'll want to focus on the section about creating a container app target which can use the SystemExtensions framework to install the driver extension securely, for Big Sur, Monterey and beyond. That installation step replaces the darwinup procedure.

This project also has a deeper dive into entitlements and testing, so it's a great resource to study anyway.

  • Hi @Polyphonic I'm also trying to learn and work with AudioDriverKit for development, and I know this category is a rather niche development work. But it is because it is a niche area that it is more desirable for Apple to provide materials and documentation and sample code that is good enough to make using AudioDriverKit smoother, right? Because there are even fewer materials or projects on the Internet that actively share relevant experiences, and there are few places to discuss this.

    Luckily Apple provides this forum where we can discuss this topic. Although with only three posts under the AudioKitDriver tag and almost no one running up this sample code, the experience is really frustrating. If possible, please check back here often for questions. AudioDriverKit is a great opportunity to be able to distribute our app through the AppStore, which is a huge improvement over users downloading the pkg installation file from our official site.

    I will try the link you provided right away and hopefully I can get the sample code running smoothly this time. Thanks.

  • I'm not sure if you're aware of this sample project: https://developer.apple.com/documentation/audiodriverkit/creating_an_audio_device_driver. If not, take a look.

    And, yes, I'll be watching posts on this tag. (I have it on RSS feed.)

  • @iAladdin Actually it is quite disturbing that drivers are not adequately discussed OPENLY. HOW IS DRIVER DEVELOPMENT NICHE!?! I/O is how we enable our machines to process the ACTUAL world. Who is deciding what we are to process? Why? Why are general developers made to feel as though they are a security threat? Hackers are not evil. On top of that, we PAID to play.

    Everything I posted here is still valid and has not been adequately addressed. There is a deliberate DIGITAL DIVIDE. Of course, some manufacturers will get the ACTUAL APPLE API developer technical notes and real unadulterated documentation, with all the experiments and prototype code.

    I would like NOT to be treated as a predator, just because I want to know how to leverage the true ability of my hardware. And I would like to share my solutions through my own ad-hoc distribution if not through the Apple App Store.

Replies

Hi, we're aware that the documentation in the SimpleAudio sample code is out of date, and I'm sorry that the experience so far has been unpleasant.

The technical problem is that the darwinup utility is not compatible with the security requirements of Big Sur and later macOS versions, so it's longer distributed as part of macOS — and it's not safe to use on current macOS versions even if you have the utility.

For the AudioServerPlugin target of the sample, you can install the plugin as described for the related NullAudio sample project:

https://developer.apple.com/documentation/coreaudio/creating_an_audio_server_driver_plug-in/

For the driver extension target of the sample, you can follow the instructions from the driver extensions sample project:

https://developer.apple.com/documentation/driverkit/communicating_between_a_driverkit_extension_and_a_client_app/

In particular, you'll want to focus on the section about creating a container app target which can use the SystemExtensions framework to install the driver extension securely, for Big Sur, Monterey and beyond. That installation step replaces the darwinup procedure.

This project also has a deeper dive into entitlements and testing, so it's a great resource to study anyway.

  • Hi @Polyphonic I'm also trying to learn and work with AudioDriverKit for development, and I know this category is a rather niche development work. But it is because it is a niche area that it is more desirable for Apple to provide materials and documentation and sample code that is good enough to make using AudioDriverKit smoother, right? Because there are even fewer materials or projects on the Internet that actively share relevant experiences, and there are few places to discuss this.

    Luckily Apple provides this forum where we can discuss this topic. Although with only three posts under the AudioKitDriver tag and almost no one running up this sample code, the experience is really frustrating. If possible, please check back here often for questions. AudioDriverKit is a great opportunity to be able to distribute our app through the AppStore, which is a huge improvement over users downloading the pkg installation file from our official site.

    I will try the link you provided right away and hopefully I can get the sample code running smoothly this time. Thanks.

  • I'm not sure if you're aware of this sample project: https://developer.apple.com/documentation/audiodriverkit/creating_an_audio_device_driver. If not, take a look.

    And, yes, I'll be watching posts on this tag. (I have it on RSS feed.)

  • @iAladdin Actually it is quite disturbing that drivers are not adequately discussed OPENLY. HOW IS DRIVER DEVELOPMENT NICHE!?! I/O is how we enable our machines to process the ACTUAL world. Who is deciding what we are to process? Why? Why are general developers made to feel as though they are a security threat? Hackers are not evil. On top of that, we PAID to play.

    Everything I posted here is still valid and has not been adequately addressed. There is a deliberate DIGITAL DIVIDE. Of course, some manufacturers will get the ACTUAL APPLE API developer technical notes and real unadulterated documentation, with all the experiments and prototype code.

    I would like NOT to be treated as a predator, just because I want to know how to leverage the true ability of my hardware. And I would like to share my solutions through my own ad-hoc distribution if not through the Apple App Store.