|Source model||Closed source|
RTKit is a real-time operating system developed by Apple for embedded use cases, where a Darwin-based operating system would not be appropriate due to performance or power concerns.
Much of what is known about RTKit is through research the Asahi Linux project has undertaken to implement Linux drivers for the coprocessors of the Apple M-series systems-on-a-chip.
RTKit coprocessors share a basic remote procedure call protocol based on shared memory and mailboxes, allowing the kernel to share a single base implementation amongst the many coprocessors involved. It appears that each firmware can mix and match RTKit components as needed for their tasks, and the business code of the firmware tends to be written in C++. In at least one case, code previously found in a Darwin kext was partly relocated to an RTKit coprocessor.
- Apple Pencil, as of Apple Pencil (2nd generation)
- Siri Remote, as of Siri Remote (2nd generation)
- Smart Keyboard, as of Smart Keyboard Folio
- Various cores used for auxiliary tasks inside Apple Silicon systems-on-a-chip:
- STM32-based trackpad controller in Mac devices prior to M2
Perhaps notable is that the Lightning Digital AV Adapter is not based on RTKit, but rather Darwin, as it predates the existence of RTKit.
- ^ a b https://indico.freedesktop.org/event/1/contributions/10/attachments/5/7/Slides-Final.pdf
- ^ https://asahilinux.org/2021/08/progress-report-august-2021/
- ^ a b c d https://www.theregister.com/2020/05/18/apples_bluetooth_flaws/
- ^ https://hackaday.com/2022/10/24/reversing-shorts-demystify-phone-security/
- ^ https://asahilinux.org/2021/10/progress-report-september-2021
- ^ a b https://asahilinux.org/2022/07/july-2022-release/