More actions
m (HydeWing moved page Argon NX Switch to ArgonNX Switch without leaving a redirect) |
No edit summary |
||
Line 1: | Line 1: | ||
{{Infobox Switch Homebrews | {{Infobox Switch Homebrews | ||
|title=Argon NX | |title=Argon NX | ||
|image= | |image=argonnx.png | ||
|description= | |description=GUI payload chainloader for Nintendo Swtich. | ||
|author=Guillem96 | |author=Guillem96 | ||
|lastupdated=2019/09/07 | |lastupdated=2019/09/07 | ||
Line 8: | Line 8: | ||
|version=1.1-alpha | |version=1.1-alpha | ||
|license=GPL-2.0 | |license=GPL-2.0 | ||
|download=https://dlhb.gamebrew.org/switchhomebrews/ | |download=https://dlhb.gamebrew.org/switchhomebrews/argonnx.7z | ||
|website=https:// | |website=https://www.reddit.com/r/SwitchHaxing/comments/d0x7y0/release_argonnx_v11_alpha/ | ||
|source=https://github.com/Guillem96/argon-nx | |source=https://github.com/Guillem96/argon-nx | ||
|donation= | |donation= | ||
}} | }} | ||
Argon is a noble gas. "Argon" comes from Greek "Argon", neuter of "argos" meaning lazy, idle or inactive. Argon recieved this name because of its chemical inactivity. | |||
| | Argon NX is an immutable payload which is injected to your Nintendo Switch via Fusee Gelee exploit. | ||
| | |||
| | The purpose of Argon NX is to stay immutable, so you can always inject it, without caring about other payloads getting updated (Always use ArgonNX for TegraSmash, TegraGUI, TrinkedM0...). | ||
==Features== | |||
*Autolaunch/autochainload the payload named <code>payload.bin</code> inside argon directory in your sd card root. | |||
*If <code>argon/payload.bin</code> is not found or <code>VOLUME_DOWN_BUTTON</code> is held during ArgonNX injection, ArgonNX will list all the payloads located at <code>argon/payloads</code>, so you can select one of them to launch it. | |||
*Customize payloads' logos. Logos must be smaller or equal than 280x280 (See [[#About BMP format|About BMP format]] section). | |||
*Custom backgrounds can be added by placing <code>background.bmp</code> file inside argon directory. The background must be smaller or equal than 1280x720. | |||
*Take screenshots to share your ArgonNX gui. To capture ArgonNX screen tap anywhere with two or more fingers. | |||
*Touch support. Thanks to @pixel-stuck. | |||
*Simple tools. (Don't expect tools like the onew built in hekate, argon tools are much more lightweighted and simple, such as reboot options) | |||
*Command Line Interface (CLI) to facilitate the procedure to create bmp files for custom logos and backgrounds. | |||
==Installation== | |||
Download and unzip argon-nx.zip, it contains all the needed resources to run argon. | |||
Drag and drop argon folder on the sd card root. | |||
(Optional) Remember you can add your custom logos and payloads inside argon/logos and argon/payloads. | |||
Inject the argon-nx.bin payload to your switch in RCM mode using tegrasmash or TegraGUI. | |||
==User guide== | |||
===Custom payload logo=== | |||
Folder structure: | |||
argon | |||
├───logos | |||
│ fusee-primary.bmp # Logo for fusee-primary.bin payload | |||
│ ReiNX.bmp # Logo for ReiNX.bin payload | |||
│ | |||
└───payloads | |||
fusee-primary.bin | |||
ReiNX.bin | |||
hekate.bin # Will be rendered using default logo | |||
===About BMP format=== | |||
The only format supported is BMP 32 bit ARGB color. ArgonNX recommends using a solid background without alpha channel (alpha channel set to 0xFF). Payloads' logos support alpha channel. | |||
ArgonNX provides a useful Command Line Interface (CLI) to create new logos and backgrounds for your payloads using a jpg or png images. | |||
'''CLI installation:''' | |||
The Argon CLI is written in Python. To install python follow the instructions listed [https://realpython.com/installing-python/ here]. Once you have python3 installed just type the following commands (These will install the requirements for running the CLI): | |||
$ cd scripts | |||
$ pip install -r requirements.txt | |||
$ sudo apt-get install libmagickwand-dev | |||
(If you are using Windows visit [http://docs.wand-py.org/en/0.4.1/guide/install.html Wand's installation page] and follow the steps to install libmagikcwand on Windows.) | |||
'''CLI Usage:''' | |||
To generate a new logo use the following command. | |||
$ cd scripts | |||
$ python argon.py img-to-logo <path-to-png-jpg-img> | |||
To generate a new background use the following command. | |||
$ cd scripts | |||
$ python argon.py generate-background <path-to-png-jpg-img> | |||
The CLI stores the outputs of the commands at the recently created (also by the CLI) sd-files/argon directory (This directory simulates an sd-card argon structure). | |||
To learn more about the CLI options type: | |||
$ python argon.py --help | |||
===ArgonNX SD card tree=== | |||
How a full running ArgonNX example looks inside the sd card: | |||
argon | |||
├─── payloads | |||
│ Atmosphere.bin | |||
│ ReiNX.bin | |||
│ fusee-gelee.bin | |||
│ hekate.bin | |||
│ SXOS.bin | |||
│ | |||
├─── logos | |||
| Atmosphere.bmp | |||
| Reinx.bmp | |||
| hekate.bmp | |||
| SXOS.bmp | |||
| | |||
├─── sys | |||
| minerva.bso # IMPORTANT if you want a good UX experience | |||
| resources.argon # IMPORTANT. Binary file containing all render resources except the background and logos | |||
| | |||
└─── background.bmp | |||
===Improve performance=== | |||
ArgonNX can use minerva training cell to improve performance. The use of minerva is optional but recommended. To use minerva just place the compiled <code>minerva.bso</code> inside <code>argon/sys</code>. The directory <code>argon/sys</code> with minerva, is included in <code>sd-files.zip</code> in the release section. | |||
To learn more about Minerva Training Cell check its [https://github.com/CTCaer/minerva_tc official repo]. | |||
===FAQ=== | |||
'''Q. How can it be immutable?''' | |||
When Argon NX is injected, it automatically launches the payload.bin loacted at argon directory on your SD Card root. | |||
If payload.bin is not present or VOLUME DOWN button is pressed on payload injection, Argon NX will list all payloads located at argon/payloads, and you will be able to select one of them to launch it. | |||
==Screenshots== | ==Screenshots== | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/argonnx2.png | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/argonnx3.png | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/argonnx4.png | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/argonnx5.png | ||
==Compatibility== | |||
This payload will chainload any CFW or payload. | |||
==Changelog== | ==Changelog== | ||
''' | '''v1.1-alpha''' | ||
* | *Fixing critical bug. Now ArgonNX launches using any payload sender. | ||
*Argon now is composed by 2 payloads (2 stages). | |||
**First stage configures hardware. | |||
**Second stage loads the GUI. | |||
*Bootlogo/splash and wait until GUI is loaded. | |||
*Improve system stability to enhance user experience. | |||
'''v1.0-alpha''' | |||
*ArgonNX's UI has been rewritten using [https://github.com/Guillem96/argon-nx/blob/1.0-alpha LittlevGL] library. This rewrite has a lot of benefits. Some benefits include: | |||
**Prettier font. | |||
**Faster rendering. | |||
**Better touch support. | |||
**In general terms improves UX. | |||
*Now payloads are listed inside tabviews where each tab contains a group of 4 payloads. | |||
*New tab of tools. By now tools only are related to reboot stuff (reboot to rcm, power off, reboot to ofw). | |||
*Background size back to 1280*720. No more weird image flippings. | |||
*ArgonNX Command Line Interface to simplify the process to create logos and backgrounds. | |||
*Now there is no need to declare a default.bmp logo inside the argon/logos directory. | |||
*Improve system stability to enhance user experience. | |||
'''v0.3''' | |||
*Now background must be in a vertical position. New background size must be smaller or equal than 720x1280. (Performance reasons). | |||
*Using double buffering for rendering in order to avoid flickering and also improve performance. | |||
*Fully touch support. Thanks to @pixel-stuck. | |||
*Now payloads are sorted by name. | |||
*Correctly deallocate argon-nx from memory when launching payloads. | |||
*Improve system stability to enhance user experience. | |||
'''v0.2''' | |||
*Cancel autolaunch/autochainloading of argon/payload.bin by holding VOL_DOWN_BUTTON when ArgonNX is booting. | |||
*Minerva training to improve performance. | |||
*Custom background. Just place your custom background inside argon directory and name it background.bmp. Use of custom background is optional. | |||
*Custom title. Just place your custom title inside argon directory and name it title.bmp. Use of custom title is optional. | |||
*By default ArgonNX uses dark background instead of the white one in v0.1. | |||
*Payloads' names now are centred below the logo. | |||
*Partial touch support. To enable touch support create an empty file called touch inside argon directory. | |||
*Take Screenshots to share your argon configuration. | |||
*Improve system stability to enhance user experience. | |||
==Credits== | |||
*devkitPro for the [https://devkitpro.org/ devkitA64] toolchain. | |||
*naehrwert and st4rk for the original [https://github.com/nwert/hekate hekate] project and its hwinit code base. | |||
*CTCaer for the continued [https://github.com/CTCaer/hekate hekate] and his minerva project. | |||
*xalgovia and Retrogamer 74 for the splash and logos. Also thanks them to use ArgonNX in RetroReloaded. | |||
*langerhans and stuck-pixel for their implementation of touch support. | |||
*LittlevGL for being such a good embedded graphics library. | |||
*D3fau4 for touch support testing. | |||
== External links == | == External links == | ||
* | * GitHub - https://github.com/Guillem96/argon-nx | ||
* | * Reddit - https://www.reddit.com/r/SwitchHaxing/comments/d0x7y0/release_argonnx_v11_alpha/ | ||
Latest revision as of 15:43, 22 April 2023
Argon NX | |
---|---|
General | |
Author | Guillem96 |
Type | Payload (Binaries) |
Version | 1.1-alpha |
License | GPL-2.0 |
Last Updated | 2019/09/07 |
Links | |
Download | |
Website | |
Source | |
Argon is a noble gas. "Argon" comes from Greek "Argon", neuter of "argos" meaning lazy, idle or inactive. Argon recieved this name because of its chemical inactivity.
Argon NX is an immutable payload which is injected to your Nintendo Switch via Fusee Gelee exploit.
The purpose of Argon NX is to stay immutable, so you can always inject it, without caring about other payloads getting updated (Always use ArgonNX for TegraSmash, TegraGUI, TrinkedM0...).
Features
- Autolaunch/autochainload the payload named
payload.bin
inside argon directory in your sd card root. - If
argon/payload.bin
is not found orVOLUME_DOWN_BUTTON
is held during ArgonNX injection, ArgonNX will list all the payloads located atargon/payloads
, so you can select one of them to launch it. - Customize payloads' logos. Logos must be smaller or equal than 280x280 (See About BMP format section).
- Custom backgrounds can be added by placing
background.bmp
file inside argon directory. The background must be smaller or equal than 1280x720. - Take screenshots to share your ArgonNX gui. To capture ArgonNX screen tap anywhere with two or more fingers.
- Touch support. Thanks to @pixel-stuck.
- Simple tools. (Don't expect tools like the onew built in hekate, argon tools are much more lightweighted and simple, such as reboot options)
- Command Line Interface (CLI) to facilitate the procedure to create bmp files for custom logos and backgrounds.
Installation
Download and unzip argon-nx.zip, it contains all the needed resources to run argon.
Drag and drop argon folder on the sd card root.
(Optional) Remember you can add your custom logos and payloads inside argon/logos and argon/payloads.
Inject the argon-nx.bin payload to your switch in RCM mode using tegrasmash or TegraGUI.
User guide
Custom payload logo
Folder structure:
argon ├───logos │ fusee-primary.bmp # Logo for fusee-primary.bin payload │ ReiNX.bmp # Logo for ReiNX.bin payload │ └───payloads fusee-primary.bin ReiNX.bin hekate.bin # Will be rendered using default logo
About BMP format
The only format supported is BMP 32 bit ARGB color. ArgonNX recommends using a solid background without alpha channel (alpha channel set to 0xFF). Payloads' logos support alpha channel.
ArgonNX provides a useful Command Line Interface (CLI) to create new logos and backgrounds for your payloads using a jpg or png images.
CLI installation:
The Argon CLI is written in Python. To install python follow the instructions listed here. Once you have python3 installed just type the following commands (These will install the requirements for running the CLI):
$ cd scripts $ pip install -r requirements.txt $ sudo apt-get install libmagickwand-dev
(If you are using Windows visit Wand's installation page and follow the steps to install libmagikcwand on Windows.)
CLI Usage:
To generate a new logo use the following command.
$ cd scripts $ python argon.py img-to-logo <path-to-png-jpg-img>
To generate a new background use the following command.
$ cd scripts $ python argon.py generate-background <path-to-png-jpg-img>
The CLI stores the outputs of the commands at the recently created (also by the CLI) sd-files/argon directory (This directory simulates an sd-card argon structure).
To learn more about the CLI options type:
$ python argon.py --help
ArgonNX SD card tree
How a full running ArgonNX example looks inside the sd card:
argon ├─── payloads │ Atmosphere.bin │ ReiNX.bin │ fusee-gelee.bin │ hekate.bin │ SXOS.bin │ ├─── logos | Atmosphere.bmp | Reinx.bmp | hekate.bmp | SXOS.bmp | ├─── sys | minerva.bso # IMPORTANT if you want a good UX experience | resources.argon # IMPORTANT. Binary file containing all render resources except the background and logos | └─── background.bmp
Improve performance
ArgonNX can use minerva training cell to improve performance. The use of minerva is optional but recommended. To use minerva just place the compiled minerva.bso
inside argon/sys
. The directory argon/sys
with minerva, is included in sd-files.zip
in the release section.
To learn more about Minerva Training Cell check its official repo.
FAQ
Q. How can it be immutable?
When Argon NX is injected, it automatically launches the payload.bin loacted at argon directory on your SD Card root.
If payload.bin is not present or VOLUME DOWN button is pressed on payload injection, Argon NX will list all payloads located at argon/payloads, and you will be able to select one of them to launch it.
Screenshots
Compatibility
This payload will chainload any CFW or payload.
Changelog
v1.1-alpha
- Fixing critical bug. Now ArgonNX launches using any payload sender.
- Argon now is composed by 2 payloads (2 stages).
- First stage configures hardware.
- Second stage loads the GUI.
- Bootlogo/splash and wait until GUI is loaded.
- Improve system stability to enhance user experience.
v1.0-alpha
- ArgonNX's UI has been rewritten using LittlevGL library. This rewrite has a lot of benefits. Some benefits include:
- Prettier font.
- Faster rendering.
- Better touch support.
- In general terms improves UX.
- Now payloads are listed inside tabviews where each tab contains a group of 4 payloads.
- New tab of tools. By now tools only are related to reboot stuff (reboot to rcm, power off, reboot to ofw).
- Background size back to 1280*720. No more weird image flippings.
- ArgonNX Command Line Interface to simplify the process to create logos and backgrounds.
- Now there is no need to declare a default.bmp logo inside the argon/logos directory.
- Improve system stability to enhance user experience.
v0.3
- Now background must be in a vertical position. New background size must be smaller or equal than 720x1280. (Performance reasons).
- Using double buffering for rendering in order to avoid flickering and also improve performance.
- Fully touch support. Thanks to @pixel-stuck.
- Now payloads are sorted by name.
- Correctly deallocate argon-nx from memory when launching payloads.
- Improve system stability to enhance user experience.
v0.2
- Cancel autolaunch/autochainloading of argon/payload.bin by holding VOL_DOWN_BUTTON when ArgonNX is booting.
- Minerva training to improve performance.
- Custom background. Just place your custom background inside argon directory and name it background.bmp. Use of custom background is optional.
- Custom title. Just place your custom title inside argon directory and name it title.bmp. Use of custom title is optional.
- By default ArgonNX uses dark background instead of the white one in v0.1.
- Payloads' names now are centred below the logo.
- Partial touch support. To enable touch support create an empty file called touch inside argon directory.
- Take Screenshots to share your argon configuration.
- Improve system stability to enhance user experience.
Credits
- devkitPro for the devkitA64 toolchain.
- naehrwert and st4rk for the original hekate project and its hwinit code base.
- CTCaer for the continued hekate and his minerva project.
- xalgovia and Retrogamer 74 for the splash and logos. Also thanks them to use ArgonNX in RetroReloaded.
- langerhans and stuck-pixel for their implementation of touch support.
- LittlevGL for being such a good embedded graphics library.
- D3fau4 for touch support testing.