Blog: Running Linux on the Nintendo Wii U!

Made by: Nova, on 25-4-2025 at 14:44 CEST (2:44 PM)

Sorry for the long wait, had no motivation to write anything, will begin again though!

Today I want to talk about one of the worst consoles Nintendo ever released and how to run Linux on it!

So, what is the Wii U?

The Wii U is a console released by Nintendo in 2012, meant to compete with the upcoming PlayStation 4 and Xbox One, but failed horribly. It was closer (and in some cases worse) to the performance of a PS3 and Xbox 360, and the GamePad was a good idea, but executed terribly. The Wii U had a pretty decent game library, but since people confused the name with it being just a minor update to the Wii, no-one bought it.

What performance are we talking?

Well, with a tri-core IBM PowerPC 750CX-based "Espresso" CPU (The same 750CX-based CPU () found in the Wii and GameCube (a console that came out in 2001! (Not the exact same CPU though, don't worry)), an AMD Radeon GX2 (No, not Latte, that's the chipset) GPU (based on the HD 4000-series (oof)), a staggering 2GB of DDR3 RAM (shared with the GPU and CPU) and capable of 1080p (eh, more like 720p upscaled) made it look as if the PS4 (stock one, not the Pro) could handle 4K gaming.

If you want a more in-depth explanation on the Wii U, its specs and how it performs, I'll write a quick TL;DR later, but for now, check out the wiiubrew.org website!

I heard Linux, where Linux? Linux now!!!11!!!1!

Right, I'll get on it. Due to the Wii U just running PowerPC 32-bit, the Linux kernel was compatible with it, and after some development, the linux-loader and linux-wiiu were born! (No, I didn't make them.) With this, you could turn your Wii U from a really good emulator box to a really good emulator box that happens to have Linux installed as well.

It requires you to install the Aroma homebrew environment. I'm not going to give a tutorial as the instructions can change over time, just go to wiiu.hacks.guide. From there, install the fw.img loader and go to linux-wiiu.org and choose a distro of choice!

I went with Arch Linux (ArchPOWER), as I use Arch Linux on my main PC. The install guide is pretty straightforward, though I wouldn't recommend copying the bootfs tarball to the Wii U readable partition of your SD-card, just copy the Linux directory over. And yes, I absolutely, highly recommend installing Linux to your SD-card. You can do USB, but it will be horribly slow.

A quick install guide:

First, prepare your SD-card with 2 partitions, a FAT32 partition where your homebrew is located (at minimum around 2GB), and an ext4 partition where Linux is located (at minimum around 10GB).

To format the ext4 partition you have to use some special options, assuming you're already running Linux:

sudo mkfs.ext4 -O ^metadata_csum,^64bit <Drive path here, e.g. /dev/mmcblk0p2>

(One thing, after this, ejecting the drive might take a very long time, just be patient!)

After that, (if you're using ArchPOWER) you download the tarball of the rootfs and bootfs. In the bootfs tarball, you take the linux directory and move it over to the root of the FAT32 partition of the SD-card.

You also have to place the fw.img at the root!

You will need to create a new boot.cfg file, an example would be:

[profile:archpower]
name=ArchPOWER
kernel=sdmc:/linux/dtbImage.wiiu
cmdline=root=/dev/mmcblk0p2 rootwait init=/usr/lib/systemd/systemd rw loglevel=7 earlyprintk=udbg

After doing that, try to boot the kernel by putting the SD-card into your Wii U and holding B on the GamePad the moment anything appears. You should get to the Choose your payload screen. From there, choose fw_img_loader.

The kernel should boot, but panics almost immediately. Not that it matters though, the kernel works!

From there, mount the ext4 partition of the SD-card on your PC and copy and extract the rootfs tarball to its root.

When that's done, eject it (and wait 5 years) and boot it on the Wii U!

The standard user on ArchPOWER is root, and its password is archpower!

A word of warning! DO NOT update the linux-wii package! It will break every kernel module!

Limitations

The Radeon GPU doesn't have any hardware acceleration and of the three cores, only one works. It's dogslow and the built-in Wi-Fi doesn't work.

It's pretty much useless, yeah, maybe for basic webbrowsing and simple Python programming or something it works, but not much more.

Why??

Because it's fun, that's why.

Conclusion

The Wii U is garbage. Don't do this. Goodbye!