>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.
Karliss 14 hours ago [-]
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.
bsaul 15 hours ago [-]
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
bsaul 13 hours ago [-]
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)
haunter 13 hours ago [-]
DriverKit
>the upstream Linux amdgpu driver embedded as 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.
terhechte 11 hours ago [-]
Why are there no screenshots of the "IDE"? Would love to see what it looks like, what features it has, etc.
mkesper 15 hours ago [-]
Unexpected interpretation of on-device inference:
It drives an AMD GPU in a Thunderbolt enclosure.
But interesting it's possible to run Linux drivers on an iPad.
tensegrist 10 hours ago [-]
beside-device inference
solyin 14 hours ago [-]
Got any pictures of the setup? Which enclosure did you use? Neat!
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.
sneak 15 hours ago [-]
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?
mat_epice 7 hours ago [-]
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).
gessha 11 hours ago [-]
Does a hacker need to explain why they wired up 10 thingamajigs and made them go beep boop?
edg5000 15 hours ago [-]
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?
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.
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).