So, the big question: "Is that a UTM Windows 11 x64 VM running Vulkan (with GPU Acceleration) and an RTX 3090 on Apple Silicon?"
Well the short answer is, the answer's a confident "Yes" (With a twist that it requires to be enwrapepd through IP and custom driver)! We're just taking challenge about the argument that Apple Silicon will never get eGPU support.
Ever wonder if Apple Silicon laptops might get a boost with eGPU support? Sorry, kid, but the answer from the community is a resounding "NO".
Apple's latest macOS kernel and Nvidia? Forget about it. No Nvidia support for the latest gear—only AMD on Intel Macs.
UTM/qemu doesn't have GPU 3D acceleration for Windows (by default). You can check out the source:
In this issue forum and im quote "No, there is no way, nor any work to bring DirectX accelerated graphics to it being made. It is what it is. Sorry to put down your hopes for it."
Somebody did try working on a 3D driver fork, but the journey is long and uncertain. Check out the pull request here.
We forged ahead with some wild ideas. Connecting an Nvidia RTX 3090 seemed crazy, but hey, nothing's too absurd around here.
There is a way using KVM's PCIe passthrough, Intel/AMD x64 MMIO support, and a lot of other tinkering required—check out this guide. Let's just say this involved some intricate steps and definitely as far as i know, no support has been made for Apple Silicon, yet. However if you do have any information regarding to this, feel free to hit me up!
Normal isn't on the menu in our realm.
Albert/Wahyu one of the Project-Zephyrine AI Programmer and professional AI engineer Willy know Nvidia's the name of the game when it comes to AI training and most of the AI inferencing hardware.
Albert, with his J414 Laptop and Rhodes Chop (Apple M2 Pro) ARM chip, is all about universal AI Inference Interface development. Willy's got his RTX 3090 for some serious model training.
AI training on Apple Silicon? Tough nut to crack, especially with the lack of Nvidia support. But the motivation to bridge the gap was strong.
There are software solutions that allows to bridge GPU rasterization and capability such as VirtualGL But it is only limited to mesa and OpenGL. Then after a while we found something that for some reason really obscure among the community rarely even discussed even on the "supposed setup like Intel/AMD Desktop with remote GPU" called Juice-Lab. This solution allows for not only Graphics Vulkan+OpenGL but also Compute which is CUDA, but currently the community free edition support has ended and only designed for x86_64 (the only toolkit binaries and libraries they provide), but we think that's a good start.
Albert and Willy live far apart, so they worked with limited networks and a consumer-grade connection. But hey, they got creative with Tailscale solution tunneling.
Willy's got his i3-12100 Gen RTX3090 hosted on Ubuntu with Juice Server running smoothly. Bandwidth varies between the two (50mbps Symmetric on RTX side and 30mbps non symmetrical on Apple Silicon side), but the mission's on track.
Guidance on how to setup can be found here
Connected the x64 Windows 11 local instance Apple Silicon to the server, and voila! Things rolled smoothly. Using x64 was crucial since other architectures encountered library load failures.
Guidance on running program using this remote GPU or eGPU (external GPU) can be read from here
But here's the kicker—some glitches with Blender and memory translation issues. Sometimes the VM instance got weird, and Blender would crash and spit out some strange crap.
This will be add soon
The demo will be posted here soon
Why the name? Apple Silicon, pun of "slick," and a low-profile project running smooth as silk. Plus, the Nvidia RTX connection.
That's the lowdown on our journey. If you need more details or want to chat, hit up me Albert/Wahyu or Willy030125.
There's a reason why using Whole x64 emulation, is because the program relies on a familiar x64 memory address it seems thus using Windows on Arm or Linux using Rosetta/Box64/Fex-Emu cause a library load fail (Image coming soon).
This solution won't show up the GPU on Task manager or Device manager, since its Application specific GPU acceleration not system-wide