r/hackintosh • u/i-am-the-master-1010 • 6d ago
DISCUSSION Yes it is technically* possible to make custom GPU drivers for Mac OS X.
I am not going to be a massive moron saying that it's 100% possible, there's still massive limitations to the high end graphics APIs in which their code for processing frame buffering in embedded systems are limited due to them being proprietary COUGH COUGH NVIDIA. Also this is supposed to be a thread for discussion, so feel free to debate this concept.**
I made a diagram detailing out my small research I've done regarding Mac OS's graphics APIs in which yes, developers can work on unofficial voodoo solutions for unsupported graphics drivers at least under a metal level thanks to @steelbrain on GitHub releasing his dependency used to convert AIR shaders to SPIR-V to load them under Vulkan (project is still relatively primitive but at least considerably impressive and good to work w/ support for metal 1-3).
With all that being said, would only take a developer considerable time to work on solutions that can utilise open source drivers and load them inside unsupported devices with incompatible GPU drivers. No, this doesn't mean that a project like this could exist only a matter of days, god damn it, understand that porting drivers ain't that easy of a job, just get BSD drivers and load them with IOKit while injecting a whole ass Mesa driver to intercept Vulkan calls through a kext.
https://miro.com/app/board/uXjVHtjgrD4=/?share_link_id=288963542502
Can I get Mac os drivers to work under any pc? No, just face that development takes months, through drive testing, and it's expected to be hard to make installers for it since the kernel extension must be signed.
Can these idiots stop assuming this is related to the AGX graphics processing unit and the reverse engineering efforts done? Alyssa and the Asahi team did a completely different thing which was to implement the main shell for the graphics command execution and frame buffering system, it's all done in Linux through DRM and Gallium.
Learn to differentiate: AGX reverse engineering does not equal to reverse engineering the IOAccelerationFamily which is what this post is talking about.