Homebrew Launcher

Revision as of 10:38, 21 May 2016 by CreeperMario (talk | contribs) (Created page with "{{Infobox homebrew | title = The Homebrew Launcher | image = File:Homebrew_launcher_icon.png | desc = Loads homebrew from an SD Card | author = Dimok, Maschell...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The Homebrew Launcher is an application that allows homebrew (in ELF format) to be loaded from an SD Card and executed on the Wii U.

The Homebrew Launcher
Homebrew launcher icon.png
Author(s)Dimok, Maschell and others
Version1.2 RC3


Note: The Homebrew Launcher can only be run on Wii U consoles running firmwares 3.0.0 and above (except between 5.1.1 and 5.3.1, as exploits are not public for those firmwares).

The easiest method of using the Homebrew Launcher is by using a pre-hosted payload (internet connection required), but you will still need to install data to your SD Card. Download the Homebrew Launcher from its GitHub page.

Step 1: Install required files to SD Card (only needs to be done once)

Make sure that your SD Card switch is pointed towards the top of your SD Card (in the 'unlocked' position), and insert it into your computer.

Open the downloaded archive from above, using your favourite archiving program (Windows/Mac/Linux default archivers work). There will be a folder called wiiu which needs to be copied to the root of your SD Card.

That's it. Eject the SD Card from your computer and insert it into your Wii U.

Step 2: Kernel Exploit and Installation (must be performed every reboot)

The Wii U's web browser contains numerous exploits that allow code execution. A simple method of installing the Homebrew Launcher without needing to configure an off-line web server is to simply visit a hosted payload sire (e.g. http://loadiine.ovh). Just follow the steps on the website to install the Homebrew Launcher payload on our console.

This installation does not void your Wii U console's warranty, as it is not a permanent hack. Opening/closing System Settings or turning off the console are acts that reload the kernel, removing the launcher from memory.

This program works by placing itself in-front of Mii Maker, as Mii Maker is granted SD Card access without any external modification. If you close the launcher, you do not need to re-install it (unless you opened System Settings or rebooted your console), just reopen Mii Maker.

Creating/Installing Homebrew

Each application has its own folder, with its own files inside. For example, inside sd:/wiiu/apps, there could be homebrew_launcher, ftpiiu and loadiine_gx2 folders. When you download a program for the Homebrew Launcher, look through its files until you see

Homebrew packages (folders) must contain one ELF executable, and optionally a meta.xml and icon.png. The ELF contains the code and assets for the program, and is the file launched when program is selected in HBL.

The icon.png file contains the logo for your program, that will show up in the list. It is a standard 256x96 PNG image, that can be simply scrapped together using Microsoft Paint or hand-crafted using Photoshop or GIMP.

The meta.xml file contains various metadata for the program, including the name and description. Here is an example meta.xml, taken from the FTPiiU program.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<app version="1">
  <short_description>An FTP server</short_description>
  <long_description>ftpiiU is an FTP server for WiiU.
Ported to WiiU by Dimok.
Based on FTPii from joedj

The name, coder and version strings are self-explanatory. The release_date tag contains a timestamp in the form of YYYYMMDDhhmmss. For example, 8:15:29am on the 29th April 2016 would be 20160429081529.

short_description is what shows up in HBL's main menu. long_description is what shows up in the application's own window. It can span across multiple lines, but each line must not have any spaces or tabs, as those will show up in HBL.

Network Play

HBL has also been designed to allow you to test your software by sending it over the network. Tools like SendElf and wiiload have been tested and are 100% compatible. SendElf has the advantage of having a graphical drag-and-drop interface, whereas wiiload has the advantage of being a part of devkitPPC, and is able to be placed into your compiler chain easily.

Developing Homebrew

Visit https://github.com/dimok789/hello_world to see an example of a successful HBL ELF program. Along with requiring devkitPPC (like regular libwiiu development) HBL software also relies on libogc, mainly for the ported libraries included with it.


The theming functionality of HBL is not yet complete, but some aspects can still be changed. The buttons and cursors shown on screen can be changed by creating files in the sd:/wiiu/apps/homebrew_launcher/resources folder. See https://github.com/dimok789/homebrew_launcher/tree/master/data/images if you would like to see a base resources folder.

The background music can also be changed, simply place your new music at sd://wiiu/apps/homebrew_launcher/resources/bgMusic.ogg. It can be in OGG, MP3 or WAV format, but the name of the file must be bgMusic.ogg.