Hacker News new | ask | show | jobs
by marcan_42 2026 days ago
To be fair, as the author of that: that was mostly a job of reverse engineering what was weird/broken/different about the PS4's GPU, which is otherwise a standard Radeon. It was effectively adding support for a new Radeon variant chip of an existing GPU generation. There was definitely a deep dive into the platform and I reverse engineered the proprietary Radeon firmware CPU architecture in the process (which nobody had done before), though, so I think I get some credit for that. But e.g. the userspace side "just worked" after a few trivial library patches; AMD's entire userspace blob GL/Vulkan driver worked completely unmodified once the kernel side was fixed up.

This would be adding support for a completely different GPU, which is a whole different ballgame and order of magnitude of complexity.

That said, as many hours as went into the PS4 Linux project, it was a hobby thing and I'm pretty sure if you add up the hours spent on the GPU side it wouldn't hit one month's worth of full-time work. I'm also offering a whole different order of magnitude of time investment here.

2 comments

If you get funding to do the Linux to Apple hardware port, have you considered streaming the whole process on e.g. Twitch?

Would be very interesting to watch everything from the sideline. And as a reason to do it, aside from being inspiring and educational to others, by live-streaming your work you will certainly be able to attract even more funding over time.

I don't think I'd do literally the whole process as that could get old and tiring quite quickly, but I am definitely considering doing streams when it makes sense and I'm in the mood, or maybe setting up a regular schedule, or something like that.
Somewhat responding to a twitter post you made, but the Apple GPU is absolutely not a legacy-free architecture: it still looks broadly (very broadly) similar to a PowerVR GPU, which I don't think anyone would claim is even remotely sane.

To give you some context for the scope of the task: with all the hardware documentation and close to 32 years (combined) experience with that specific architecture it took around two years to write a conformant Vulkan implementation. Not including the compiler, kernel driver, or firmware.

Source: I have worked both on PowerVR and Apple GPU drivers.

Thanks for the context. I know the GPU isn't going to become a fully compliant implementation on par with the e.g. Radeon drivers with only one person working on in in months.

That said, are you talking about a full graphics stack, or just the GPU-specific bits? Modern Linux graphics heavily emphasize code reuse across architectures, both on the kernel side and userspace side, which is completely different from how vendors typically do things.

The goalposts are quite different between having a fully compliant implementation that can deal with software that uses the GPU intensively (and hits all the corner cases properly), which is what Apple has to build, and being a usable desktop experience for Linux - having the whole stack be open source makes debugging things a lot easier too. Getting to full Vulkan compliance is definitely not going to be a one-person job. But we've seen fairly fast progress on GPU drivers going from triangles on the screen to simple game ports in some cases, with only one or two developers involved. I obviously don't have any yardstick for how the Apple GPU compares to everything else, but a priori, my hope is to be able to push things past the initial cliff to where the GPU starts being useful, and then of course other contributors can help improve support. In my experience, the initial hurdle in building a community project is often the hardest part, as a lot of people have no idea where to start supporting undocumented hardware (and I'm particularly good at doing black-box reverse engineering of this kind of stuff; I can claim a good 15 years+ of experience there myself). For example, once e.g. the shader ISA is documented and a PoC backend implemented, I expect people with more shader optimization experience than me to want to pitch in and make it faster.

Re firmware, I would expect to use Apple's (at least initially).