what's with this driver being coupled to an IDE? is one the psychosis enabled bikeshed of the other?
It's not like Apple provides you with kernel APIs for implementing custom GPU drivers on ipad properly.
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.
This is how DriverKit is supposed to be used
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.