More actions
No edit summary |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 20: | Line 20: | ||
== Features == | == Features == | ||
=== Custom features === | === Custom features === | ||
List of unique extensions that the official HOME menu lacks: | List of unique extensions that the official HOME menu lacks: | ||
* User login system (login once, use that user for everything) | * User login system (login once, use that user for everything). | ||
* Grid-like main menu, deeply inspired by the 3DS menu (and partially DSi/Wii menus as well), easier than ever to navigate and customize | * Grid-like main menu, deeply inspired by the 3DS menu (and partially DSi/Wii menus as well), easier than ever to navigate and customize | ||
** The grid can be resized like in 3DS menus | ** The grid can be resized like in 3DS menus. | ||
** Entries can be moved as desired | ** Entries can be moved as desired. | ||
* Folders, subfolders... | * Folders, subfolders... | ||
* Homebrew directly launchable straight from main menu as an applet or an application (using applications as donors) | * Homebrew directly launchable straight from main menu as an applet or an application (using applications as donors). | ||
* Extensive themeing support | * Extensive themeing support | ||
** Backgrounds, icons, etc. | ** Backgrounds, icons, etc. | ||
** BGM and many sound effects | ** BGM and many sound effects. | ||
* Web browser easily accessible straight from main menu | * Web browser easily accessible straight from main menu. | ||
* Mii editor easily accessible straight from main menu | * Mii editor easily accessible straight from main menu. | ||
* Screen capture to PC support via USB | * Screen capture to PC support via USB. | ||
* Display system version + Atmosphère version + EmuMMC presence independently, in a nicer way | * Display system version + Atmosphère version + EmuMMC presence independently, in a nicer way. | ||
* Better display when gamecard fails to mount | * Better display when gamecard fails to mount. | ||
* 1080p resolution | * 1080p resolution. | ||
=== Implemented base features === | === Implemented base features === | ||
List of implemented official HOME menu features: | List of implemented official HOME menu features: | ||
* Application launching, suspending and closing | * Application launching, suspending and closing. | ||
* Applet launching and closing | * Applet launching and closing. | ||
* User page | * User page. | ||
* Controller support | * Controller support. | ||
* Settings (only a handful are so far implemented): | * Settings (only a handful are so far implemented): | ||
** Console version | ** Console version. | ||
** Atmosphère version | ** Atmosphère version. | ||
** EmuMMC presence | ** EmuMMC presence. | ||
** Console nickname | ** Console nickname. | ||
** Console timezone | ** Console timezone. | ||
** WiFi connection name/WiFi settings | ** WiFi connection name/WiFi settings. | ||
** Console language | ** Console language. | ||
** Console information upload (enable/disable) | ** Console information upload (enable/disable). | ||
** Bluetooth (enable/disable) | ** Bluetooth (enable/disable). | ||
** NFC (enable/disable) | ** NFC (enable/disable). | ||
** Automatic application download (enable/disable) | ** Automatic application download (enable/disable). | ||
** Automatic console update (enable/disable) | ** Automatic console update (enable/disable). | ||
** Wireless LAN (enable/disable) | ** Wireless LAN (enable/disable). | ||
** Console serial number | ** Console serial number. | ||
** Show console IP/MAC address | ** Show console IP/MAC address. | ||
* General channel/applet messages (some of them aren't implemented yet): | * General channel/applet messages (some of them aren't implemented yet): | ||
** HOME button detection | ** HOME button detection. | ||
** Power off, sleep, reboot | ** Power off, sleep, reboot. | ||
** SD card removal | ** SD card removal. | ||
** Gamecard failing to mount | ** Gamecard failing to mount. | ||
==Installation== | ==Installation== | ||
Line 95: | Line 81: | ||
'''Important:''' Make sure you don't remove anything else but the stuff mentioned here, in order to avoid any potential trouble. | '''Important:''' Make sure you don't remove anything else but the stuff mentioned here, in order to avoid any potential trouble. | ||
If you'd like to keep your custom themes, menu entries, config, etc. then just | If you'd like to keep your custom themes, menu entries, config, etc. then just use the uManager tool to disable uLaunch. This doesn't remove any data, allowing you to re-enable it back any moment. | ||
If you'd like to remove everything, then | If you'd like to remove everything permanently, then you will have to remove <code>atmosphere/contents/0100000000001000</code> and <code>ulaunch</code> folders on the SD card. If you also wish to remove uManager, then remove <code>switch/uManager.nro</code>. | ||
==User guide== | ==User guide== | ||
uLaunch components: | |||
{| class="wikitable" | |||
! uSystem | |||
|Replacement for the system applet process, it is the backend for the HOME menu (uMenu) on the Nintendo Switch. It manages essential functions like suspending/closing titles and detecting button presses (e.g., power button, HOME button). Lightweight and always running in the background, it communicates with uMenu via their smi communication system. | |||
|- | |||
! uMenu | |||
| The visible HOME menu that users interact with. It operates as a library applet, temporarily running over the eShop applet upon launch. | |||
|- | |||
! uLoader | |||
| A custom implementation of [https://github.com/switchbrew/nx-hbloader/releases nx-hbloader], allows to easily launch homebrew applications or applets. It also supports selecting homebrews akin to a file dialog system. | |||
|- | |||
! uManager | |||
| An NRO homebrew tool, controls essential uLaunch functions that cannot be managed externally. It allows toggling uLaunch activation and similar operations, separate from uMenu's functionality. | |||
|- | |||
! uScreen | |||
| A PC tool for screen capture via USB communication with uSystem on the Nintendo Switch. It requires Java 8 or higher (recommended versions above) and necessitates libusbK drivers for optimal USB functionality. USB screen capture is disabled by default and can be enabled in settings. | |||
|- | |||
|} | |||
For information on theming and menu customization, please refer to the [https://github.com/XorTroll/uLaunch/wiki official wiki]. | |||
You can find themes for uLaunch on the [https://www.reddit.com/r/uLaunchThemes/ r/uLaunchThemes] subreddit. | |||
==Screenshots== | ==Screenshots== |
Latest revision as of 07:02, 7 July 2024
uLaunch | |
---|---|
General | |
Author | XorTroll |
Type | Title Launchers |
Version | 1.0 |
License | GPL-2.0 |
Last Updated | 2024/07/05 |
Links | |
Download | |
Website | |
Source | |
Support Author | |
uLaunch is an open-source project that aims to replace the Nintendo Switch's HOME menu (qlaunch) with a custom. homebrew-oriented one.
Unlike other HOME menu extensions or patches, uLaunch is a complete reimplementation that is 100% open-source. It also enhances the console's functionality by taking over eShop and Parental control applets.
For those who are interested in the UI design, uLaunch, like Goldleaf, is a great example of how powerful Plutonium libraries can create beautiful UIs.
Features
Custom features
List of unique extensions that the official HOME menu lacks:
- User login system (login once, use that user for everything).
- Grid-like main menu, deeply inspired by the 3DS menu (and partially DSi/Wii menus as well), easier than ever to navigate and customize
- The grid can be resized like in 3DS menus.
- Entries can be moved as desired.
- Folders, subfolders...
- Homebrew directly launchable straight from main menu as an applet or an application (using applications as donors).
- Extensive themeing support
- Backgrounds, icons, etc.
- BGM and many sound effects.
- Web browser easily accessible straight from main menu.
- Mii editor easily accessible straight from main menu.
- Screen capture to PC support via USB.
- Display system version + Atmosphère version + EmuMMC presence independently, in a nicer way.
- Better display when gamecard fails to mount.
- 1080p resolution.
Implemented base features
List of implemented official HOME menu features:
- Application launching, suspending and closing.
- Applet launching and closing.
- User page.
- Controller support.
- Settings (only a handful are so far implemented):
- Console version.
- Atmosphère version.
- EmuMMC presence.
- Console nickname.
- Console timezone.
- WiFi connection name/WiFi settings.
- Console language.
- Console information upload (enable/disable).
- Bluetooth (enable/disable).
- NFC (enable/disable).
- Automatic application download (enable/disable).
- Automatic console update (enable/disable).
- Wireless LAN (enable/disable).
- Console serial number.
- Show console IP/MAC address.
- General channel/applet messages (some of them aren't implemented yet):
- HOME button detection.
- Power off, sleep, reboot.
- SD card removal.
- Gamecard failing to mount.
Installation
Disclaimer
Ban risks - 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.
Installing uLaunch
Download the latest release ZIP (Note: this project is meant to be used with Atmosphere, so use it with different CFWs at your own risk).
Copy everything inside the ZIP to the root of your SD card.
- If you have never used uLaunch or any kind of HOME menu replacement (NXThemes don't count) you wouldn't need to overwrite any files.
- You don't need to remove your normal HOME menu themes (NXThemes) in order to install uLaunch. Those themes are at a
romfs
dir insidecontents/0100000000001000
, while uLaunch's only file in that folder isexefs.nsp
.
Launch your CFW (using emuMMC or sysMMC shouldn't make a difference) and enjoy your custom, new HOME menu.
Removing uLaunch
Important: Make sure you don't remove anything else but the stuff mentioned here, in order to avoid any potential trouble.
If you'd like to keep your custom themes, menu entries, config, etc. then just use the uManager tool to disable uLaunch. This doesn't remove any data, allowing you to re-enable it back any moment.
If you'd like to remove everything permanently, then you will have to remove atmosphere/contents/0100000000001000
and ulaunch
folders on the SD card. If you also wish to remove uManager, then remove switch/uManager.nro
.
User guide
uLaunch components:
uSystem | Replacement for the system applet process, it is the backend for the HOME menu (uMenu) on the Nintendo Switch. It manages essential functions like suspending/closing titles and detecting button presses (e.g., power button, HOME button). Lightweight and always running in the background, it communicates with uMenu via their smi communication system. |
---|---|
uMenu | The visible HOME menu that users interact with. It operates as a library applet, temporarily running over the eShop applet upon launch. |
uLoader | A custom implementation of nx-hbloader, allows to easily launch homebrew applications or applets. It also supports selecting homebrews akin to a file dialog system. |
uManager | An NRO homebrew tool, controls essential uLaunch functions that cannot be managed externally. It allows toggling uLaunch activation and similar operations, separate from uMenu's functionality. |
uScreen | A PC tool for screen capture via USB communication with uSystem on the Nintendo Switch. It requires Java 8 or higher (recommended versions above) and necessitates libusbK drivers for optimal USB functionality. USB screen capture is disabled by default and can be enabled in settings. |
For information on theming and menu customization, please refer to the official wiki.
You can find themes for uLaunch on the r/uLaunchThemes subreddit.
Screenshots
Media
uLaunch - The Themeable Nintendo Switch HOME Menu Nintendo Forgot To Make (XorTroll)
uLaunch Amiibo mod (Dcnigma-obscure-channel)
Changelog
v1.0 2024/07/05
- General
- The menu entry system was completely remade:
- Cleaner grid-like system, deeply inspired by the 3DS menu (and partially DSi/Wii menus as well), easier than ever to navigate and customize.
- Homebrew and applications are no longer split in separate menus: the menu initially contains all applications,
hbmenu
,uManager
(check below) and other special entries (user page, settings/themes...), and homebrew entries may be easily added in the menu (or they can always be accessed viahbmenu
, of course)
- Cleaner grid-like system, deeply inspired by the 3DS menu (and partially DSi/Wii menus as well), easier than ever to navigate and customize.
- Support was added for detecting when the gamecard fails mounting (even displaying the result, something the original HOME menu doesn't do).
- Support on SD removal was improved.
- Now using arc to neatly organize result codes and display their names.
- All uLaunch components now generate logs (cleaned every reboot) which can be really helpful for pinpointing any problems.
- Translations are provided for additional languages: Spanish, Korean, Brazilian Portuguese (those volunteered by translators)
- If you'd like to add new translations or improve existing ones, feel free to contribute!
- As always, all libraries were updated to their latest releases (therefore, this works with latest Atmosphère).
- Many other internal bits of the code were improved or straight up redesigned.
- The menu entry system was completely remade:
- uSystem
- Basically many internal changes to reflect changes in the other parts of the project more noticeable by the end user.
- uLoader
- Implemented support to use uLoader as a homebrew chooser, thus now being able to return the homebrew the user selected via hbmenu instead of launching it.
- Minor changes reflecting more closely the logic actual hbloader follows, probably fixing minor issues.
- Implemented support to use uLoader as a homebrew chooser, thus now being able to return the homebrew the user selected via hbmenu instead of launching it.
- uMenu
- Changes relative to the new menu:
- Several options previously placed elsewhere (user page, uLaunch settings/themes, controllers menu...) are now actual menu entries, making the UI cleaner overall.
- Mii editor is now accessible from both the entry menu and the quick menu.
- Folders are back, and better than ever! Subfolders, sub-subfolders, etc. can be created like before, while the new menu grid-like layout makes moving entries inside/outside folders more intuitive than ever.
- Several options previously placed elsewhere (user page, uLaunch settings/themes, controllers menu...) are now actual menu entries, making the UI cleaner overall.
- Major graphical improvements aside from the new menu:
- All assets/logic were upgraded to 1080p, thus no longer having lower quality on TV (another thing the official HOME menu doesn't have).
- Menus are highly themeable now, since more attention was dedicated to little customizable aspects.
- All assets/logic were upgraded to 1080p, thus no longer having lower quality on TV (another thing the official HOME menu doesn't have).
- The quick menu can now only opened with ZL/ZR (L/R are used to nagivate through the main menu), and a mii editor option was added back.
- The web browser URL input dialog starts with
https://
as default for simplicity. - There is no longer a separate homebrew menu, instead homebrew entries are added via the new
uLoader
mechanism. - Inputs are now nicely shown in an input bar right above the entry menu.
- Several menu transitions were made nicer, fading into the theme background instead of a black screen.
- Some basic checking is done on whether titles are launchable in the first place (rather than trying to launch them, failing and reopening uMenu with an error dialog)
- Increased internal menu memory from 176MB to 296MB, thus allowing loading better quality theme assets while everything else should (in principle) work fine.
- Changes relative to the new menu:
- Themeing: uDesigner
- Themes have changed a lot: this version introduces a new version of the theme format, comprising both minor changes and a LOT more customizable stuff, to the point where all the changes are too long to be listed here.
- The new default theme has blue as its overall color and almost entirely brand new assets.
- Themes are now distributed as ZIP files.
- The themeing wiki has been rewritten covering everything about creating themes.
- From all this, it follows that old themes are far from compatible (not only differences in format/files, but also on the resolution since we are 1080p now!), so any old theme must be reworked manually. Regardless, the new themeing is more customizable than before, opening many more opportunities for any creative minds out there.
- Along these lines, an (experimental) official theme editor is finally here: check uDesigner!
- The wiki has also been rewritten, covering every relevant detail. Wiki pages are the perfect documentation for those who will make themes manually as well as those using the (experimental) editor.
- uManager
- This new release introduces
uManager
, a brand new homebrew app to control uLaunch's functionality! - Manually tinkering files will no longer be necessary (aside from weird cases, of course).
- Automatically enable/disable uLaunch
- Update uLaunch to the latest GitHub release
- Reset the menu layout / uLaunch's generated image cache (might come useful if something happened to break)
- Automatically enable/disable uLaunch
- This new release introduces
- uScreen (formerly uViewer)
uViewer
was replaced byuScreen
, a brand-new (Java) tool for USB screen capturing, where its functionality is the same overall.
v0.3.8 2024/04/03
- Everything was compiled with the latest libraries, meaning proper Atmosphère 1.7.0 / system 18.0.0 support among other things.
v0.3.7 2024/01/24
- Everything was compiled with the latest libraries, meaning proper Atmosphère 1.6.2 / 17.0.1 support among other things.
v0.3.6 2023/09/04
- General
- Keep in mind that these minor versions are merely support updates while the deep uLaunch rewrite is being finished at unew branch
- uLaunch
- Everything was compiled with the latest libraries, meaning proper Atmosphère 1.5.5 support among other things
- uDaemon
- Fixed an annoying bug which might cause uLaunch to crash randomly when booting
- uViewer
- Again, no uViewer binaries are posted here since it has no changes (v0.3.1 was the last version where it was updated)
v0.3.5 2023/04/04
- uLaunch:
- Updated for latest Atmosphere (v1.5.1) and libnx.
- Fixed support for certain games, like Nintendo Switch Online titles.
- uViewer:
- No changes (therefore no new release binaries).
v0.3.4 2022/04/17
- Again nothing new, just recompiled with latest libnx and Atmosphere, which was needed for the latest Atmosphere release (v1.3.1).
- Again, since were there no changes at all, no uViewer binaries are provided.
v0.3.3 2022/03/26
- Nothing new, just recompiled with latest libnx and Atmosphere, which was needed for the latest Atmosphere release.
- Again, since were there no changes at all, no uViewer binaries are provided.
v0.3.2 2022/02/11
- uLaunch:
- Most of the code was rewritten or cleaned up, which might mean slightly faster load times, etc.
- Reinstalled/never launched titles can be launched properly (until now, they had to be launched first on regular qlaunch in order to work) .
- Other minor internal changes, fixes, etc.
- uMenu:
- Updated with last libnx, Plutonium and Atmosphere. This (mostly Plutonium changes) might also slightly better performance.
- Atmosphere's info is shown now along with the system firmware (like with regular qlaunch) .
- uViewer:
- No changes (not providing new release binaries).
v0.3.1 2021/09/26
- uLaunch:
- Compiled with latest Atmosphere libraries, effectively supporting up to 1.1.1 and 13.0.0 firmware.
- Slightly reduced the main menu's memory size from 192MB to 176MB. Previously, certain applets would crash due to lack of memory (for instance, swkbd when editing a user's name on the user page), and thanks to this memory reduction these issues are fixed now.
- Fixed a bug where launching a title when another one is opened would fail due to not waiting until the opened title actually exits.
- uViewer and RetroArch plugin:
- Nothing was changed, only the version number was updated.
v0.3.0 2021/08/11
- uLaunch:
- Updated with last libnx and Atmosphere.
- Now, instead of always overriding certain applets (if you had uLaunch on your SD), uLaunch makes use of ECS to launch its processes over a certain applet, so that the applet can be used normally when the process isn't launched.
- The internal comunication system between uLaunch's processes has changed internally and made more fast and efficient.
- Several bugs/issues with older versions were fixed.
- USB support:
- USB support is back (it was temporarily removed the last release due to weird technical issues).
- USB now supports an alternative system, which is available under certain circumstances (having patches enabling it being on >10.0.0) and which is significantly faster.
- uMenu:
- When launching homebrew as applications, uMenu won't make use of the internal flog system application it used to use (which might have been risky for potential bans). Instead, making use of ECS (mentioned above), after a donor title has been selected by pressing up, homebrew can easily be launched over that application like normal Atmosphere does. Note that you won't be able to launch homebrew over an application unless you select that application as the donor application.
- HOME menu pressing is properly supported on the different menus. For instance, pressing the HOME button inside the settings menu will make it return to the main menu.
- The default theme design was reworked, giving it a more dark/purple-ish style, in order to make it more uniform and consistent with the project's logo.
- uViewer:
- The RetroArch entry creator plugin was updated to work with the latest RetroArch installation.
- It's been a while, but it's finally here! Have fun with a custom HOME menu.
v0.2.1 2019/12/30
- This a basic version to support latest libnx and Atmosphere, so not many features were added.
- General:
- Added support for latest Atmosphere, libstratosphere and libnx, fixing potential bugs they all could have had.
- USB viewer:
- USB viewing has been force-disabled for this version, since it is completely broken.
- Main menu:
- Fixed a bug where homebrew couldn't be launched from main menu, even in applet mode, when there is an application suspended.
- Added the option to rename folders by pressing X on the main menu (with the folder selected).
- Next release will be way more complete.
v0.2 2019/12/01
- Main menu:
- Added a new way to open menus without touchscreen: presenting the quick menu! Just hold L/R-stick, then move it while being held to select a menu, leave the stick and profit.
- Changed the web browser touchable menu item with the controller applet one, for what it's worth.
- Settings menu:
- New settings were added:.
- Console information upload (enable/disable).
- Automatic titles' download (e/d).
- Console auto-update (e/d).
- Bluetooth (e/d).
- 3.0 USB (e/d).
- NFC (e/d).
- Wireless LAN (e/d).
- MAC address.
- Serial number.
- New settings were added:.
- Added controller menu applet (as a menu touchable icon, as mentioned above) support to change/manage players and controllers.
- Added album applet (as part of the aforementioned quick menu) support to view your captures.
- Added a power menu (as part of the aforementioned quick menu) to quickly power off, reboot or sleep the console.
- QForegroundViewer has been refactored into a major application: uViewer.
- New entry creator menu (custom entry creator to be accessible from main menu), customizable with plugins.
- This includes a custom RetroArch-themed DLL plugin, easily loadable by uViewer, to make ROM forwarding really easy.
- Added a new way to open menus without touchscreen: presenting the quick menu! Just hold L/R-stick, then move it while being held to select a menu, leave the stick and profit.
- General:
- Custom icons in entry JSONs can now be used with normal titles too, not just homebrew.
- Custom name/author/version texts in entries are no longer restricted to 511/15 characters.
- Certain parts of the code/functionality were slightly improved (speed might be slightly faster in certain laggy moments).
v0.1 2019/11/11
- Extract the ZIP to your CFW's directory.
- Have fun with a custom, brand new HOME menu.
Credits
- SciresM for Atmosphere-libs.
- Switchbrew team for libnx and nx-hbloader, the base of the uHbTarget processes (they're essentially wrappers of nx-hbloader). This project also makes use of hx-hbmenu's icon.
- C4Phoenix for the amazing design of this project's logo.
- Icons8 website for a big part of the icons used by the default style.
- Several scene developers for their help with small issues or features.
- Everyone from Discord or other places whose suggestions made this project a little bit better.