Wii-Linux: Difference between revisions
5.4 is now LTS patched |
Update matrix with 5.10 and 5.15 |
||
Line 40: | Line 40: | ||
[https://github.com/Wii-Linux/wii-linux-ngx/issues/6 Detailed regression tracking is available here] | [https://github.com/Wii-Linux/wii-linux-ngx/issues/6 Detailed regression tracking is available here] | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Last updated: | |+Last updated: June 14, 2025 | ||
!Kernel Version | !Kernel Version | ||
!2.6.32 | !2.6.32 | ||
Line 54: | Line 54: | ||
!4.20.0 | !4.20.0 | ||
!5.4.293 | !5.4.293 | ||
!5.10.237 | |||
!5.15.184 | |||
!6.6.0¹ | !6.6.0¹ | ||
!Upstream | !Upstream | ||
Line 70: | Line 72: | ||
|wii-v4.20 | |wii-v4.20 | ||
|wii-v5.4 | |wii-v5.4 | ||
|wii-v5.10 | |||
|wii-v5.15 | |||
|wii-v6.6 | |wii-v6.6 | ||
|N/A | |N/A | ||
Line 78: | Line 82: | ||
|neagix | |neagix | ||
|TheOtherOne | |TheOtherOne | ||
|Techflash | |||
|Techflash | |||
|Techflash | |Techflash | ||
|Techflash | |Techflash | ||
Line 100: | Line 106: | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:lightgreen;color:black"|'''YES (Latest Stable)''' | |style="background-color:lightgreen;color:black"|'''YES (Latest Stable)''' | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
Line 117: | Line 125: | ||
|style="background-color:lightgreen;color:black"|'''YES (Latest stable)''' | |style="background-color:lightgreen;color:black"|'''YES (Latest stable)''' | ||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
|style="background-color:yellow;color:black"|TESTING ( | |style="background-color:yellow;color:black"|TESTING (mostly stable) | ||
|style="background-color:yellow;color:black"|TESTING (mostly stable) | |||
|style="background-color:red;color:white"|NO (USB issues) | |||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
Line 131: | Line 141: | ||
|style="background-color:orange;color:black"|UNKNOWN | |style="background-color:orange;color:black"|UNKNOWN | ||
|style="background-color:orange;color:black"|UNKNOWN | |style="background-color:orange;color:black"|UNKNOWN | ||
|style="background-color:salmon;color:black"|BROKEN | |||
|style="background-color:salmon;color:black"|BROKEN | |||
|style="background-color:salmon;color:black"|BROKEN | |style="background-color:salmon;color:black"|BROKEN | ||
|style="background-color:salmon;color:black"|BROKEN | |style="background-color:salmon;color:black"|BROKEN | ||
Line 149: | Line 161: | ||
|style="background-color:salmon;color:black"|BROKEN | |style="background-color:salmon;color:black"|BROKEN | ||
|style="background-color:salmon;color:black"|BROKEN | |style="background-color:salmon;color:black"|BROKEN | ||
|style="background-color:darkred;color:white"|REMOVED | |||
|style="background-color:darkred;color:white"|REMOVED | |||
|style="background-color:darkred;color:white"|REMOVED | |style="background-color:darkred;color:white"|REMOVED | ||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
Line 163: | Line 177: | ||
|style="background-color:salmon;color:black"|BROKEN | |style="background-color:salmon;color:black"|BROKEN | ||
|style="background-color:salmon;color:black"|BROKEN | |style="background-color:salmon;color:black"|BROKEN | ||
|style="background-color:darkred;color:white"|REMOVED | |||
|style="background-color:darkred;color:white"|REMOVED | |||
|style="background-color:darkred;color:white"|REMOVED | |style="background-color:darkred;color:white"|REMOVED | ||
|style="background-color:darkred;color:white"|REMOVED | |style="background-color:darkred;color:white"|REMOVED | ||
Line 181: | Line 197: | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:salmon;color:black"|BROKEN | |style="background-color:salmon;color:black"|BROKEN | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:salmon;color:black"|BROKEN | |style="background-color:salmon;color:black"|BROKEN | ||
Line 198: | Line 216: | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:yellow;color:black"|PARTIAL | |||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
|- | |- | ||
|[[Wii Hardware/Hollywood|Wii SD Card]] Support | |[[Wii Hardware/Hollywood|Wii SD Card]] Support | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
Line 218: | Line 240: | ||
|- | |- | ||
|[[GameCube|GCN]]/[[Wii]] Framebuffer Support | |[[GameCube|GCN]]/[[Wii]] Framebuffer Support | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
Line 234: | Line 258: | ||
|- | |- | ||
|[[GameCube|GCN]]/[[Wii]] Audio Support | |[[GameCube|GCN]]/[[Wii]] Audio Support | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
Line 250: | Line 276: | ||
|- | |- | ||
|[[Hardware/GX|GCN/Wii GX (GPU)]] Support | |[[Hardware/GX|GCN/Wii GX (GPU)]] Support | ||
|style="background-color:red;color:white"|NO | |||
|style="background-color:red;color:white"|NO | |||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
Line 266: | Line 294: | ||
|- | |- | ||
|[[EXI]] Bus Support | |[[EXI]] Bus Support | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
Line 293: | Line 323: | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:darkred;color:white"|REMOVED | |||
|style="background-color:darkred;color:white"|REMOVED | |||
|style="background-color:darkred;color:white"|REMOVED | |style="background-color:darkred;color:white"|REMOVED | ||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
Line 306: | Line 338: | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:yellow;color:black"|PARTIAL | |style="background-color:yellow;color:black"|PARTIAL | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
Line 314: | Line 348: | ||
|- | |- | ||
|[[Microphone|GCN Microphone]] Support | |[[Microphone|GCN Microphone]] Support | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
Line 330: | Line 366: | ||
|- | |- | ||
|[[Memory Card|GCN Memory Card]] Support | |[[Memory Card|GCN Memory Card]] Support | ||
|style="background-color:red;color:white"|NO | |||
|style="background-color:red;color:white"|NO | |||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
|style="background-color:red;color:white"|NO | |style="background-color:red;color:white"|NO | ||
Line 346: | Line 384: | ||
|- | |- | ||
|[[GameCube Controller|GCN Controller]] / SI Bus Support | |[[GameCube Controller|GCN Controller]] / SI Bus Support | ||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES | ||
|style="background-color:green;color:white"|YES | |style="background-color:green;color:white"|YES |
Revision as of 10:20, 14 June 2025
Note: This page has been written by Techflash. As the creator of the current iteration of Wii-Linux, I am of course biased towards my own work. However, I do attempt to remain as neutral as possible here.
Wii-Linux can refer to multiple things. It often refers to the project started by Techflash, which bears the name of Wii-Linux. It can also refer to other, often older, efforts of putting Linux on the Wii.
This page details the history of Wii-Linux as a whole, as it leads up to, and relates to, Techflash's current Wii-Linux project.
Background
Please see the related WiiBrew article for background info on Wii-Linux.
History
gc-linux (2005 ~ 2010)
The gc-linux developers were the ones who originally got Linux running on the GameCube (and later, the Wii). They were the developers of the MIKE (MINI Kernel) series of kernels for the Wii, as well. All of the gc-linux kernels were of the 2.6 line, and the final release was 2.6.32. They developed the Whiite distro, based on Debian "lenny" / 5.0.
This is where the vast majority of the current kernel changes originated from.
DeltaResero and neagix (2014 ~ 2018)
3.15 kernel / "stable-v3.x"
During this period of time, both DeltaResero and neagix both were working, occasionally trading commits around, to try to port the old 2.6.32 patches over to a new, 3.x version. Eventually they ended up settling on 3.15.10. This kernel worked quite well with very minimal problems.
4.3 kernel / "experimental-v4.x"
By this point, focus had largely shifted over to neagix's wii-linux-ngx repository, however, both neagix and DeltaResero were still quite active together, working on things such as USB fixes. This kernel sadly did not have the same level of polish as "stable-v3.x", however. Some features, like the framebuffer patches, were not implemented here. This was unfortunately the last Wii-Linux related activity from the two.
Wii-Linux Continuation Project (2022 - Present)
The history of the Wii-Linux Continuation Project is a little confusing, as it originally started as 2 different projects, from 2 different people. Here's an attempted explanation.
TheOtherOne's 4.4 CIP kernel
TheOtherOne created a kernel port, based on the Linux 4.4 LTS, with the CIP80 patches applied. This was based off neagix's "experimental-v4.x" kernel. This kernel sadly had a few problems. Namely, due to being on "experimental-v4.x", it was lacking a few quality of life features. This is where Techflash got involved. He attempted to fix up the kernel and add some quality of life features back into it. He shipped this kernel with the Wii-Linux Continuation Project's Void-PPC based rootfs for a while, up until 5/30/2024, the transition to the 4.5 kernel. Unfortunately, TheOtherOne seems to have discontinued development on this kernel, and Techflash has largely abandoned it in favor of 4.5.
Techflash's kernel
Techflash originally attempted to rebase TheOtherOne's 4.4 kernel onto 4.5, however, this proved challenging, due to the CIP patches that were applied. Ultimately, he ended up going for the original set of 4.4 patches that TheOtherOne applied to her CIP tree, directly applied those onto a clean copy of Linux 4.4, and rebased that to 4.5. Of note is that this code still shares it's origin with neagix's "experimental-v4.x", and as such, shares it's problems. Of particular importance is the lack of neagix and FarterSoft's RGB patches, exposing an RGB565 framebuffer, as opposed to the Wii's native YUV framebuffer, to usespace. This is a feature that's natively supported using the DRM graphics subsystem in modern Linux versions, however, this was still the best way to do this translation back during the time when the patches were written. Techflash later added these changes from the "stable-v3.x" branch in, allowing Xorg and other graphical apps to run correctly. He has also re-added the legacy USB Gecko driver, and overhauled the EXI stack, allowing users to use the USB Gecko as a TTY once again. The latest version of Techflash's kernel is 4.19.325 LTS, however, older versions (4.14.336 LTS, 4.14.275 LTS (for OpenWRT), 4.9.337 LTS, 4.6.0, and 4.5.0) are still present.
The future
Techflash plans to continue his work to make the Wii-Linux kernel more modern. As of currently, he has a functional build of Linux 6.6 that can boot and display graphics using the legacy fbdev driver. However, this build lacks most other drivers for the Wii, such as USB, and audio. The Broadcom 4318 WiFi chipset is supported, but broken on the build due to unknown issues. He plans to attempt to convert the legacy fbdev driver to a DRM driver, and attempt to get support for it merged into mainline. He also has a very WIP port of all of the old downstream code to 5.4, but due to massive DMA changes in upstream at the time, it does not work properly.
Compatibility & Support Matrix
Detailed regression tracking is available here
Kernel Version | 2.6.32 | 3.15.10 | 4.3.6 | 4.4.302-cip80 | 4.5.0 | 4.6.0 | 4.9.337 | 4.14.275 | 4.14.336 | 4.19.325-cip120 | 4.20.0 | 5.4.293 | 5.10.237 | 5.15.184 | 6.6.0¹ | Upstream |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Wii-Linux Kernel Branch | stable-v2.6.32 | stable-v3.x | experimental-v4.x | wii-v4.4 | wii-v4.5 | wii-v4.6 | wii-v4.9 | wii-v4.14-openwrt | wii-v4.14 | wii-v4.19 | wii-v4.20 | wii-v5.4 | wii-v5.10 | wii-v5.15 | wii-v6.6 | N/A |
Original Creator | gc-linux | DeltaResero | neagix | TheOtherOne | Techflash | Techflash | Techflash | Techflash | Techflash | Techflash | Techflash | Techflash | Techflash | Techflash | Techflash | Linus Torvalds |
Wii-Linux Support Status² | NO | NO | NO | NO | YES | YES | YES | YES | YES | YES (Latest Stable) | YES | YES | YES | YES | YES | NO |
Recommended for use | NO | NO | NO | NO | NO | NO | NO | YES (if using OpenWRT) | NO | YES (Latest stable) | NO | TESTING (mostly stable) | TESTING (mostly stable) | NO (USB issues) | NO | NO |
GameCube Support | YES | UNKNOWN | UNKNOWN | UNKNOWN | UNKNOWN | UNKNOWN | UNKNOWN | UNKNOWN | UNKNOWN | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | UNKNOWN | UNKNOWN |
Wii DVD-ROM Support | YES | YES | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | REMOVED | REMOVED | REMOVED | NO | NO |
Wii IOS Boot Support | YES | PARTIAL | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | BROKEN | REMOVED | REMOVED | REMOVED | REMOVED | REMOVED | NO | NO |
Wii Wi-Fi Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | BROKEN | YES | YES | YES | BROKEN | BROKEN |
Wii USB Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | PARTIAL | NO | NO |
Wii SD Card Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES |
GCN/Wii Framebuffer Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | NO |
GCN/Wii Audio Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | NO | NO |
GCN/Wii GX (GPU) Support | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO |
EXI Bus Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | NO | NO |
SD Gecko Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | REMOVED | REMOVED | REMOVED | NO | NO |
USB Gecko Support | PARTIAL | PARTIAL | PARTIAL | PARTIAL | YES | PARTIAL | YES | PARTIAL | YES | YES | YES | YES | YES | YES | PARTIAL | PARTIAL |
GCN Microphone Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | NO | NO |
GCN Memory Card Support | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO | NO |
GCN Controller / SI Bus Support | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | YES | NO | NO |
¹ - Upstream-based 6.6 branch, not based on gc-linux
² - Status of whether or not you will recieve support for getting it running or doing anything with it. You should use the version marked as Latest Stable unless there is a specific reason not to