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.
>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.
You get an AMD GPU, put it in an external case ("enclosure") connect it with usb-c or thunderbolt and that's what's being used in the app. For inference of course
But then how do you even make the driver install on the ipad ? Aren't drivers supposed to run under system-level privileges (which iPadOS will never let you run under)
>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.
Would be interesting to render a real desktop environment directly on top of that from the iPad. You'd get an OpenDarwin-like thing with the power of M4.
For people who prefer a touchscreen input over a laptop, and if they'd want to do agentic work, or perhaps text to speech, image generation, music production, fancy spellcheck while traveling?
There are many ways to answer this question. My top answer is that this is an advancement that does not need to be immediately applicable to anything to be valuable. Add this to your list of things that you didn't think could be done and draw inspiration from it.
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).
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.
can someone explains this project ? i understand nothing about what it's doing... Do iPads have amd gpus ??
You get an AMD GPU, put it in an external case ("enclosure") connect it with usb-c or thunderbolt and that's what's being used in the app. For inference of course
But then how do you even make the driver install on the ipad ? Aren't drivers supposed to run under system-level privileges (which iPadOS will never let you run under)
DriverKit
>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.
[this software] + iPad <- Thunderbolt cable -> GPU in external enclousre
Why are there no screenshots of the "IDE"? Would love to see what it looks like, what features it has, etc.
Unexpected interpretation of on-device inference:
But interesting it's possible to run Linux drivers on an iPad.
beside-device inference
Got any pictures of the setup? Which enclosure did you use? Neat!
https://x.com/pocket_loveless/status/2103153944520507855
https://xxcancel.com/pocket_loveless/status/2103153944520507...
Would be interesting to render a real desktop environment directly on top of that from the iPad. You'd get an OpenDarwin-like thing with the power of M4.
It's super cool, but then, the question becomes: why?
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?
For people who prefer a touchscreen input over a laptop, and if they'd want to do agentic work, or perhaps text to speech, image generation, music production, fancy spellcheck while traveling?
Does a hacker need to explain why they wired up 10 thingamajigs and made them go beep boop?
There are many ways to answer this question. My top answer is that this is an advancement that does not need to be immediately applicable to anything to be valuable. Add this to your list of things that you didn't think could be done and draw inspiration from it.
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).