Hacking Custom Boot Logo for Switch

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
AFAIK there isn't unless you did some recompiling or something I've not honestly looked I don't mind that Atmos logo

EDIT: this is no longer correct. see updated info below.

Correct…the built in Atmo logo is a sort of anti-piracy feature built into the signed atmosphere code Intended to hinder folks from using code without credit. You can compile it out but you won’t be able to sign the new code so you’ll be stuck.
 
Last edited by binkinator,
Joined
Sep 9, 2019
Messages
904
Trophies
1
Location
Switch scene
Website
github.com
XP
2,663
Country
Korea, North
Correct…the built in Atmo logo is a sort of anti-piracy feature built into the signed atmosphere code Intended to hinder folks from using code without credit. You can compile it out but you won’t be able to sign the new code so you’ll be stuck.
That was only true for the Sept payload, which is now deprecated. The Atmosphere logo splash can be edited and I have done so myself, although it was pre-covid so it has been a while.

If I recall correctly this is the line that actually draws the logo on screen, you will have to edit the width and height of the image as well as the X Y coordinates here.
https://github.com/Atmosphere-NX/At...sphere/boot/source/boot_splash_screen.cpp#L40

The actual splash screen image is a raw RGB framebuffer stored in a unsigned 32 bit integer array. I did create a tool to automatically generate the array from a PNG but I don't think I have it anymore, if I do have it I don't know where I put it.

https://github.com/Atmosphere-NX/At...ere/boot/source/boot_splash_screen_notext.inc

You can edit this line to adjust how long the logo shows for. The default is 2 seconds, I don't know if you can make it any lower since there may be another thread doing stuff in the background that takes at least 2 seconds to complete it's task. https://github.com/Atmosphere-NX/At...sphere/boot/source/boot_splash_screen.cpp#L41
 
  • Like
Reactions: laz305

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
That was only true for the Sept payload, which is now deprecated. The Atmosphere logo splash can be edited and I have done so myself, although it was pre-covid so it has been a while.

If I recall correctly this is the line that actually draws the logo on screen, you will have to edit the width and height of the image as well as the X Y coordinates here.
https://github.com/Atmosphere-NX/At...sphere/boot/source/boot_splash_screen.cpp#L40

The actual splash screen image is a raw RGB framebuffer stored in a unsigned 32 bit integer array. I did create a tool to automatically generate the array from a PNG but I don't think I have it anymore, if I do have it I don't know where I put it.

https://github.com/Atmosphere-NX/At...ere/boot/source/boot_splash_screen_notext.inc

You can edit this line to adjust how long the logo shows for. The default is 2 seconds, I don't know if you can make it any lower since there may be another thread doing stuff in the background that takes at least 2 seconds to complete it's task. https://github.com/Atmosphere-NX/At...sphere/boot/source/boot_splash_screen.cpp#L41

So you can follow something like this https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/building.md and build/run your own atmosphere? I could have sworn I read a thread somewhere that you needed something signed to make that happen.
 
  • Like
Reactions: CompSciOrBust
Joined
Sep 9, 2019
Messages
904
Trophies
1
Location
Switch scene
Website
github.com
XP
2,663
Country
Korea, North
So you can follow something like this https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/building.md and build/run your own atmosphere? I could have sworn I read a thread somewhere that you needed something signed to make that happen.
Yes. The only part of Atmosphere that was signed was Sept. That was signed by necessity and it wasn't legal to share the keys for the tsec. Now Atmosphere exploits the tsec instead of using a payload so signing isn't needed.
 
  • Like
Reactions: binkinator

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
Yes. The only part of Atmosphere that was signed was Sept. That was signed by necessity and it wasn't legal to share the keys for the tsec. Now Atmosphere exploits the tsec instead of using a payload so signing isn't needed.

Nice. Going to try it.

I guess all the second guessing about SciresM’s motives in that thread have been proven wrong.
 
  • Like
Reactions: CompSciOrBust

ccarr6257

Member
Newcomer
Joined
Feb 22, 2022
Messages
23
Trophies
0
Age
28
Location
uk
XP
232
Country
United Kingdom
@chronoss any chance u got an updated version of these images the one of crash or the mario one which replace the typical nintendo switch logo on boot up, im on firmware 13.1.0 on my emunand. atmosphere 1.2.6
 
Last edited by ccarr6257,
  • Like
Reactions: chronoss

laz305

Well-Known Member
Member
Joined
Jul 31, 2008
Messages
879
Trophies
1
XP
1,689
Country
United States
Ok how does the custom boot logo work? Cuz what I download is a folder and they say to put it inside atmosphere/exefs_patches So will be atmosphere/exefs_patches/folder I downloaded? Can I have more than one here? If so how will it know which boot logo to use? Or does it want me to put the files into exefs_patches folder?
 
  • Like
Reactions: chronoss

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
Ok how does the custom boot logo work?
yes…but the ones here are going to need to be updated to work with 14.0.0
Cuz what I download is a folder and they say to put it inside atmosphere/exefs_patches So will be atmosphere/exefs_patches/folder I downloaded?
corre…. Once you have an updated set of ips files in a folder_name they will be placed in atmosphere/exefs_patches/folder_name/
Can I have more than one here?
No…there can be only one set. Delete the old set before you move new files in.
If so how will it know which boot logo to use? Or does it want me to put the files into exefs_patches folder?

UPDATE: This worked! Update your installation of https://github.com/friedkeenan/switch-logo-patcher

I attached my working source png file I successfully used so you can test your own skills with a known working png.

nintendont.png


I'm also attaching my custom Nintendont zip as a working example.

Just unzip it on your pc and then place the nintendont folder under /atmosphere/exefs_patches so it will look like this:

1648414037771.png


Here's what I used on 13.x https://github.com/friedkeenan/switch-logo-patcher

There are instructions in the README.md

I just upgraded to 14 so I'm going to update mine here in a bit and see if they still work or if there needs to be an update for the new firmware.

edit: Looks like the author believes it's updated:

https://github.com/friedkeenan/switch-logo-patcher/issues/13
https://github.com/friedkeenan/switch-logo-patcher/pull/12

Here's the diff between the two (no friggin clue what this does...)

1648411311240.png


# Switch Logo Patcher

Creates the IPS patches needed to replace the Switch logo on boot.

The logo you want to change the Switch logo to must be the same size as the original logo, which is 308x350. Anything else and the program won't let you progress.

You don't need to dump the original logo to use this, but if you don't specify the original logo, each patch will be 400+ KiB.

### Usage

```
usage: gen_patches.py [-h] [-o OLD_LOGO] patches_dir new_logo

positional arguments:
patches_dir The directory where the generated patches will be
dumped
new_logo The new logo image

optional arguments:
-h, --help show this help message and exit
-o OLD_LOGO, --old_logo OLD_LOGO
The original logo image
 

Attachments

  • nintendont.zip
    415.8 KB · Views: 111
Last edited by binkinator,

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
Awesome!!!!! Thanks @binkinator that one worked on 14.0 Can we update old boot logos to work on 14.0? Cuz I got one I really want

You absolutely can! Just download the code from GitHub, read the README.md on the main page, set up python and run the script as indicated and yiu can make all the screens you want.
 
  • Like
Reactions: laz305

laz305

Well-Known Member
Member
Joined
Jul 31, 2008
Messages
879
Trophies
1
XP
1,689
Country
United States
You absolutely can! Just download the code from GitHub, read the README.md on the main page, set up python and run the script as indicated and yiu can make all the screens you want.
Thanks I tried. Can ya maybe show me how in a video?
 

Attachments

  • py.png
    py.png
    15.4 KB · Views: 89

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
Thanks I tried. Can ya maybe show me how in a video?
Look in the requirements.txt file…there are some dependencies. To meet and install the requirements do this:

pip3 install -r requirements.txt

(you probably want to do this from a cmd.exe window btw…same thing for running the script. just cd into the directory where you unzipped the source.)
 
Last edited by binkinator,
  • Like
Reactions: laz305

laz305

Well-Known Member
Member
Joined
Jul 31, 2008
Messages
879
Trophies
1
XP
1,689
Country
United States
Look in the requirements.txt file…there are some dependencies. To meet and install the requirements do this:

pip3 install -r requirements.txt
Thanks but I wouldn’t be asking if I could follow what the readme says to do. Can I get some more detail please? What I want to do is update old boots to work on 14.0. So all I got are the ips files.
 
  • Like
Reactions: binkinator

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
6,511
Trophies
2
XP
6,157
Country
United States
In case folks want to roll their own, here are detailed instructions for how to get set up.

Good article on getting python and pip (you need both) installed on Windows: https://www.liquidweb.com/kb/install-pip-windows/

Download the script by going here: https://github.com/friedkeenan/switch-logo-patcher

Click the blue Code button and select Download ZIP and then unzip the directory somewhere easy to get to.
FCB2EA81-CD2D-4CFC-B918-795FB6639E2A.jpeg


Open a cmd.exe window and cd to the easy to get to directory and type the following:

Code:
python -m pip install -r requirements.txt

Once that’s successful your are ready to patch!

I’ve attached my 308x350 png file again for you to copy into the same directory as a proof of concept.

here’s the command:

Code:
python gen_patches.py patches_dir new_logo

new_logo=the name of the 308x350 .png file you copied into this directory that you want patched into files. If you download the attached proof of concept file it would be F44C1AC8-3310-4EA5-BFFB-1F682120F3B8.png

patches_dir=use whatever directory name makes sense to you. You will copy this entire directory over to /atmosphere/exefs_patches/ when you are done.



Here’s the readme again.

# Switch Logo Patcher

Creates the IPS patches needed to replace the Switch logo on boot.

The logo you want to change the Switch logo to must be the same size as the original logo, which is 308x350. Anything else and the program won't let you progress.

You don't need to dump the original logo to use this, but if you don't specify the original logo, each patch will be 400+ KiB.

### Usage

```
usage: gen_patches.py [-h] [-o OLD_LOGO] patches_dir new_logo

positional arguments:
patches_dir The directory where the generated patches will be
dumped
new_logo The new logo image

optional arguments:
-h, --help show this help message and exit
-o OLD_LOGO, --old_logo OLD_LOGO
The original logo image
 

Attachments

  • F44C1AC8-3310-4EA5-BFFB-1F682120F3B8.png
    F44C1AC8-3310-4EA5-BFFB-1F682120F3B8.png
    25.6 KB · Views: 152

chronoss

Well-Known Member
OP
Member
Joined
May 26, 2015
Messages
3,010
Trophies
1
XP
4,920
Country
Congo, Republic of the

Attachments

  • nWo - new World order Switch Bootlogo 14.0.0 by Chronoss.rar
    1.2 MB · Views: 70

laz305

Well-Known Member
Member
Joined
Jul 31, 2008
Messages
879
Trophies
1
XP
1,689
Country
United States
I need the logo in PNG format !!!


No problemo and here is your nWo Boot Logo :)
wow I am so sorry, but this is such a mission lol I'm stuck on step 1 already. I get this when trying to install
C:\Users\Laz>python get-pip.py
Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases.

Here is boot I need
https://drive.google.com/file/d/1R6ud-pYHs70azh3IwolAAM7nWsGKPXx6/view?usp=sharing
and this is what Hekate use to look like but looks like images need to be updated
nyx20260928_064532.png

nyx20260928_064551.png
 
Last edited by laz305,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: You gotta chase that lol