One of the developers involved in the initiative of porting the Linux kernel and open-source software to Nintendo’s Wii U game console has brought up the possibility of getting the kernel changes mainlined into the Linux kernel. While Linux on the Wii U may sound exciting – especially for those having the aging console otherwise collecting dust – but the Linux support falls short for now and it would be a lengthy process to get the code cleaned up and properly upstreamed.
As a reminder, the Wii U debuted a decade ago and features a 1.24GHz IBM PowerPC 3-core processor, 2GB of DDR3 memory, a 550MHz AMD Radeon GPU based on R600/R700 IP, 8GB of internal flash (or 32GB for its premium model), and USB connectivity for greater storage and connectivity.
While some may find novel uses for Linux on the Wii U, the current kernel patches are not without limitations. Getting USB working on the Wii U requires changes to the core USB code in the kernel that were previously rejected for mainline inclusion. There isn’t a clear path forward right now for how to get USB support for the Wii U mainlined, which without that would likely prove little use for Linux on this Nintendo game console.
But there are also big blockers around the Radeon graphics and SMP capabilities too. While the Radeon GPU is derived from their R600 era design and that does have a fully open-source driver, the existing Linux Radeon DRM kernel driver only handles PCI/PCIe connectivity where as the Wii U has no PCI bus. So getting accelerated graphics working on the Wii U in an upstreamable state would be a challenge. They could just end up having a dumb frame-buffer or other unaccelerated display output as an alternative, but that would further diminish the usefulness of this Linux port.
And then the other big headache is not having working SMP support for being able to properly utilize the three PowerPC cores present. CPU bug(s) prevent the Linux kernel from currently being able to leverage the multi-core processor and thus SMP disabled to prevent breaking user-space.
There are smaller headaches too but getting USB working for mainline, Radeon graphics, and symmetric multi-processing are the big problems. There is the Wii U Linux downstream kernel too that would also need to see all of its existing patches re-based against Git before even volleying the patches out again onto the kernel mailing list for review.
It’s an uphill battle but we’ll see how interested the community of Wii U Linux developers are in wanting mainline kernel support. See this kernel mailing list post by Ash Logan for more details. The downstream kernel code and other information about Linux on the Wii U can be found at linux-wiiu.org.