Running the unmodified Linux amdgpu driver on an iPad
46 points by joshcsimmons 2 days ago | 16 comments

bsaul 5 hours ago
can someone explains this project ? i understand nothing about what it's doing... Do iPads have amd gpus ??
reply
haunter 4 hours ago
[this software] + iPad <- Thunderbolt cable -> GPU in external enclousre
reply
p0w3n3d 5 hours ago
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
reply
bsaul 3 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)
reply
haunter 2 hours ago
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.

reply
skavi 4 hours ago
what's with this driver being coupled to an IDE? is one the psychosis enabled bikeshed of the other?
reply
Karliss 3 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.

reply
haunter 2 hours ago
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.

reply
solyin 4 hours ago
Got any pictures of the setup? Which enclosure did you use? Neat!
reply
tgma 4 hours ago
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.
reply
mkesper 5 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.
reply
sneak 4 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?

reply
gessha 24 minutes ago
Does a hacker need to explain why they wired up 10 thingamajigs and made them go beep boop?
reply
edg5000 4 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?
reply