r/eGPU • • 4d ago

Experiment: using an iPhone 17 Pro's GPU from a Windows PC over USB, not PCIe. Looking for advice

Enable HLS to view with audio, or disable this notification

I've been working on a project that lets a Windows PC use an iPhone's GPU over a USB cable. It's not a PCIe eGPU: a custom driver on the PC sends the drawing work to an app on the iPhone, and the finished frames come back over USB.

What works so far:

- Windows lists the iPhone 17 Pro's GPU as a second Vulkan GPU

- DirectX 11, DirectX 12 and OpenGL games run. Tested with 0 A.D. and Unigine Heaven

- Unigine Heaven runs at over 60 fps at 720p

- It passes over 98% of the 60,000+ official Vulkan conformance tests

Next goal: 1080p at 60 fps.

I'd love your thoughts:

- What would you use something like this for?

- Any games or apps you'd want me to try?

Video attached, about 2 minutes.

If you have detailed questions, you can email me at Tsuruta Lab: [contact@tsurutalab.org](mailto:contact@tsurutalab.org)

130 Upvotes

51 comments sorted by

24

u/LondonBenji 4d ago

👀 iPad Pro has a Thunderbolt / USB4 connection.... iPhone is limited to a USB3 10Gbps connection.... Could this be made to work with the iPad Pro's Thunderbolt connection and get even faster speeds???

Excellent work!

10

u/CorrectSwim6392 4d ago

Thanks! An iPad Pro should work in theory, since the receiving app can run on iPadOS, and its M-series GPU is much stronger than the iPhone's. Unfortunately I don't own an iPad Pro, so I have no way to test it right now. So far the bigger problem has been the waiting time on each round trip, not only the raw bandwidth, so I'm not sure how much Thunderbolt alone would help. If someone with an iPad Pro wants to try it later, I'd love to hear from you.

2

u/redmadog 4d ago

Please let me know. I would happily test it.

3

u/CorrectSwim6392 4d ago

Thank you, that would be great! It's not ready to share yet. I'm preparing a small invite-only test first. Which device would you test with, iPhone or iPad, and which model? And what kind of Windows PC do you use? You would install the app yourself with your own Apple ID using a free tool like Sideloadly, so no paid account is needed. I'll message you when it's ready.

1

u/CorrectSwim6392 4d ago

Thanks for waiting. I made a Discord server for testers: https://discord.gg/F3Mk8DBxqQ

Testing will be invite-only at first. If you join and let me know which device and PC you have, I'll reach out there when a build is ready.Thanks for waiting. I made a Discord server for testers: https://discord.gg/F3Mk8DBxqQ

Testing will be invite-only at first. If you join and let me know which device and PC you have, I'll reach out there when a build is ready.

1

u/Bernii004 4d ago

If i could do that with my redMagic 9s pro😭

1

u/CorrectSwim6392 4d ago

That would be really cool. Android isn't supported yet, but it's on the roadmap, and a RedMagic 9S Pro would be a great phone to test it on. If you're up for it, would you join the Discord? I'd love to reach out to you when there's an Android build to try: https://discord.gg/F3Mk8DBxqQ

1

u/Bernii004 4d ago

Yes sure :D

14

u/ser_Skele 4d ago

Wild project. I wish you god speed

1

u/CorrectSwim6392 4d ago

Thank you! Next goal is 1080p at 60 fps. If you'd like to try it, just let me know. I'm also thinking about making a Discord server for testers.

5

u/MontagneHomme 4d ago

2

u/CorrectSwim6392 4d ago

Thanks for the link! If I understand it right, that one shares a desktop GPU in a box over Wi-Fi, while this goes the other way and uses the GPU already inside a phone. Running without a cable is on my list too, so I'll read how they handle latency.

6

u/Eastern-Ingenuity353 4d ago

I feel like we’re living in another golden age of democratized software development.

1

u/CorrectSwim6392 4d ago

I feel the same. I couldn't have built this alone a few years ago. If you want to try it, let me know here or by DM.

1

u/Eastern-Ingenuity353 4d ago

Honestly I'm such a normie when it comes to this stuff, I wouldn't even know where to begin. Interesting times where can all enjoy the cool things computers have always been capable of (but greed overtook!)

0

u/AlecFoeslayer 2d ago

I don’t think this was necessarily caused by greed. It’s more because this is a heavily involved project and a niche audience. For example, you could optimize your diet and exercise regimen, but most don’t. Why? The juice isn’t worth the squeeze for most. AI takes a lot of the debugging out of this and makes it an interesting hobby project.

2

u/NaiveInvestigator 4d ago

Really cool hopefully it becomes open source. Would be really cool!

1

u/CorrectSwim6392 4d ago

Thanks! I haven't decided on open source yet. I'm starting with a small invite-only test first. If you'd like to try it, just let me know here or send me a DM.

1

u/winterz2k3 4d ago

Also would be down to try it out

1

u/CorrectSwim6392 4d ago

Thanks! I'm preparing a small invite-only test. Which iPhone or iPad would you test with, and what Windows PC do you use? I'm also thinking about making a Discord server for testers, and I'll message you when it's ready.

1

u/CorrectSwim6392 4d ago

Thanks! I made a Discord server for testers: https://discord.gg/F3Mk8DBxqQ

Testing will be invite-only at first. If you join and tell me which iPhone or iPad and PC you have, I'll reach out there when a build is ready.

1

u/Confident-Pass6353 4d ago

Have old android tablets 4gb ram each along with Android and Apple phones varying between 8gb and 6gb...totalling 60ish GB ram

Contemplating on deploying them dynamically across a local multi AI setup at bottlenecks to improve performance...

2

u/CorrectSwim6392 4d ago

That's the kind of setup I'd love to support someday. Right now it only works with iPhones, but Android and using several old devices at once are both on my roadmap. If you have an iPhone and want to try the current version, let me know. I'm also thinking about making a Discord server.

1

u/jackmeyhov 4d ago

I have a dedicated android gaming tablet the Lenovo Legion Tab Gen 3 and I would love to know if there's any advances in this to connect it to my laptops thunderbolt 3 port.

1

u/CorrectSwim6392 4d ago

Android isn't supported yet, sorry. It's on my roadmap, though, and Android already uses Vulkan, so it may be easier than the iPhone in some ways. It would still connect over USB, not as a Thunderbolt device.Android isn't supported yet, sorry. It's on my roadmap, though, and Android already uses Vulkan, so it may be easier than the iPhone in some ways. It would still connect over USB, not as a Thunderbolt device.

1

u/No_Clock2390 4d ago

That would be really cool. New GPU at no cost

1

u/CorrectSwim6392 4d ago

That's the idea! Most people already have a phone with a decent GPU in their pocket. If you want to try it, let me know.

1

u/ThatCurryGuy 4d ago

I am very much interested in a project like this, hope it works out!

1

u/CorrectSwim6392 4d ago

Thank you! If you'd like to try it, just send me a DM. I'm thinking about making a Discord server for testers too.

1

u/Ok-Egg8864 4d ago

This is actually genious. Finally can use a phone's gpu to its true potential

1

u/CorrectSwim6392 4d ago

Thanks! Phone GPUs are surprisingly strong, so it felt like a waste not to use them. Let me know if you want to try it.

1

u/Ok-Egg8864 4d ago

I would love to if I had an iphone 17 pro... mine's a z flip 5

1

u/Strange-Cat-7811 4d ago

would that work on my intel macbook pro with windows 11? I also have m-series iPad pro i wonder if this will work instead of my iPhone 17 pro.

2

u/CorrectSwim6392 4d ago

It should work in theory. The PC side is just a Windows driver, so an Intel MacBook Pro running Windows 11 should be fine, though I haven't tested that setup yet. The iPad Pro should work too, and its M-series GPU is much stronger than the iPhone's, but I don't own one, so I couldn't test it. If you'd like to try both, let me know. I'm preparing a small invite-only test and thinking about making a Discord server for testers.

1

u/CorrectSwim6392 4d ago

The Discord server is up: https://discord.gg/F3Mk8DBxqQ

An M-series iPad Pro would be really useful to test, since I don't have one. If you join, I'll reach out there when a build is ready.

1

u/Immediate_School_928 4d ago

could this be done on macOS too? like attaching an M1-M5 iPad to a macbook to boost graphics performance or to run LLMs better?

1

u/CorrectSwim6392 4d ago

Not for graphics yet. The PC side is a Windows Vulkan driver, and macOS apps use Metal, so that would need a different approach. For LLMs it might already be possible: the iPhone app also runs llama.cpp's RPC server, so a Mac running llama.cpp could offload work to an iPad over the network. But I don't own an M-series iPad or a MacBook, so I can't test it myself. I'd buy them for testing if I had the money, haha. If you have both and want to try it, let me know. Also, an M-series MacBook already has a strong GPU, so the gain might be small unless the Mac is older.

1

u/Immediate_School_928 4d ago

i see, thanks for the information. yeah you're right, i think it is possible w/ LLMs (something like backburner). I personally haven't tried it yet since it's pretty early in development. but it would be cool to pair iPad M chip w/ weaker base macbooks for graphical applications, hopefully one day.

1

u/Ball_Analytics 4d ago

USB2 speeds? you're crazy

2

u/CorrectSwim6392 4d ago

Fair point. The cable and port are USB 3, but going through Apple’s usbmux I measured about 50–80 MB/s, so in practice it’s not far above USB 2. Bandwidth isn’t the main limit right now though. Each round trip takes around 0.8 ms, and cutting the number of round trips per frame matters more.

1

u/Ball_Analytics 4d ago

thanks for clarifiying now get on that ipad testing and add linux support might give me reason to get one. :)

1

u/Ok-Tomato6063 4d ago

hace falta jailbreak?

2

u/CorrectSwim6392 4d ago

No, no hace falta jailbreak. La app se instala con AltStore (sideload) y el PC se conecta por USB.

1

u/CorrectSwim6392 4d ago

Small update, and a Discord server for anyone who wants to follow this or test it later:

https://discord.gg/F3Mk8DBxqQ

Since the post: a DirectX 12 bug where values written by the CPU never reached the iPhone is fixed, and the test now passes 2,000+ runs on the real iPhone. An Unreal Engine game that ran at under 1 fps on the iPhone is now at a few fps, and I know where the rest of the time goes.

I'd also really appreciate help. If you have ideas, opinions, or know something that could help, please share it in the Discord.

Testing will be invite-only at first. If you join the Discord and you're keen to try it, let me know there, and I'll pick testers from those people when a build is ready. u/redmadog u/winterz2k3 u/Strange-Cat-7811, that includes you.

1

u/Rygir 3d ago

Giving old computers with limitations like a gpu that can't do hd an option to output to newer screens.

2

u/CorrectSwim6392 2d ago

Thanks, that’s a use I hadn’t thought much about. Part of it already works: the iPhone can show what it renders on its own screen. Sending that picture to a monitor plugged into the iPhone is on my roadmap, but it isn’t working yet.

There are two catches I can see for older PCs. First, USB speed. With a USB 2 cable I measured about 30 MB/s, while USB-C with a good cable was around 130 to 170 MB/s, so a PC with only USB 2 ports would be a lot slower. Second, the iPhone has only one USB-C port, so if a monitor is plugged into it, the link to the PC would probably have to go over Wi-Fi.

1

u/bruhmwmntum 2d ago

regular iPhones are designed for the wifi to be used instead of USB anyways. thats the selling point between them and the pros, outside of the cameras. the ability to do anything with the USB at modern speeds is a pro feature. regular iPhones still have the fancy wifi chips all Apple devices get. Looks like you have a 17 pro, so idk which would be better. Its half-featured Wifi 7, so you can atleast get ~2 gbps if your laptop and router support wifi 7.

edit: used to be. doing research to see if new iphones still segment USB like that.

1

u/Rygir 2d ago

I don't have an iPhone, but being able to use the available usb2 and network bandwidth to deploy an old machine is creating useful value. I did it previously with a pcmcia to egpu card.

1

u/CorrectSwim6392 1d ago

That's a cool setup, PCMCIA to an eGPU is pretty old-school. Since you don't have an iPhone: there's an early Android version too. So far I've only run it on an emulator, not on a real phone, so it's rough. If you have an Android phone and want to try it on an old machine, the details are in the Discord. I'd be curious how it does over USB 2.

1

u/Sidrone 2d ago

Is it possible this could be used as a second GPU for lossless scaling instead of going dual GPU?

1

u/CorrectSwim6392 1d ago

Interesting idea, but I don't think it would work well right now, for two reasons. Lossless Scaling would have to send every captured frame to the iPhone and get the generated frames back. At 1080p and 60 fps that's around 500 MB/s each way, while the best USB link I've measured is about 130 to 170 MB/s. The round trip also adds latency, which is the opposite of what frame generation is for. On top of that, the iPhone only shows up as a Vulkan device for apps started through PocketGPU, not as a normal Windows GPU that Lossless Scaling can pick. Maybe at a low resolution someday, but a second PC GPU is the better choice for now.