Skip to content

PoloNX/SwitchU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwitchU

A Wii U-style custom home menu replacement for Nintendo Switch

License Version


Architecture

  • switchu-daemon (System Applet, title ID 0x0100000000001000)
    • Replaces qlaunch
    • Handles lifecycle, HOME/suspend-resume flow, sleep/reboot and IPC
  • switchu-menu (Library Applet, title ID 0x010000000000100B)
    • Renders the full UI
    • Communicates with daemon through AppletStorage + swu:m notifications
  • SwitchU (Homebrew mode)
    • Monolithic .nro target for standalone usage/testing

Screenshots

More screenshots

How to build

Requirements

Clone

git clone --recursive https://github.com/PoloNX/SwitchU
cd SwitchU

Build (production two-applet mode)

xmake f -p cross --toolchain=devkita64
xmake

Build (homebrew .nro mode)

xmake f -p cross --toolchain=devkita64 --homebrew=y
xmake

Build (SDL2 backend)

xmake f -p cross --toolchain=devkita64 --backend=sdl2
xmake

Clean

xmake clean

Build outputs are generated under build/cross/aarch64/<mode>/.

Know issues

  • Some settings are not implemented yet
  • Current icons are very ugly, feel free to replace them with better ones
  • SDL2 backend is very buggy and incomplete, use it for testing only
  • You may experience somme crash when using overlays

SD card layout

  • sdmc:/config/SwitchU/config.ini: user settings
  • sdmc:/config/SwitchU/applist.bin: app metadata cache
  • sdmc:/config/SwitchU/daemon.log and sdmc:/config/SwitchU/menu.log: runtime logs
  • sdmc:/switch/SwitchU/: assets in non-homebrew mode

Help me

If you want to help, open an issue when you find a bug and open a pull request if you have a fix.

Credits

  • Thanks to Xortroll for the help and for uLaunch which inspired this project a lot

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.