Nintendo Switch Homebrew Menu 3.0.0 released

The homebrew menu for the Nintendo Switch has been updated once again but this time with a few new features. It now supports themes for the homebrew menu, nxlink, updated touch controls, battery/charging status display, and it will even create the switch directory if it doesn’t exist.


  • Added message boxes. The envGetLastLoadResult() output is now displayed during startup if needed (error returned by the application which ran last).
  • Added nxlink support (netloader).
    • The Switch IP address can automatically be determined via UDP broadcast.
    • Netloader is handled on a separate thread with non-blocking sockets. UI drawing is not blocked during the transfer.
    • The transfer can be aborted via ‘Back’ input.
    • If the transfer stopped without finishing, the file is deleted.
    • When returning to the main-menu from netloader, the menu is reloaded since the netloader NRO may have been deleted due to the transfer stops.
    • Netloader status is displayed in a message-box while netloader is active. This includes transfer progress and a progress bar.
    • Fixed buffer overflow vuln with netloader args introduced with the original netloader commit (nothing useful which could cause a crash can be overwritten with an unmodifed nxlink). Fixed unrelated bounds check in launchAddArg() which broke once nxlink_host support was added.
  • Use system shared-font. Note that the system language is still not used.
  • Added touch-controls.
  • Added support for themes loaded from SD. If the system theme is not recognized, the used theme will default to the dark theme.
  • Added Theme Menu for selecting the used theme, including the default theme.
  • Enabled time display, which uses local time.
  • The battery/charging status is now displayed.
  • Added support for file-associations.

Other Features:

  • Replaced nanojpeg with libjpeg-turbo. See README regarding this.
  • The switch/ directory is created if it doesn’t exist. Config dirs on SD are now automatically created during startup if needed.
  • Display an error screen with print-console instead of using fatalSimple, for errors during startup. Display a message-box in launchFile() for app-launching when an error occurs instead of using fatalSimple.
  • Use applet exit-locking.
  • Assets are now loaded from a .zip in RomFS instead of embedding it in data/.
  • Built with libnx stable v1.5.0.
  • Further improvements to overall system stability and other minor adjustments to enhance the user experience.


Download: nx-hbmenu_v3.0.0

About hackinformer

I like to get everyone the right info and I like to help others get the most from there electronic devices. I enjoy playful cleverness and the exploration of technology. My Motto: You own it, you can do whatever you want with it.

Leave a Reply

Your email address will not be published. Required fields are marked *