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

NXThemes Installer Switch: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 4: Line 4:
|description=Easily make custom themes.
|description=Easily make custom themes.
|author=exelix11
|author=exelix11
|lastupdated=2022/03/22
|lastupdated=2022/10/14
|type=PC Utilities
|type=Theme Tools
|version=4.7_2.7
|version=4.7.1_2.7.1
|license=GPL-2.0
|license=GPL-2.0
|download=https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector.7z
Line 13: Line 13:
|donation=https://ko-fi.com/exelix11
|donation=https://ko-fi.com/exelix11
}}
}}
{{#seo:
The Switch theme injector project is split into three parts.  
|title=Switch Homebrew PC Tools (PC Utilities) - GameBrew
|title_mode=append
|image=switchthemeinjector.png
|image_alt=Switch Theme Injector
}}
The Switch theme injector is a remarkable homebrew app for the Nintendo Switch that simplifies the process of creating custom themes.
 
This project consists of three parts:
 
#Switch theme injector (Windows app): This app allows users to create and edit custom themes.
#NXThemes installer: This homebrew app runs directly on the Switch and enables users to install and manage themes.
#[http://exelix11.github.io/SwitchThemeInjector/v2 Switch theme injector online] (also known as WebInjector): This web app is a port of the Windows injector, but some features like custom applet icons and common.szs layouts support are not available.


The main objective of this project is to develop a complete toolset that enables users to create and install custom themes on their Nintendo Switch. As the console operating system doesn't natively support custom themes, most of the work involves patching system SZS files to achieve the desired appearance.
*Switch Theme Injector (Windows app) - An app to create and edit custom themes.
*NXThemes Installer - An homebrew app that runs on the switch itself and can be used to install and manage themes.
*[http://exelix11.github.io/SwitchThemeInjector/v2 Switch theme injector online] (also called WebInjector) - A port of the Windows injector as a web app, it lacks some features like custom applet icons and common.szs layouts support.  


However, it's worth noting that SZS files from the Switch OS contain copyrighted data and cannot be shared online. Therefore, the nxtheme format was developed, which only contains differential information and can be freely shared. Unless you're creating your own patches and custom layouts, it's best to use nxtheme files.
The main objective is to develop a complete toolset to create and install custom themes on the switch. As the console os doesn't implement custom themes natively most of this is done by patching system SZS files to get the desired aspect.  


'''Please note that although custom themes do not appear to cause bans, it's important to exercise caution when using custom firmware (CFW) and avoid connecting to the internet. If you do decide to connect to the internet while using CFW, it's recommended that you use a DNS, even if you're not using custom themes'''.
Unfortunately, SZS files from the switch os contain copyrighted data and can't be shared online that's why the nxtheme format has been developed, it contains only differential info and can be freely shared. Unless you're dealing with making your own patches and custom layouts you should only use nxtheme files.


==Media==
The homebrew was showcased in the GBAtemp Switch Homebrew Bounty 2018 (Tools and Utilities, 3rd place).
'''Custom Themes Nintendo Switch TUTORIAL - ([https://www.youtube.com/watch?v=XRoMpbpkq-s Manito])'''<br>
<youtube>XRoMpbpkq-s</youtube>


==Screenshots==
'''Note:''' while custom themes don't seem to cause bans, when in CFW you should not be connected to the internet or at least you should be using a dns (even if you don't use themes).
https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-01.png
https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-02.png
https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-03.png
https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-04.png
https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-05.png
https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector-06.png


==Getting started==
==Features==
To use custom themes you need an hacked switch that's at least on firmware 5.0.
*An app to create and edit custom themes.
*An homebrew app that runs on the switch itself and can be used to install and manage themes.
*A port of the windows injector as a web app, it lacks some features like custom applet icons and common.szs layouts support.
*The main objective is to develop a complete toolset to create and install custom themes on the switch.
*To use custom themes you need an hacked switch that's at least on Firmware 5.0.
*Switch theme injector online.


===How to Install and Uninstall Themes===
==User guide==
===Installing Themes===
The most common scenario for installing themes is to use the theme installer homebrew. Here are the steps to follow:
The most common scenario for installing themes is to use the theme installer homebrew. Here are the steps to follow:


# Create a folder called “themes” in the root of your SD card.
* Create a folder called "themes" in the root of your SD card.
# Copy your themes in either nxtheme or szs format into this folder.
* Copy your themes in either nxtheme or szs format into this folder.
# Launch the theme installer and select your desired theme to install it.
* Launch the theme installer and select your desired theme to install it.
# Reboot your console and your new theme should be applied.
* Reboot your console and your new theme should be applied.


Note that each file is a single home menu part (e.g., just the lock screen or just the main menu). A full home menu theme is composed of multiple nxtheme files.
Note that each file is a single home menu part (eg just the lockscreen or just the main menu), a full home menu theme is composed by multiple nxtheme files.


To remove a theme, simply select “uninstall” in the theme installer. You can also install a different theme to overwrite the currently installed one.
To remove a theme just select uninstall in the theme installer. You can just install a different theme to overwrite the currently installed one.


If you forget to uninstall any installed themes before upgrading (or downgrading) your firmware, you may encounter compatibility issues. In this case, your console may not boot until you remove the theme as explained below.
When a new firmware comes out before upgrading (or downgrading) remember to uninstall any theme you have installed to avoid compatibility issues, if you forget your console may not boot untill the theme is removed as explained next.


In case your console doesn’t boot anymore due to a bad theme (mostly with szs themes), delete the \atmosphere\contents\01000000001000 folder from your SD card (it’s <cfw name>\titles\01000000001000 for old atmosphere and other CFWs). After deleting this folder, your console should be able to boot again. Launch the theme installer and select “uninstall theme” to finish the cleanup process.
In case your console doesn't boot anymore due to a bad theme (mostly with szs themes) delete the <code>\atmosphere\contents\01000000001000</code> folder from your sd (it's <code>\<cfw name>\titles\01000000001000</code> for old atmosphere and other CFWs), now your console should be booting, launch the theme installer and select uninstall theme to finish the cleanup process.


===Making themes===
===Making themes===
To make themes, you can use either the Theme injector application or the web version.
To make themes, you can use either the Theme injector application or the web version.


====Format differences====
In the past, themes were distributed as szs files. However, this format is no longer supported because these szs files also contain copyrighted data. Instead, you should only use the nxtheme format.
In the past, themes were distributed as szs files. However, this format is no longer supported because these szs files also contain copyrighted data. Instead, you should only use the '''nxtheme''' format.


====Making an nxtheme====
====Making an nxtheme====
To make an nxtheme, open the injector and go to the NXThemes builder tab. Then, open any '''720p JPG image''' (1280x720 pixels), select a custom layout, and click on “build nxtheme”.
How to make a theme:
* Open the windows app.
* go to the "nxtheme builder" tab.
* Select the home menu part you want to theme.
* Click on "..." and open any 1280x720 JPG image (Note that the web version only supports JPG files).
* If you want, select a custom layout.
* Click on "Build nxtheme".
 
Note that if you'd like you can also make a theme with just a custom layout without any bg image, just select a layout without opening any image.


For making themes, you can only use JPG images or DXT1-encoded DDS images. For best quality, it’s better to manually encode the image to DDS so you can have a preview of how it will look like with the compression applied.
For making themes, you can only use JPG images or DXT1-encoded DDS images. For best quality, it’s better to manually encode the image to DDS so you can have a preview of how it will look like with the compression applied.


====Linux Support====
====Linux support====
The GUI only works on Windows. However, on Linux, you can use the CLI through mono. You will need the '''mono-complete''' package. Then, you should be able to launch the app by running '''mono SwitchThemes.exe help'''.
The GUI only works on Windows. However, on Linux, you can use the CLI through mono. You will need the "mono-complete" package. Then, you should be able to launch the app by running "mono SwitchThemes.exe help".


====Command line usage (CLI)====
====Command line usage (CLI)====
Line 83: Line 78:
<code>SwitchThemes.exe buildNX home "<your image.png/jpg/dds>" "<json layout file, optional>" "name=<theme name>" "author=<author name>"  "out=<OutputPath>.nxtheme"</code>
<code>SwitchThemes.exe buildNX home "<your image.png/jpg/dds>" "<json layout file, optional>" "name=<theme name>" "author=<author name>"  "out=<OutputPath>.nxtheme"</code>


This will build a theme for the home menu. Instead of “home”, you can use: lock for lock screen, apps for all apps screen, set for settings applet, user for user page applet and news for news applet. Only the image and out file args are needed. Other options specific to the theme target such as applet icons are available as well. Run “SwitchThemes.exe help” for more info.
This will build a theme for the home menu, instead of <code>home</code> you can use: <code>lock</code> for lockscreen, <code>apps</code> for the all apps screen, <code>set</code> for the settings applet, <code>user</code> for the user page applet and <code>news</code> for the news applet. Only the image and out file args are needed.
 
Other options specific to the theme target such as applet icons are availbale as well, run <code>SwitchThemes.exe</code> help for more info.


====Remote install====
'''Remote install:'''
To remotely install a theme:


Launch the theme installer and select remote install.
Launch the theme installer and select remote install, then run the following command:


Run the following command:
<code>SwitchThemes.exe install 192.168.X.Y “<nxtheme/szs file>”</code>
<code>SwitchThemes.exe install 192.168.X.Y “<nxtheme/szs file>”</code>


where <code>192.168.X.Y</code> is your console IP address.
Where <code>192.168.X.Y</code> is your console IP address.


==Custom layouts==
===Custom layouts===
Custom layouts are JSON files that allow you to change the appearance of the home menu by moving the UI components. To create a custom layout, you will need the original home menu szs files found in /themes/systemData on your SD card (if you ever used the theme installer) and a tool capable of editing them like the [https://github.com/FuryBaguette/SwitchLayoutEditor Switch Layout Editor].
Custom layouts are JSON files that allow you to change the appearance of the home menu by moving the UI components. To create a custom layout, you will need the original home menu szs files found in <code>/themes/systemData</code> on your SD card (if you ever used the theme installer) and a tool capable of editing them like the [https://github.com/FuryBaguette/SwitchLayoutEditor Switch Layout Editor].


You can find more information about layouts and the supported properties [https://github.com/exelix11/SwitchThemeInjector/blob/master/CustomLayouts.md here].
You can find more information about layouts and the supported properties [https://github.com/exelix11/SwitchThemeInjector/blob/master/CustomLayouts.md here].
Line 102: Line 97:
For layout editing, read the [https://github.com/FuryBaguette/SwitchLayoutEditor/wiki Layout editor wiki] to get started. Parts of the main home menu layout are documented in this repo [https://github.com/exelix11/SwitchThemeInjector/wiki/ResidentMenu.szs wiki].
For layout editing, read the [https://github.com/FuryBaguette/SwitchLayoutEditor/wiki Layout editor wiki] to get started. Parts of the main home menu layout are documented in this repo [https://github.com/exelix11/SwitchThemeInjector/wiki/ResidentMenu.szs wiki].


==FAQ==
===FAQ===
'''Q. Can a custom theme brick my switch?'''<br>
'''Q. Can a custom theme brick my switch?'''
A. No, custom themes are applied through layered fs, so no change is made to your NAND.
 
No, custom themes are applied through layered fs, so no change is made to your NAND.
 
'''Q. The theme installer crashes on launch or just fails to install themes.'''
 
There are two main causes: the archive bit is set for the themes folder and the SD card is corrupted. The former happens mainly if you use a Mac but really depends on how you create the themes folder. The latter is often caused by exFAT on your SD card. Try to delete the themes folder and launch the installer, and it will create it again. Now just copy the themes, and it should work.
 
If it still doesn't work, it could be corruption. In this case, the best option is to backup the SD contents and format it to FAT32. If you have games installed, don't worry as the Switch OS automatically splits them into <4GB parts so they work on every SD.
 
'''Q. I installed a theme and now my switch crashes on boot or I had a custom theme, then I updated my console and now it crashes on boot.'''
 
Delete the <code>/titles/0100000000001000</code> and/or <code>/titles/0100000000000811</code> folders from the CFW folder on your SD card.
 
At this point, your console will boot up normally. To clean up any leftovers, launch the theme installer and select “uninstall theme”.


'''Q. The theme installer crashes on launch or just fails to install themes.'''<br>
'''Q. Why are nxtheme files better than SZS?'''
There are two main causes: the archive bit is set for the themes folder and the SD card is corrupted. The former happens mainly if you use a Mac but really depends on how you create the themes folder. The latter is often caused by exFAT on your SD card. Try to delete the themes folder and launch the installer, and it will create it again. Now just copy the themes, and it should work. If it still doesn’t work, it could be corruption. In this case, the best option is to backup the SD contents and format it to FAT32. If you have games installed, don’t worry as the Switch OS automatically splits them into <4GB parts so they work on every SD.


'''Q. I installed a theme and now my switch crashes on boot or I had a custom theme, then I updated my console and now it crashes on boot.'''<br>
They're legal. This means they can be freely shared, and they are firmware-independent so they can be installed on any firmware.  
Delete the /titles/0100000000001000 and/or /titles/0100000000000811 folders from the CFW folder on your SD card. At this point, your console will boot up normally. To clean up any leftovers, launch the theme installer and select “uninstall theme”.


'''Q. Why are nxtheme files better than SZS?'''<br>
It is also a more flexible format that can be extended in the future to support more features such as theme packs.
They’re legal. This means they can be freely shared, and they are firmware-independent so they can be installed on any firmware. It is also a more flexible format that can be extended in the future to support more features such as theme packs.


'''Q. Why only 720p images? I want to use a 1080p or 4K one!'''<br>
'''Q. Why only 720p images? I want to use a 1080p or 4K one!'''
Two reasons: first, the internal resolution of the home menu is 720p no matter if docked or not. This means your image will automatically be scaled down to 720p. Second, the home menu memory is very limited. A bigger image is more likely to crash on boot and would allow for less customization.


'''Q. The news applet crashes.'''<br>
Two reasons: first, the internal resolution of the home menu is 720p no matter if docked or not. This means your image will automatically be scaled down to 720p.  
If you're experiencing crashes with the news applet on your Nintendo Switch, it may be due to using an outdated bflyt patch. Check out the spoiler at the beginning of the thread for more information and use this tool to fix your themes.


'''Q. Are themes compatible with older firmware versions before 5.1.0?'''<br>
Second, the home menu memory is very limited. A bigger image is more likely to crash on boot and would allow for less customization.
While this tool should work for older firmwares, we haven't tested it. If you'd like to try, you'll need to use a common.szs from the firmware version you want to modify and follow the guide provided. If your theme works, please let us know! Note that if you encounter any issues with older firmwares, we may not be able to provide assistance.
 
'''Q. The news applet crashes.'''
 
If you're experiencing crashes with the news applet on your Nintendo Switch, it may be due to using an outdated bflyt patch.
 
Check out the spoiler at the beginning of the thread for more information and use this tool to fix your themes.
 
'''Q. Are themes compatible with older firmware versions before 5.1.0?'''
 
While this tool should work for older firmwares, we haven't tested it. If you'd like to try, you'll need to use a common.szs from the firmware version you want to modify and follow the guide provided.  
 
If your theme works, please let us know! Note that if you encounter any issues with older firmwares, we may not be able to provide assistance.


Update: Version 4.0.1 has been tested and works, but there may be some issues as reported by hax4dayz.
Update: Version 4.0.1 has been tested and works, but there may be some issues as reported by hax4dayz.


'''Q. Can the Switch theme injector app run on Linux?'''<br>
'''Q. Can the Switch theme injector app run on Linux?'''
 
Yes and no. The UI won't work, but you can still create themes using the command line interface (more information available on GitHub). Additionally, you'll need to provide images in DDS file format as the included converter requires DirectX, which is only available on Windows.
Yes and no. The UI won't work, but you can still create themes using the command line interface (more information available on GitHub). Additionally, you'll need to provide images in DDS file format as the included converter requires DirectX, which is only available on Windows.


If you want to stay up-to-date on any future updates or learn more about this project, be sure to join the [https://discord.gg/rqU5Tf8 Discord server] and follow the thread for notifications.
If you want to stay up-to-date on any future updates or learn more about this project, be sure to join the [https://discord.gg/rqU5Tf8 Discord server] and follow the thread for notifications.
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector2.png
https://dlhb.gamebrew.org/switchhomebrews/switchthemeinjector3.png
==Media==
'''Custom Themes Nintendo Switch TUTORIAL ([https://www.youtube.com/watch?v=XRoMpbpkq-s Manito])'''<br>
<youtube>XRoMpbpkq-s</youtube>
==Compatibility==
To use custom themes you need an hacked switch that's at least on Firmware 5.0.


==Changelog==  
==Changelog==  
'''Version 4.7.1 & NXThemesInstaller 2.7.1'''
* Support for 17.0
* Expose [https://github.com/exelix11/SwitchThemeInjector/blob/master/SzsPatching.md patch templates] functionality in the PC theme injector, allows for patching custom szs files
* Minor changes in bflan serialization, mostly for the layout editor
'''Version 4.7 & NXThemesInstaller 2.7'''
'''Version 4.7 & NXThemesInstaller 2.7'''
* Support for firmware 14.0 and 14.1 [https://github.com/exelix11/SwitchThemeInjector/issues/113 #113]
* Support for firmware 14.0 and 14.1 [https://github.com/exelix11/SwitchThemeInjector/issues/113 #113].
* The reboot button now uses spsm instead of bpc, this means the console will shut down properly [https://github.com/exelix11/SwitchThemeInjector/issues/111 #111]
* The reboot button now uses spsm instead of bpc, this means the console will shut down properly [https://github.com/exelix11/SwitchThemeInjector/issues/111 #111].
* Auto update for home menu patches, whenever a new firmware drops if it just needs a new IPS patch it will be downloaded automatically from github as soon as it's available.
* Auto update for home menu patches, whenever a new firmware drops if it just needs a new IPS patch it will be downloaded automatically from github as soon as it's available.
** This means there won't be firmware specific releases anymore unless something major breaks
** This means there won't be firmware specific releases anymore unless something major breaks.
** If you don't want to connect your console to the internet you can download the new patches manually from [https://github.com/exelix11/theme-patches github], there is a guide in the readme.
** If you don't want to connect your console to the internet you can download the new patches manually from [https://github.com/exelix11/theme-patches github], there is a guide in the readme.
** If you want to get notifications for new updates as soon as they're available click watch on the [https://github.com/exelix11/theme-patches theme-patches] repo
** If you want to get notifications for new updates as soon as they're available click watch on the [https://github.com/exelix11/theme-patches theme-patches] repo.
 
[https://github.com/exelix11/SwitchThemeInjector/releases Release notes.]


== External links ==
== External links ==
* Github - https://github.com/exelix11/SwitchThemeInjector
* GitHub - https://github.com/exelix11/SwitchThemeInjector
* Gbatemp - https://gbatemp.net/threads/release-tutorial-switch-theme-injector-easily-make-custom-themes.519036/
* SourceForge - https://sourceforge.net/projects/switch-theme-injector.mirror/
* GBAtemp - https://gbatemp.net/threads/release-tutorial-switch-theme-injector-easily-make-custom-themes.519036/
 
[[Category:GBAtemp Homebrew Bounty 2018]]

Latest revision as of 12:46, 4 Haziran 2024

Switch Theme Injector
Switchthemeinjector.png
General
Authorexelix11
TypeTheme Tools
Version4.7.1_2.7.1
LicenseGPL-2.0
Last Updated2022/10/14
Links
Download
Website
Source
Support Author

The Switch theme injector project is split into three parts.

  • Switch Theme Injector (Windows app) - An app to create and edit custom themes.
  • NXThemes Installer - An homebrew app that runs on the switch itself and can be used to install and manage themes.
  • Switch theme injector online (also called WebInjector) - A port of the Windows injector as a web app, it lacks some features like custom applet icons and common.szs layouts support.

The main objective is to develop a complete toolset to create and install custom themes on the switch. As the console os doesn't implement custom themes natively most of this is done by patching system SZS files to get the desired aspect.

Unfortunately, SZS files from the switch os contain copyrighted data and can't be shared online that's why the nxtheme format has been developed, it contains only differential info and can be freely shared. Unless you're dealing with making your own patches and custom layouts you should only use nxtheme files.

The homebrew was showcased in the GBAtemp Switch Homebrew Bounty 2018 (Tools and Utilities, 3rd place).

Note: while custom themes don't seem to cause bans, when in CFW you should not be connected to the internet or at least you should be using a dns (even if you don't use themes).

Features

  • An app to create and edit custom themes.
  • An homebrew app that runs on the switch itself and can be used to install and manage themes.
  • A port of the windows injector as a web app, it lacks some features like custom applet icons and common.szs layouts support.
  • The main objective is to develop a complete toolset to create and install custom themes on the switch.
  • To use custom themes you need an hacked switch that's at least on Firmware 5.0.
  • Switch theme injector online.

User guide

Installing Themes

The most common scenario for installing themes is to use the theme installer homebrew. Here are the steps to follow:

  • Create a folder called "themes" in the root of your SD card.
  • Copy your themes in either nxtheme or szs format into this folder.
  • Launch the theme installer and select your desired theme to install it.
  • Reboot your console and your new theme should be applied.

Note that each file is a single home menu part (eg just the lockscreen or just the main menu), a full home menu theme is composed by multiple nxtheme files.

To remove a theme just select uninstall in the theme installer. You can just install a different theme to overwrite the currently installed one.

When a new firmware comes out before upgrading (or downgrading) remember to uninstall any theme you have installed to avoid compatibility issues, if you forget your console may not boot untill the theme is removed as explained next.

In case your console doesn't boot anymore due to a bad theme (mostly with szs themes) delete the \atmosphere\contents\01000000001000 folder from your sd (it's \<cfw name>\titles\01000000001000 for old atmosphere and other CFWs), now your console should be booting, launch the theme installer and select uninstall theme to finish the cleanup process.

Making themes

To make themes, you can use either the Theme injector application or the web version.

In the past, themes were distributed as szs files. However, this format is no longer supported because these szs files also contain copyrighted data. Instead, you should only use the nxtheme format.

Making an nxtheme

How to make a theme:

  • Open the windows app.
  • go to the "nxtheme builder" tab.
  • Select the home menu part you want to theme.
  • Click on "..." and open any 1280x720 JPG image (Note that the web version only supports JPG files).
  • If you want, select a custom layout.
  • Click on "Build nxtheme".

Note that if you'd like you can also make a theme with just a custom layout without any bg image, just select a layout without opening any image.

For making themes, you can only use JPG images or DXT1-encoded DDS images. For best quality, it’s better to manually encode the image to DDS so you can have a preview of how it will look like with the compression applied.

Linux support

The GUI only works on Windows. However, on Linux, you can use the CLI through mono. You will need the "mono-complete" package. Then, you should be able to launch the app by running "mono SwitchThemes.exe help".

Command line usage (CLI)

Building nxthemes:

SwitchThemes.exe buildNX home "<your image.png/jpg/dds>" "<json layout file, optional>" "name=<theme name>" "author=<author name>" "out=<OutputPath>.nxtheme"

This will build a theme for the home menu, instead of home you can use: lock for lockscreen, apps for the all apps screen, set for the settings applet, user for the user page applet and news for the news applet. Only the image and out file args are needed.

Other options specific to the theme target such as applet icons are availbale as well, run SwitchThemes.exe help for more info.

Remote install:

Launch the theme installer and select remote install, then run the following command:

SwitchThemes.exe install 192.168.X.Y “<nxtheme/szs file>”

Where 192.168.X.Y is your console IP address.

Custom layouts

Custom layouts are JSON files that allow you to change the appearance of the home menu by moving the UI components. To create a custom layout, you will need the original home menu szs files found in /themes/systemData on your SD card (if you ever used the theme installer) and a tool capable of editing them like the Switch Layout Editor.

You can find more information about layouts and the supported properties here.

For layout editing, read the Layout editor wiki to get started. Parts of the main home menu layout are documented in this repo wiki.

FAQ

Q. Can a custom theme brick my switch?

No, custom themes are applied through layered fs, so no change is made to your NAND.

Q. The theme installer crashes on launch or just fails to install themes.

There are two main causes: the archive bit is set for the themes folder and the SD card is corrupted. The former happens mainly if you use a Mac but really depends on how you create the themes folder. The latter is often caused by exFAT on your SD card. Try to delete the themes folder and launch the installer, and it will create it again. Now just copy the themes, and it should work.

If it still doesn't work, it could be corruption. In this case, the best option is to backup the SD contents and format it to FAT32. If you have games installed, don't worry as the Switch OS automatically splits them into <4GB parts so they work on every SD.

Q. I installed a theme and now my switch crashes on boot or I had a custom theme, then I updated my console and now it crashes on boot.

Delete the /titles/0100000000001000 and/or /titles/0100000000000811 folders from the CFW folder on your SD card.

At this point, your console will boot up normally. To clean up any leftovers, launch the theme installer and select “uninstall theme”.

Q. Why are nxtheme files better than SZS?

They're legal. This means they can be freely shared, and they are firmware-independent so they can be installed on any firmware.

It is also a more flexible format that can be extended in the future to support more features such as theme packs.

Q. Why only 720p images? I want to use a 1080p or 4K one!

Two reasons: first, the internal resolution of the home menu is 720p no matter if docked or not. This means your image will automatically be scaled down to 720p.

Second, the home menu memory is very limited. A bigger image is more likely to crash on boot and would allow for less customization.

Q. The news applet crashes.

If you're experiencing crashes with the news applet on your Nintendo Switch, it may be due to using an outdated bflyt patch.

Check out the spoiler at the beginning of the thread for more information and use this tool to fix your themes.

Q. Are themes compatible with older firmware versions before 5.1.0?

While this tool should work for older firmwares, we haven't tested it. If you'd like to try, you'll need to use a common.szs from the firmware version you want to modify and follow the guide provided.

If your theme works, please let us know! Note that if you encounter any issues with older firmwares, we may not be able to provide assistance.

Update: Version 4.0.1 has been tested and works, but there may be some issues as reported by hax4dayz.

Q. Can the Switch theme injector app run on Linux?

Yes and no. The UI won't work, but you can still create themes using the command line interface (more information available on GitHub). Additionally, you'll need to provide images in DDS file format as the included converter requires DirectX, which is only available on Windows.

If you want to stay up-to-date on any future updates or learn more about this project, be sure to join the Discord server and follow the thread for notifications.

Screenshots

switchthemeinjector2.png

switchthemeinjector3.png

Media

Custom Themes Nintendo Switch TUTORIAL (Manito)

Compatibility

To use custom themes you need an hacked switch that's at least on Firmware 5.0.

Changelog

Version 4.7.1 & NXThemesInstaller 2.7.1

  • Support for 17.0
  • Expose patch templates functionality in the PC theme injector, allows for patching custom szs files
  • Minor changes in bflan serialization, mostly for the layout editor

Version 4.7 & NXThemesInstaller 2.7

  • Support for firmware 14.0 and 14.1 #113.
  • The reboot button now uses spsm instead of bpc, this means the console will shut down properly #111.
  • Auto update for home menu patches, whenever a new firmware drops if it just needs a new IPS patch it will be downloaded automatically from github as soon as it's available.
    • This means there won't be firmware specific releases anymore unless something major breaks.
    • If you don't want to connect your console to the internet you can download the new patches manually from github, there is a guide in the readme.
    • If you want to get notifications for new updates as soon as they're available click watch on the theme-patches repo.

Release notes.

External links

Advertising: