• Stars
    star
    489
  • Rank 89,990 (Top 2 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created about 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿš€ Custom, open-source qlaunch (Nintendo Switch HOME menu) replacement/reimplementation

uLaunch

Discord Downloads License

Patreon GitHub sponsors PayPal

Ko-fi

TODO: screenshots!

uLaunch is a project which aims to replace the console's HOME menu with a custom, homebrew-oriented one.

  • This isn't some kind of HOME menu extension, injection, patch, etc.: uLaunch is an entire reimplementation (of key components), 100% open-source, which also (temporarily) takes over eShop and Parental control applets (by default, since all of them are pretty much useless here) for its extended functionality.

  • For those who are interested in how the UI was done, this project is, like Goldleaf, based on Plutonium UI libraries.

Table of contents

Want to find themes for uLaunch? Check the r/uLaunchThemes subreddit!

Want to make themes yourself? Want to know more about the technical side of the project? Check our wiki!

Features

TODO: add more I'm probably missing

  • Proper launching and foreground management: launch, suspend and close applications and library applets

  • General channel handling (basic functionality): sleep, shutdown, reboot, HOME menu press detection...

  • System settings:

    • Show connected WiFi network's name, MAC and IP address

    • Open connections menu (connection applet), in case you wish to change network settings

    • Check and change the console's language

    • Check and change the console's nickname

  • User features:

    • Create new users on the startup menu

    • Show user's page (in order to edit nickname/icon, browse friends...)

  • Homebrew support

    • Launch homebrew as applets (no need of the album!)

    • Launch homebrew as applications (requires selecting a donor title!)

    • Add homebrew entries to the main menu (thus making homebrew or even custom entries easily accessible, no more need of forwarders!)

  • UI

    • Themes (our own, different to official HOME menu themes, way more vibrant and colorful!)

      • Custom icons, menu assets and graphics: custom backgrounds, images, colors, sizes, positions...

      • Custom background music and sound effects

    • Folders (and subfolders) in order to keep your main menu neatly organized

    • Grid, 3DS-like menu layout for easier browsing

  • Users

    • PC-like login on startup: select a user once, use it for everything afterwards!
  • Miscellaneous extras

    • Browse the Internet (via the normally hidden web-applet) directly from the main menu!

    • Toggle between uLaunch and the original HOME menu (no permanent removal) and/or easily update uLaunch using our uManager homebrew tool!

    • Stream the screen via USB (although at low speeds, about ~9 FPS) via uScreen! (can be useful for taking quick screenshots, specially since uLaunch is able to capture more than SysDVR or usual game capture)

Building

You will need devkitPro, devkitA64, libnx and all SDL2 libraries for Switch development (make sure their packages are installed): switch-sdl2 switch-freetype switch-glad switch-libdrm_nouveau switch-sdl2_gfx switch-sdl2_image switch-sdl2_ttf switch-sdl2_mixer

Clone recursively this repo and just enter make in the command line. It should build everything and generate a SdOut folder whose contents sould directly be copied to the root of a console SD card.

In order to only build a certain subproject, you can run make plus the subproject's name: make usystem, make uloader, make umenu, make umanager

FAQ

  • Why can't I access the usual system settings, while I can access other normal system menus like the album, mii editor, user page, etc.?

    • This is a technical issue. While all these mentioned menus are separate applets (separate programs, independent from the HOME menu itself, which can be launched at will) system settings are actually part of HOME menu itself; therefore, we have to implement manually all of them... which requires its effort, so only a bunch of the available settings (plus a few extras) are currently available here, while the remaining settings are being implemented one by one.
  • Will using uLaunch get me banned online?

    • While no bans have been reported related to using uLaunch, replacing the retail HOME menu's functionality is never a completely safe idea, so always use it at your own risk. Keep in mind that uLaunch doesn't perform any telemetry or communications with N's servers whatsoever, thus they might be able to notice you're running something different from the original HOME menu.

Credits

  • SciresM for Atmosphere-libs.

  • Switchbrew team for libnx and nx-hbloader, the base of uLoader.

  • C4Phoenix for the amazing design of this project's logo.

  • Icons8 website for a big part of the icons used by the default menu theme.

  • Several scene developers for their help with small issues or features.

  • Everyone who has halped translating the menu strings to other languages.

  • Everyone from Discord or other places whose suggestions made this project a little bit better! Specially all the testers, for reporting bugs and helping a lot with the project's development <3

More Repositories

1

Goldleaf

๐Ÿ‚ Multipurpose homebrew tool for Nintendo Switch
C
2,619
star
2

Plutonium

An easy-to-use UI framework for Nintendo Switch homebrew
C++
214
star
3

Brew.js

[WIP] C++ high-level JavaScript API for Nintendo 3DS/Switch
C++
147
star
4

PlayerNX

First homebrew video player for Nintendo Switch! (using ffmpeg libraries)
C
62
star
5

NitroEdit

Nintendo DS(i) ROM editor for the Nintendo DS(i) consoles themselves
C++
51
star
6

fsp-usb

Custom Nintendo Switch service to mount and access USB drives
C
38
star
7

ModuleMania

Various useful sysmodules (kip files) for Nintendo Switch, to be used with CFW
C++
29
star
8

pegasus

Work-in-progress Nintendo Switch emulator, written in Rust and slightly less focused on gaming
Rust
22
star
9

libjavm

Small, header-only, zero-dependency C++17 Java VM library
C++
19
star
10

Brew.NET

Some homebrew tools written in C# and .NET - featuring NSPack (more soon!)
C#
17
star
11

CDNTool

CDN Nintendo's servers 3DS title downloader (as CIA)
CSS
15
star
12

CiaGenerate

Homebrew, DSiWare and retail CIA builder
Haxe
13
star
13

mint

Simple ecosystem for creating and compiling Visual Studio C# projects as Nintendo Switch homebrew, via Bridge.NET and QuickJS
C
13
star
14

LogViewer

Simple but useful UI to read Nintendo binary log files
C#
13
star
15

aoc-mitm

Mitm for aoc:u service, allowing for certain games to insta-unlock DLC
Rust
10
star
16

Biosphere-old

Bring life to Nintendo switch homebrew!
C
9
star
17

flog

Open-source flog (Nintendo Switch's Golf NES easter egg) reimplementation
C++
9
star
18

CustomKart

WPF program to easily create Mario Kart DS ROM hacks
C#
9
star
19

LogManager-reimpl

Custom reimplementation of LogManager service, redirecting logs to SD card
C++
9
star
20

bio.launch

PoC qlaunch replacement, written with C++ and Biosphere
C++
9
star
21

Trust

Rust + devkitPro (libnx) + Windows 10. Simple project for Nintendo Switch homebrew in Rust. (plus weird stuff I test with)
Rust
9
star
22

vax

Custom module/code injection ecosystem for Nintendo Switch games
C++
8
star
23

javm-nx-poc

[WIP] Java ecosystem PoC for Nintendo Switch homebrew using libjavm VM library
Makefile
7
star
24

cntx

Explore various Nintendo Switch file formats (PFS0, NCA) in pure Rust
Rust
5
star
25

Haywatch

Haylou Smart Watch 2 (LS02) reverse-engineering project
Rust
5
star
26

arc

Atmosphรจre (and custom) result database
Python
5
star
27

aarch64-switch-rs

Simple cross-compile aarch64 sample project and homebrew library made in nightly Rust
Rust
5
star
28

nashe

Intercepting NS service interfaces for fun and/or research I guess
Rust
4
star
29

ProjectGallium

Content mounting projects: homonym C++ libraries (hactool wrappers) + sysmodule implementing them [ncm:hbw]
C++
3
star
30

NXPlay

[Archive] NXPlay's sources, for historical purposes
C++
3
star
31

NSPD

My PoC test of NSP dumping (not recommended to use, Goldleaf already has NSP dumping)
C++
3
star
32

SaltyLime

๐Ÿ‹ SaltyNX plugin replacing nnMain entrypoint on any official game / title
C
3
star
33

lithium

Lightweight Nintendo Switch Title Installer
2
star
34

libnx-plus-plus

Simple, efficient, header-only C++17 libnx wrappers
C++
2
star
35

nn-dkA64

Skeleton project + guide to use nn official libraries on devkitPro + devkitA64
1
star
36

libnx-dyn

Dynamic modules in libnx
C
1
star
37

nx-webkit-tests

HTML
1
star
38

swipcgen

.NET Core application to translate SwIPC ID files to C, libnx-style IPC code
C#
1
star