https://developer.apple.com/documentation/driverkit
>The drivers you build with DriverKit run in user space, rather than as kernel extensions, which improves system stability and security. You create your driver as an app extension and deliver it inside your existing app.
Which leaves user space drivers embedded in the app as more or less only option. I am a bit surprised Apple allows enough low level thunderbolt access to implement this at all. On a desktop you could implement a user space driver in a shared library so that it can be used by multiple apps, but that's not really an option on iOS either.
Such approach is hardly rare. Many niche hardware products do something similar. Either implement driver/interface for generic data transfer device (like a serial port), or use the slots for vendor specific data within HID, bluetooth interfaces and implement a custom protocol on top of that. Almost any bluetooth device which requires vendor app for configuration, many smartwatches, gamer keyboards/mice which require custom app for configuring RGB lights (often HID based), even MCU programmers and other serious electronics development tools often show up as USB serial ports.
>the upstream Linux amdgpu driver embedded as DriverKit
https://developer.apple.com/documentation/driverkit
>The drivers you build with DriverKit run in user space, rather than as kernel extensions, which improves system stability and security. You create your driver as an app extension and deliver it inside your existing app.
It drives an AMD GPU in a Thunderbolt enclosure.
But interesting it's possible to run Linux drivers on an iPad.The eGPU enclosure isn't portable, so at that point, you could just plug it into a linux mini-pc. What's the benefit of using an iPad here?
My second answer: It's portable in the sense that I can fit it in my bag. Do I also want to put a Linux mini-pc in there when I'm already carrying my iPad?
My third answer: This is also a nice demonstration of the ridiculous user space things you can do with driverkit. This can motivate people to do other nice things with other hardware that is more portable, or use Linux drivers with driverkit on their mac mini (say).