
It’s no secret that kernel updates haven’t had a lot of interest in the PS4 Linux community. But, it’s also a well-known fact that newer kernels ensure better security and hopefully, better performance for the PS4 Linux. Well, thanks to the developer, crashniels, we now have kernel 6.6 on PS4 Linux working with AMDGPU!
So, what does this mean? Can I use my PS4 as a regular computer now? Unfortunately, we are not there yet. But, this is a significant development, given, the PS4 Linux scene has been stuck at kernel 5.15 for Belize and 5.4 for Baikal for years now! Moreover, please keep in mind that the kernel is still a work in progress.
In this article, we will quickly go through the challenges that crashniels faced while porting Linux kernel 6.6 to PS4. We will also discuss the future of the project and more.
The journey of Kernel 6.6 for PS4, as explained by crashniels
crashniels has been sharing updates on the progress regularly on our Discord channel. I will try to explain the chain of events, as chronologically as possible.
So, it all began with crashniels trying to get the PS4 kernel changes into postmarketOS. Upon trying to meet the request of the team to push codedwrench‘s 5.15 kernel to latest variation of 5.15, crashniels‘ PS4 crashed (no pun intended).
Anyways, he had given up on it, but, a few weeks later, he decided to try kernel 6.12, which had a totally different error. Working down his way, he found that 6.1 though had the same error that he had earlier noticed on 5.15. Upon further research, he quickly found that a commit between the mainline kernel versions, 5.15.110 and 5.15.111 was breaking the whole kernel on the PS4. Reverting that specific commit, he was able to get 6.1 working on the PS4.
But, there was an issue – AMDGPU! No display that is, though he was able to reach the init step in the boot process, without any kernel panics. But, without any debug symbols being printed out (as they hadn’t loaded yet), crashniels was yet another crossroads. But, he was experienced enough to check the system map file to cross-verify with the offsets there. With that, he was able to realise that AMDGPU won’t load due to an issue with the specified clock settings. Anyways, disabling AMDGPU and using the Radeon driver, did work perfectly.
With Radeon, as the default GPU driver, now, crashniels decided to try kernel 6.6. But, this time around, there was an issue with the DRM bridge. And, this takes us back to the beginning, because, remember the first set of commits that were reverted? Well, those had functions converting bridge-related functions to their atomic variants.
Anyways, with a little workaround, he also got AMDGPU working on it. Those interested can checkout the commit history by crashniels on his GitHub repo to understand how he reached this point. Here, switch to the branches – 6.6.y and 6.1.y to get a better idea.
Future of PS4 Linux Kernel Development
crashniels did mention that next, he would work on perfecting the AMDGPU support while also working on an outstanding issue issue with the IRQ and APCIe driver that conflicts with the current patchset on 6.8 and above.
Anyways, I am glad to announce that, crashniels has joined our very own small team, led by developer, seuros, that aims at bringing more updates to the PS4 Linux scene, mainly kernel updates. You might remember from this Twitter announcement.
How to update to Kernel 6.6 on PS4 Linux?
Before you jump in, please understand that, it’s still a work in progress. So, try it at your own risk, for now. If ready, just follow these steps.
- Go to the GitHub branch page of the kernel required – 6.6.y and 6.1.y.
- Clone it, rename config to .config and run
make
command. For detailed instructions, check our kernel compilation guide. - Copy the compiled bzImage to the FAT32 partition on your PS4 Linux drive and boot! Check detailed instructions for PS4 Linux kernel switching, if required.
Conclusion
In the upcoming months, let’s expect for better things to come our way. Well, atleast, this new development does show that, the PS4 Linux scene is still very active!
Leave a Reply