Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

ULaunch Switch: Difference between revisions

From GameBrew
No edit summary
Line 102: Line 102:


==User guide==
==User guide==
The [https://github.com/XorTroll/uLaunch/releases/latest latest releases] of uLaunch include the uViewer tool that allows you to create custom forwarders (e.g. RetroArch ones).
The [https://github.com/XorTroll/uLaunch/releases/latest latest releases] of uLaunch includes the uSystem, uMenu, uLoader, uManager, uScreen and uViewer.
 
You can find themes for uLaunch on the [https://www.reddit.com/r/uLaunchThemes/ r/uLaunchThemes] subreddit.  


For more detailed information on the project, including themeing, check out its [https://github.com/XorTroll/uLaunch/wiki wiki].
For more detailed information on the project, including themeing, check out its [https://github.com/XorTroll/uLaunch/wiki wiki].
You can find themes for uLaunch on the [https://www.reddit.com/r/uLaunchThemes/ r/uLaunchThemes] subreddit.


===FAQ===
== FAQ ==
== FAQ ==
* '''uLaunch gives me a blackscreen. How can I fix it?'''
* '''uLaunch gives me a blackscreen. How can I fix it?'''

Revision as of 05:53, 6 July 2024

uLaunch
Ulaunchnx.png
General
AuthorXorTroll
TypeTitle Launchers
Version1.0
LicenseGPL-2.0
Last Updated2024/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

Unimplemented base features

List of not implemented official HOME menu features:

Planned to be implemented

  • Auto-sleep after a certain amount of time
  • Several unimplemented settings
  • Several unimplemented general channel/applet messages
  • Console updating

Not planned to be implemented (at least for now)

  • eShop functionality
  • Parental control
  • Application (game) updates

Note that a lot of features could be considered in principle (savedata support, title removing, user management, activity log stuff...), but uLaunch's philosophy is to mainly avoid considering this features or, more generally, features already provided by existing homebrews or potentially providable by them. uLaunch is a custom HOME menu, whose aim partially is to be extended with mostly HOME-menu-related features.

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 inside contents/0100000000001000, while uLaunch's only file in that folder is exefs.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 remove contents/0100000000001000/exefs.nsp inside Atmosphere's directory. If you happen to reinstall uLaunch later following the steps mentioned above, your previous themes, config, etc. you will still preserve your themes, config, etc. prior to the removal.

If you'd like to remove everything, then also remove the ulaunch folder on the root of the SD card.

(Note: if you use any HOME menu modification - like NXThemes - make sure you do not delete the entire 0100000000001000 folder, just the exefs.nsp file.)

User guide

The latest releases of uLaunch includes the uSystem, uMenu, uLoader, uManager, uScreen and uViewer.

For more detailed information on the project, including themeing, check out its wiki. You can find themes for uLaunch on the r/uLaunchThemes subreddit.

FAQ

  • uLaunch gives me a blackscreen. How can I fix it?
    • First of all, make sure you're using the latest release of uLaunch.
    • If new firmware updates or new Atmosphère versions have been released, you might need to wait for a new release to be dropped, and in the meantime you might be able to use dev/testing builds from our Discord server.
    • The log files uLaunch's components generate inside ulaunch folder can be really helpful when sharing your issue in Discord or GitHub. Make sure you don't reboot again into uLaunch, since the log files will be overwritten! Otherwise, just replicate the bug and share/copy the log files before reloading anything.
    • In more extreme cases, uLaunch's blackscreens might also be caused due bad handling of invalid theme/entry JSON files. The JSONs might have been corrupted (due to ExFAT, other homebrews...) so try deleting them.
  • 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 an unfortunate technical issue. While the web browser, user page, album... are separate applets (separate programs, independent from the HOME menu itself) 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 reversed and implemented.
  • Will using uLaunch get me banned online?
    • There have been some cases where using uLaunch may have caused bans. Keep in mind that replacing the official HOME menu's functionality is never a completely safe idea, so always use it at your own risk. Since uLaunch doesn't perform any telemetry or communications with Nintendo servers, they might be able to notice you are running something different from the original HOME menu.
  • Why does uLaunch (sometimes) feel slower than the official HOME menu?
    • There are several possible reasons:
      • uLaunch loads more content than the official HOME menu when loading. Most of the official HOME menu's UI are solid colors, while uLaunch loads several images, etc. Being customizable comes with minor drawbacks, like this one.
      • Icons are lazily loaded, so for menus with many entries (essentially for people having a ton of games) navigating through the menu will be slightly laggy until everything loads, which will just take a few seconds. The 3DS menu has similar laggy moments, by the way ;)
      • Aside from the two excuses above, there is always room for further optimizations in uLaunch's code. Feel free to submit any issues of excessive lag/slowdowns, I'll do my best to improve it :)

Screenshots

ulaunchnx2.png ulaunchnx3.png

ulaunchnx4.png ulaunchnx5.png

ulaunchnx6.png ulaunchnx.png

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, hbmenuuManager (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 via hbmenu, of course)
    • 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.
  • 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.
  • 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.
    • 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.
    • 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.
  • 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)
  • uScreen (formerly uViewer)
    • uViewer was replaced by uScreen, 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.
  • 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.

External links

Advertising: