Hekate - CTCaer mod
Hekate ist in der griechischen Mythologie die Göttin der Magie......Upps! Ich meine, es handelt sich dabei um ein custom Bootloader/Package1-Ersatz und Firmware Patcher für die Nintendo Switch. Damit lässt sich ein gepatchter Kernel laden, aber bspw. mit der Modifikation von CTCaer (Fork) auch der NAND dumpen und injizieren. CTCaer mod basiert nämlich auf naehrwert's repo hekate - ipl.
Der hekate Mod unterstützt derzeit alle Switch-Firmwares und soll auch alle zukünftige Firmwares der Switch unterstützen, da sie durch einen Fehler im Tegra Recovery Mode (RCM) ausgeführt wird, welcher nur mithilfe einer neuen Hardware-Revision behoben werden kann.
Überblick:
- Unterstützt alle Firmwares
- CFW Autoboot Launching/Konfiguration
- Voller Atmosphère Support z.B. das Booten von Exosphère
- eMMC Dumping
- Zurückflashen von eMMC Dateien (hier ist Vorsicht geboten, bei falscher Verwendung kann es zu einem Full-Brick der Konsole führen)
- emuMMC Backup & Restore
- NYX GUI mit emuMMC und Customization Support
Features:
--> Launch Firmware
Über hekate können verschiedene Custom Firmware in verschiedener Ausführung gebootet werden. Außerdem lässt sich darüber auch ins normal System booten.
Unter anderem sind folgende Bootoptionen verfügbar:
- Hekate: Standard (unterstützt das HBMenu)
- LayeredFS: Mit LayeredFS-Support für bspw. ROM-Hacks (SD://atmosphere/titles/TITLEID/romfs.bin) – nicht auf jeder Firmware nutzbar!
- CFW Atmosphère-NX
- Horizon OS: Die OFW der Switch
- und vieles andere mehr...
Tools
--> eMMC/NAND Dumps/Restore Verifizierung
Dieser Mod unterstützt exFAT und bietet die zusätzliche Option zum Dumpen/Einspielen der User- und System-Partition des eMMC. Nach Backup der Partition werden diese in Verwendung der SHA256-Prüfsumme auf die SD Karte erstellt und vor der Wiederherstellung verifiziert. Wenn der Balken grün wird, prüft hekate, ob die geschriebenen Daten der SD-Karte und die eMMC-Daten übereinstimmen.
--> Backup eMMC BOOT0/1 ( Wichtig! )
Diese werden benötigt, um das ganze eMMC Abbild zu vervollständigen.
--> Backup eMMC RAW GPP ( Wichtig! )
RAW GPP enthält alle weitere Partitionen (ausser BOOT0/BOOT1 ) des eMMC, sowie die System- als auch die User-Partition der Switch sind darin enthalten.
--> Backup eMMC SYS (Sofern RAW GPP gesichert ist, optional)
Mit dieser Option könnt ihr alle system-relevante Partitionen, außer User-Partition, als separate Dateien sichern.
--> Backup eMMC USER (Optional)
Die hier dumpt nur die Partition für die User Dateien, die über 26,0 GB gross ist, unabhängig davon, was ihr an Daten drauf habt.
--> Dump package1 (nicht erforderlich)
Hierbei wird die package1 von BOOT0 ausgelesen und entschlüsselt. Es extrahiert auch die secure monitor- und warmboot-Binärdateien. Diese Funktion ist für Entwickler gedacht.
Console Info
Burnt Fuses
Es zeigt Informationen über die Tegra X1 fuses auf den Bildschirm an, somit lassen sich die Anzahl der durchgebrannten und der verfügbaren eFUSEs ermitteln. Die lassen auch als Datei auf sie SD-Karte exportieren, damit sie leichter untersucht werden können.
--> TSEC keys:
Hiermit lässt sich der Sicherheitsschlüssel des SoC Tegra X1 anzeigen.
--> eMMC info:
Verschiedene Informationen über den eMMC können angesehen werden: Speicherplatz, maximale Lese- und Schreibgeschwindigkeit, Hersteller, Modell und alle enthaltene Partitionen etc.
--> Print SD Card info:
Informationen über SD-Karte werden hier angezeigt: wie maximale Geschwindigkeitsklassen und erlaubte Geschwindigkeitsstufen, Hersteller und Modell, Gesamtspeicherplatz, freier Speicherplatz, Clustergröße etc.
--> battery info:
Viele Informationen über den Akku der Switch lässt sich hier anzeigen.
--> AutoRCM (Riskant!):
Der AutoRCM, auch bekannt als briccmii von rajkosto, basiert auf Reisyukaku´s AutoRCMv2 und beschädigt die ersten Boot-Konfiguration in der BOOT0.
Dadurch kann der Benutzer immer in RCM booten/neustarten, ohne das der PIN 10 gegroundet werden muss. Da er auf den eMMC schreibt, gilt er als äußerst gefährlich und muss nur bei Bedarf und mit Vorsicht verwendet werden.
Hinweis: Die verschiedenen Auto-RCM Lösungen (briccmii, SX OS ...) sind untereinander nicht kompatibel. Das heißt, wenn z.B. über briccmii der auto RCM installiert/verwendet wird, lässt sich dieser auch nur über briccmii wieder deinstallieren.
Options
v5.5.5
Latest HOS supported: 12.0.0
New in this version
- HOS 12.0.0 Support
- Add USB3.0 enable via exosphere support (needed for 9.0.0 and up)
- Add Seamless Display support for L4T Linux/Android.
- Ensure RAM Overclocking is disabled when booting stock to fix sleep issues
- Minerva was updated with more accurate clock trimmers
- Optional voltage change was added to minerva when RAM OC is used via compiler flags
This removes the need for hekate main to be recompiled. Max allowed voltage is 1250mV.
emuMMC
- HOS 12.0.0 Support
Nyx v1.0.2
- HOS 12.0.0 Support
- Hybrid MBR fixer is now smarter. It can detect a hos partition everywhere and properly rearrange extra partitions in MBR.
- Report GPIO ID in case Touch Panel is unknown
- Properly check if eMMC GPT is valid before parsing it
- Refresh SD card calibration when using UMS or benchmarking for faster ops
- Migration option Fix Raw, now tells user that it also fixes partition type.
- Add new touch panel in info
- Check for errors when benchmarking
v5.5.4-v2
Latest HOS supported: 11.0.1
New in this version Nothing changed in hekate main. Check v5.5.4 & Nyx v1.0.0 changelog if you want to learn more.
Nyx v1.0.1
- Fixed error 2002-4686 on resized emuMMC
There was a bug where the driver would do a read instead of write.
If you get that error, there's no need for repartition. Just run creation again.
As a reminder, here's what resized emuMMC is:
User can now select one or two resized emuMMC from 4GB to 12GB total. Full 29GB emUMMC remains as an option.
This resizes emuMMC USER partition and formats it. Additionally it preserves all PrFile2 SAFE metadata that disallow corruption.
Official support of that is important, as moving data to emuMMC partition from FAT, doesn't actually make access faster.
Save data is kept in USER, so make sure you select a size based on your needs. Use a tool if transfer of SYS saves to resized EMU is needed.
(File based resized emuMMC is not supported yet. You can use another tool to resize it.)
Additional changes:
- Joycon regulators now turn off before sending the sleep command while exiting Nyx.
v5.5.4
New in this version
- Better user reporting for Mariko Warmboot Storage (MWS) with missing firmware
In case warmboot firmware was not found in MWS cache in SD, it will now notify user that sleep mode will be disabled if continue booting is selected. - EKS for Erista now automatically upgrades itself, in order to fix issues with normal vs r2p paths when it was created with old hekate.
- Main BCT is now checked for improper values before running Sept in Erista
Before, launching Sept in such cases (improper BCT) it would make it black screen.
Now an error will show up that instructs user to run sept with proper BCT at least once, in order to cache keys in EKS. - FatFS now supports simple GPT
In case you mangled your Hybrid MBR, this will allow you to launch Nyx if FAT partition is the first one. - SDSC cards (<= 2GB) are now supported
- Many other bug fixes and improvements
Nyx v1.0.0
- Resized RAW emuMMC added in Partition Manager
User can now select one or two resized emuMMC from 4GB to 12GB total. Full emUMMC remains.
This resizes emuMMC USER partition and formats it. Additionally it preserves all PrFile2 SAFE metadata that disallow corruption.
Officially support of that is important, as moving data to emuMMC partition from FAT, doesn't actually make access faster.
Save data is kept in USER, so make sure you select a size based on needs. Use a tool if transfer of SYS saves to resized EMU is needed.
(File based resized emuMMC is not supported yet. You can use another tool to resize it.) - eMMC/SD Benchmark IOPS test added
Added 4KB Sequential and Random IOPS and Rate measurements.
They are faster than before because now it reads 1GB for Sequential big blocks and 512MB for 4KB.
Additional changes:
- FatFS now supports simple GPT. This will allow you to fix Hybrid MBR in case it was wiped
Additionally, Fix Hybrid MBR was changed to allow it to run even if FAT partition is not the first one in GPT.
The fat partition needs to be named hos_data in GPT in order for the tool to pick it up. - eMMC info now shows Write Cache size and also Enhanced area size (which can tell if nands are SLC/MLC/TLC/etc)
- emuMMC migration now shows status and also updates the main window
- Partition Manager and Dump Pkg1/2 swapped places in their tabs
- Joycon BT pairing dumping explicitly tells if it succeeded or failed
- Many bug fixes and improvements to partition manager and others
BDK
- Many changes were made on the Bootloader Development Kit. Developers should check actual commit log for these.
These include SE, SDMMC, FatFS and others. - The BIS driver that is used in resized emuMMC and CAL0 info was upgraded to latest from Lockpick RCM by @shchmue together with additional changes because that driver will be eventually moved to BDK.
v5.5.3
Supports: Erista and Mariko units
Latest HOS supported: 11.0.1
New in this version
- Fixed an issue with sdmmc driver. This might increase compatibility with a certain set of SD cards.
- Compiled with latest BDK.
Nyx v0.9.9
- Partition Manager fixes
Fixed Android partitioning underflowing UDA (userdata) partition. (Which was causing the password issue when booting Android.)
Fixed Nyx hanging when updating buttons after partitioning.
Fixed an edge case on backup/restore checks where the total size would overflow and end up returning < 1GB instead of failed.
Additional changes:
- Allow Reboot to OFW (bypass fuses) on patched Erista and Mariko units
The options for these (except unpatched) now are:
OFW: Reboot and bypass fuses like always. This depends on at least one intact BCT.
Normal: Reboot by resetting regulators. This enters custom bootloader if chipped, otherwise it does an OFW (no fuse bypass) reboot. - Fixed temperature for Mariko being 12.5 °C higher than it should be
The power off now also disables the sensor in order to conserve more power. - Joycon parent regulator is now managed and source depends purely on if USB is connected or not
That will prioritize joycon charging via USB and save charging power. - Fixed an issue where the pkg1/pkg2 dumping tool for Mariko would over-decrypt pkg1.
- Formalize various text messages
v5.5.2
Supports booting ALL current CFWs, Android/Linux booting and payload tools.
No more SD card removals
Supports: Erista and Mariko units
Latest HOS supported: 11.0.1
New in this version
- Added back an SD card mitigation for old coreboot roms
Anyone that still relies on that should actually use an updated coreboot.rom.
L4T Linux/Lakka/Android P/Q already have a newer one. - HOS versioning was refactored to use fuses instead of keyblobs
This will make future updates simpler. - Fixed an issue where AutoRCM status would be reported falsely on modchipped switches
- Power management (Regulator framework/Reboot/Power off) was refactored
Power off now disables all regulators and comes back to init state, effectively using even less power when powered off.
Regulator framework was updated to simplify the whole process of changing regulators for all 4 types. - Simplified RAM OC for users that compile an overclocked Minerva library.
- Many bugfixes
Nyx v0.9.8
-
emuMMC Migration was reworked to allow more freedom
User can now choose the type of migration that wants to do instead of being completely automatic.
-
XUSB on Mariko now has up to 96% better performance
Reaches parity with Erista.
-
Added support for the commonly used Hori pads. Thanks to @krnlyng.
-
UMS timings were reworked to fix Arch Linux
Arch Linux USB stack specifically has the tendency to have huge latencies that can reach 1-2s.
This change mitigates that without sacrificing performance.
-
Partition manager changes
Flash Linux/Android buttons now only light up if partitions are found.
Added MSC partition support for Android. Needed for OTA updates.
-
Added Touch Panel vendor and model info
Additionally it checks if firmware is correctly paired with panel
-
Added burnt fuses HOS version compatibility info
Additionally, raw values are now provided for ODM 4,6,7 fuses
Additional changes:
- Added new Display ID ([20] 96 [0F]: InnoLux P062CCA-AZ3)
- Added Main/CPU/GPU PMIC info in battery info
- Fixed an issue where AutoRCM status would be reported falsely on modchipped switches
- Fixed an issue where Display ID was reported wrong because of improper display deinit from bad chainloaders
- Disabled power management on dev units
- Backlight now dims when in UMS to conserve some power
- When Nyx options are changed, now a pop up will ask to save them if user forgot to do so.
- Many bugfixes
v5.5.1
This version supports booting ALL current CFWs, Android/Linux booting and payload tools.
No more SD card removals
Latest HOS supported: 11.0.1
New in this version
- HOS 11.0.1 support
- Fix sleep in modchipped Eristas
First BCT, that is used in warmboot binary, has improper modulus. Now it looks all 4 for a valid one. - Add exosphere uart logging support
This can be enabled via compile time flags or exosphere.ini - Mitigate an issue when initializing some Phison SD Cards
Nyx v0.9.7
- Fixed bis keygen for Erista/Mariko units that came with 9.1.0 and up
Additionally the keys are printed in logging console after checking cal0 info - Added AU (Allocation Unit) info for SD Cards
This shows the performance alignment needed for read/writes - Added bootloader SD Card init info
There is now a new bootloader bus speed info and sd errors in parentheses that can help debug sd init issues in hekate main.
v5.5.0
This version supports booting ALL current CFWs, Android/Linux booting and payload tools.
No more SD card removals
Latest HOS supported: 11.0.0
New in this version
- HOS 11.0.0 support
- Mariko (T210B01) HW support
hwinit, dram/lp0, display, sdmmc, ccplex, fuse, etc were all updated to support the new SoC. - Mariko (T210B01) HOS support
In order to boot HOS on Mariko, all keys should be in place before launching hekate.
Failing to do that you will be greeted with Pkg1 decryption failed! Is BEK missing?.
Additionally, Atmosphere must be updated to 0.17.0 that will have Mariko support. - Added Mariko Warmboot Storage (MWS)
This dumps the warmboot binary on SD to allow downgrading when fuses are burnt.
The warmboot exploit doesn't exist in Mariko, so the warmboot binary must be paired with fuses.
Take care when wiping SD Card, you need to keep it backed up. - Added support for Exosphere Fatal binary for Mariko
Custom binaries can be used with theexofatal=
option. - Fix AutoRCM status checks on Mariko and modified BCTs
- Fixed an issue with exFAT supported FS.kip checks
- Fix an issue where hekate wouldn't load if damaged fuel gauge chip.
- Many other changes and fixes
emuMMC
- HOS 11.0.0 support
- Fixed an issue with slow boot and speed in 11.0.0
- Mariko (T210B01) support
Based on m4xw/[email protected]
Nyx v0.9.6
-
HOS 11.0.0 support
-
Mariko (T210B01) info and dumping support
Every tool and info window was updated to add Mariko HW and HOS support.
XUSB was also added and USB was refactored in order to add Mariko UMS functionality.
Joycon are not yet supported on Switch Lite. Touchscreen is the only way for now.
Additional changes:
- eMMC/SD info now also shows the manufacturer's name.
- DRAM info now also shows chip models
- Fixed an issue with patched RCM status on Mariko
- Ability to change how Nyx power saves
If launching Nyx hangs on boot, changenewpowersave=
to 0 in nyx.ini in order to mitigate it. - Launching coreboot.rom for L4t/Android on Mariko, is now disabled to protect user from possible bricks.
- Minerva is disabled on Mariko, as dram training on it is not supported yet.
That means that Nyx frame drawing is slower than expected. - Fix AutoRCM status on Mariko and modified BCTs
- Fixed an issue with Joycon not able to control Nyx if only left one was plugged in
- Fixed an issue with incorrect DRAM density info
- Fixed an issue with not being able to store screenshots if the folder was missing
- Fix icons for backup/restore not being correct after emuMMC swap
- Many other changes and fixes
v5.3.4
Latest HOS supported: 10.2.0
New in this version
- Mesosphere support (Atmosphère's kernel reimplementation)
update.bin
is now automatically created on first boot
This allows l4t/android or anything else that injects/warmboots an old hekate to always use the latest one
As a reminder, it gets automatically updated via injecting a new hekate once- Bootloader protection
Currently can only be enabled via editing hekate_ipl.ini.
Usingbootprotect=1
in[config]
disallows any reading/writing of thebootloader
folder and its contents inside HOS, preventing any corruption of it.
This of course has the side-effect of homebrew that depend on it (e.g. hekate Toolbox) to not work fully. - Fix an issue where failing to patch emuMMC would allow user to continue booting
- Some extra fixes.
Nyx v0.9.5
- Better info for BM92T36 (USB-PD)
It can now show more profiles and the exact selected profile - Add joycon disable.
For now it can only be enabled by editingnyx.ini
.jcdisable=1
.
v5.3.3
- HOS 10.2.0 support
- Add backup pkg1 loading support
Helps in cases primary pkg1 is corrupted - Better SD info in hekate TUI
And better error handling - Fix exo fatal dump header
This fixes a regression where it was removing the AFE2 header. - Fix an issue with sleep when hekate is launched from bad chainloaders
- Android/L4T boot mode is now not cleared if user canceled auto boot
- And more.
Nyx v0.9.4
- Fix dumping of Package1
Before it would split into NX bootloader, Security Monitor and Warmboot wrongly. - eMMC NAND cells life estimation
Now you can see how much life is left for your eMMC. - USB-PD Charger info
Shows what PD profiles charger supports and also what's the current charging wattage limit.
Additional changes:
- Allow SD removal without reloading Nyx
- Fix a hang where B button was pressed after Launch window
- Fix some BDK issues that could affect Nyx
- Add info about AUO A062TAN02 display panel
- Allow last part to be unaligned when flashing L4T image
- And more.
v5.3.2
Hotfix-Update
- Fixed an issue with sleep on latest HOS versions.
- Disabled the L4T kernel panic dump
v5.3.1
- Fix pkg2 re-encryption for 8.1.0/9.0.X
This fixes issues with panics to RCM or blue screens when new exosphere is used (0.13.0 and up). - Add panic dumping (pstore) for L4T Linux/Android
- And many more fixes.
Nyx v0.9.3
- Fix dumping of Package1
Before it would split into NX bootloader, Security Monitor and Warmboot wrongly. - Disable touch screen if hw failure
Fixes an issue with Joycon not registering with a broken touch panel.
Additional changes:
- Add decrypted CAL0 dumping
- More accurate info about display panels
- Add info of Protected area of SD Card
- Add better info about write protection of SD cards
- Skip first 4 packets for joycon calibration
v5.3.0
New in this version
- Full Exosphère 2 support
Compatibility for older atmosphere releases remains. You can boot both old releases and new 0.13+. - Even faster boot times by managing eMMC better. Saves 500ms.
- Many HOS launch QoL fixes and checks.
- Enable charger unconditionally for deadlock protection.
- Fix kip1patches sometimes not applying on very specific edge cases. (Existing since ever).
- Allow booting if kip1 patches fail. (It will ask you.).
Do not continue when patches are important (example: emummc, nogc, etc) or you don't know the implications. - Add corrupted bootlogo protection. Avoids softlocking.
- And many more fixes.
emuMMC
- Support for exosphere 2 was added
- The very fast file based emuMMC changes are included also.
Based on https://github.com/m4xw/emuMMC…cc14d3bf9be1260e2096f6037
Nyx v0.9.2
- Countless partition manager fixes.
If you had issues before, especially with error 14 or 4KB cluster size, now everything is fixed. - Better JoyCon SPI dumping for Android/Linux
The tool for dumping joycon mac addresses is now more robust and it will inform you if the pairings are from a PC or HOS.
Additional changes:
- Archive Bit Fixer now supports all folders with 00 files inside
- Allow multimple backup based emuMMC (via the migration option)
- Clock offset edit will now show at boot if not set.
Making sure that this is set, screenshots will now have proper date and time on the names. - Add bigger deadzone for joycon virtual mouse.
- Reduce idle power draw
- Add BIS key generation and simple CAL0 info
- And many more fixes.
v5.2.1
New in this version
- Fixed emupath key. You can now finally switch between emuMMC via config
If that emuMMC is not found, it will now show you an error. - Fixed prodinfo overriding keys
- Fixed exosphere.ini parsing (v5.2.0 shadow release)
- Fixed some issues with FatFS
emuMMC (since v5.2.0)
- File based is almost as fast as RAW now
- Updated, improved and faster SDMMC driver
Even raw partition based got a boost.
Based on https://github.com/m4xw/emuMMC…832a2f50b3324ca11cb0c4999
Nyx v0.9.1
- Colorized icons support Thanks @NicholeMattera
Nyx now supports icons with the suffix of _hue. This will automatically apply your theme's color.
For more, check readme_res.md
To get hue supported icons and even their source to create new ones, check Hekate Icons. - Date/Time change via tickers
You can now customize the date and time in Nyx, via an easy ticker way.
This will affect the creation time for eMMC backups, so you will know when they were made.
Additional changes:
- Fixed an issues with Archive bits Fixer
- Add pop up when there are unsaved main config changes
You will now be informed if you forgot to save and not wondering why the change didn't stick. - Allow always writable eMMC/emuMMC via umsemmcrw key in nyx.ini
- Partition manager now clears start of ext4 partitions
- Fix some issues with FatFS
- Add status bar updating while in UMS
- Fix time parsing
- Along with some other changes and fixes
v5.2.0
Latest HOS supported: 10.0.2
New in this version
- Updated, improved and faster SDMMC driver
Faster and proper than before
Full error checking
Reinits to lower bus speed if failure
Supports 1-bit mode (you will get a warning in Nyx if that's the case) - Updated Display Interface driver
Initializes based on display panel
Checks if already initialized and deinits first
Adds Window D and Cursor Window support - Add boot time emuMMC selection
Using the emupath key in a boot entry will load the selected emuMMC.
This can also be forced by using the correct boot cfg storage bit and writing the path at the emummc path offset. Check readme for these.
The format is: emupath=emuMMC/RAW1, emupath=emuMMC/SD00, etc.
(ONLY works with ones created by hekate, as it depends on the raw_based/file_based files that have emuMMC info). - Check for HOS FS supporting SD card format
It disallows booting if SD card is exFAT and FS is the FAT32 only variant - Add emummcforce key
Force emuMMC and disallows booting if emummc.ini is not found or emuMMC is disabled - Add exosphere.ini parsing and CAL0 blanking support
Users are discouraged to enable that Atmosphere feature, as it is not yet validated as safe because of caching
exosphere.ini prodinfo keys are parsed during boot and applied automatically.
Users can choose to override them with cal0blank and cal0writesys hekate ini boot entry keys.
The value of these (0 or 1) will be applied on top exosphere.ini value and will effectively override it. - Disallow Auto NOGC in stock
Users can still force it with kip1patch=nogc
Additional changes:
- Add EKS support
- Improve KIP1 patching
- Add Interrupts handler driver
- New upgraded gpio driver with full configuration support
- Exception handling that allows your to always continue
- Fix Minerva emc table corruption
- Countless other fixes and additions!! Check commit log if you want to learn more.
emuMMC
- File based now uses FastFS with speeds almost as fast as RAW
- Updated, improved and faster SDMMC driver
- Retries on lower bus speeds if failure and works even in 1-bit mode
Based on https://github.com/m4xw/emuMMC…832a2f50b3324ca11cb0c4999
Nyx v0.9.0
- USB Driver and Tools
Check below for added features
(Keep in mind that if anything goes wrong or you get stuck during a USB op, you can press both VOL buttons to bail out.) - USB Mass Storage
It supports SD Card, eMMC and currently selected emuMMC
eMMC and emuMMC are read-only by default - USB Gamepad emulation (Joy-Con)
This new usb feature will allow you to use Joy-Con as a free gamepad on a PC.
Can be paired with tools like x360ce to enable support to all games. - SD Card Partition Manager
Allows you to select up to 2 emuMMC + Linux + Android.
Any combo is allowed, even if you just want to repartition it back to one FAT partition.
The procedure is automatic on selecting sizes and offsets.
The tool is also able to backup your SD Card into Ramdisk and then get restored, if the total used size is less than 1GB. If you have more files than that, you will be asked to copy your files to your PC via UMS.
It also allows you to flash L4T Linux images and Android Twrp images.
The Flash Android can be also used to reboot into Twrp if a file to flash is not found. - Joy-Con Support
It acts as a virtual mouse fallback for users with broken touch screens
Cursor Movement: Left Stick, Click: A / ZL / ZR, Close/Back: B, Log screen: - or + - Home Screen Selection support
You can now choose in Nyx Options between 4 modes:
-Main menu: Default main menu
-All Configs: Merges Launch and More Configs as long as there are enough empty slots
-Launch: Uses Launch screen as home screen
-More configs: Uses More configs screen as home screen
All of them support customized background bmp - Fix Archive Bits v3
The new version automatically fixes everything, without the need of 2 options
It's extremely fast, because now only changes what needs to be changed. Even if user has thousands of folders
Supports huge mods or texture packs that are split on FAT32.
(As long as the folder name has a 3 char extension. Exanmple: zelda_hd_textures.hts) - Add Color Theme support for highlighted text
You can choose in Nyx Options - Fuses Info is now HW & Fuses info
Adds Display panel, Touch panel, DRAM Chips and SoC Chip info - Add SD / eMMC RAW read benchmark
Find it in SD Card or eMMC info - Allow eMMC restoring for smaller or bigger backups
Useful for >32GB eMMC mods. You will get a warn about it.
If you don't fit the eMMc modding description, then your backup is corrupt. - Add simple emuMMC backup
It supports all sized partition based emuMMC
For now it can only backup the first 0xE0 partition that it finds - Additional emuMMC changes
-Allow partition selection when creating a raw partition based emuMMC
-Clear partition start when creating RAW Partition based emuMMC
-Refresh emuMMC status window when creating a new emuMMC to reflect the new info - Touch panel tuning calibration
Allows you to fix any issue with touch in Nyx and HOS.
It will also check your panel for HW issues before proceeding.
If an issue is found, the calibration will stop to avoid a bug in the touch firmware. - Add Window D as Log screen window
Can be shown by pressing - or + on Joy-Con
Screenshot function will also save that screen to SD
Additional changes:
- Add Joy-Con Bluetooth pairing info dump. Used in L4T Android/Linux.
- Add Update Reboot 2 Payload option
It automatically updates reboot_payload.bin if fss0 is used. - Disallow eMMC operations when battery is low to protect from sudden shut off
- Add SD error report info in SD Card info
- Add Ramdisk support
- Add primitive eMMC BIS support
- Add Time offset config. This is manually done for now. In a later version, the offset will be parsed from HOS.
- Fix hanging when parsing non HOS GPT in eMMC info
- Fix a long standing heap corruption issue that would hang Nyx
- eMMC Backup/Restore Verification config is now moved to Nyx config (nyx.ini)
- Fix Battery Charger and Fuel Gauge infos showing wrong values for some stats
- Allow screenshots only every 2s and add capture effect
- Decrease Idle power drain
- Countless other fixes and additions!! Check commit log if you want to learn more.
v5.1.4
- HOS 10.0.0 support
- Added Empty Battery screen on boot
This will show an empty battery icon if voltage is pretty low.
It will power off after 15s if NOT charging. It continues boot after reaching enough charge.
It can be bypassed with VOL- & VOL+. For more, read 5f142b4.
(Previously, if battery was less than 2800mV, the console wouldn't react - black screen - to a rcm injection.) - Fixed an issue where if sept folder was missing, hekate could not write itself there.
- Some bug fixes
emuMMC
- HOS 10.0.0 support
Based on m4xw/[email protected]
Nyx v0.8.7
- Fixed an issue with LvGL that was making Nyx hang and corrupt text
- Added touch panel HW testing, before allowing forced calibration
The touch IC fw has a bug that allows calibration to happen when the panel is defected.
That will eventually happen from HOS though when a touch fw gets updated... - Dump pkg1/2 tool now supports HOS 10.0.0
- Add touchscreen initialization retries in case it fails.
- Some bug fixes
v5.1.3
Latest HOS supported: 9.2.0
New in this version
- Fixed an issue with booting CFW on < 7.0.0
A missing check was causing old versions to boot complete stock. - Fix issues with the usual sd card suspects when doing a warmboot based reboot.
The SD Card regulator is now disabled on HW init and re-enabled at the appropriate time. - Support for Atmosphère experimental content.
Use the fss0experimental=1 key on a boot entry to enable it. For now it's only for NCM. - Support fatal context version AFE2
- Add more Minerva checks, in case it is paired with old bootloader folder contents.
- Support coreboot.rom chainloading that is not 1MB.
emuMMC
- Fixed an issue with HOS 1.0.0. Based on m4xw/[email protected]
Nyx v0.8.6
- Fixed all touchscreen issues. In Nyx and HOS.
In case you have the issue, you can boot Nyx while pressing VOL- and VOL+.
This will force a re-calibration of the touchscreen. (The tool version will come later.) - Fixed an issue with lvGL heap which was causing hangs
- Fix Archive bit tool when filepath is bigger than 256 chars.
- Allow canceling of emuMMC creation.
Notes
Check readme.md for more.
Lastly, keep an eye for the big Nyx update!
NOTE: You will need sept and a custom secmon and warmboot binary to boot > 7.0.0 or stock emuMMC.
NOTE2: hekate is now able to get sept binaries from inside a fss0.
v5.1.2
Latest HOS supported: 9.2.0
New in this version
- HOS 9.2.0 support
- Added support for parsing sept from fss0
- Fixed issue with mixing older versions on L4T/Android
- Fixed an issue where hekate would not honor updater2p key
- Better boot errors communication
- Better stability with BPMP clocks
- Fixes for heap, lists, ini parsing, fss0 and many others.
Nyx v0.8.5
- Added touchscreen edge offset compensation
- Battery voltage now changes color and has a warning symbol if < 3.2V.
- Better stability with BPMP clocks
- Fixes for heap, lists and some others.
Notes
Check readme.md for more.
Lastly, keep an eye for the big Nyx update!
NOTE: You will need sept and a custom secmon and warmboot binary to boot 7.0.0-9.2.0 or stock emuMMC.
NOTE2: hekate is now able to get sept binaries from inside a fss0.
Warning hekate files: New bootloader contents are mandatory. Because they are new, you must not mix them with older hekate versions. hekate package is made for an easy drag n drop that can be used to replace the files.
Don't forget to drag n drop bootloader folder into sd card root and hit replace. No need to delete that folder first, especially if you want your configs and payloads.
v5.1.1
- Added Atmosphère's system memory pool increase kernel patches
Now sysmodules have way more available ram - Added updater for update.bin and reboot_payload.bin binaries
update.bin is updated if old.
reboot_payload.bin is updated if old and if updater2p=1 key is configured (for now only manually via hekate_ipl.ini), it forces an update even if the current payload is not hekate. - Added hekate libraries error printing in order to inform user to also update bootloader folder
- Fixed hekate main compatibility with old Minerva to avoid hangs on black screen when injecting
Some users forgot to drag n drop bootloader folder and replace files, which caused that issue. - Fixed an issue where users with bootwait=0 could not enter the menu
Nyx v0.8.4
- Fixed an issue with about screen
v5.1.0
- Full support for 9.1.0
- Faster and better DRAM training
This performance change affects both hekate and Nyx.
libsys_minerva.bso was updated and the update is mandatory.
If you notice slow performance in hekate or Nyx, you forgot to drag n drop the bootloader folder from release. - Even faster HOS boot
Because of the aforementioned change, HOS now boots even faster. - Enabled Low Battery Shutdown when voltage is less than 2.8V
This will help with many users that kill their battery by forgetting their devices into RCM/AutoRCM. - Fixed an issue with some users hanging in black screen or logo for Nyx loading
This is unrelated with HOS boot issues. - Fixed a critical issue with heap collapsing on edge cases. Thanks @shchmue.
Additionally, heap management became more robust and fragments way less often. - Added support for entering fastboot on Android.
This requires of pressing VOL+ first and while holding it, also start holding VOL-. - External patches only look for patches.ini now
The reason is that patches_template.ini is now useless and no one should install homebrew when title replacement exists.
Also because apparently it confuses users into thinking that it takes precedence over patches.ini, even though it explained countless of times that it's only loaded if patches.ini is not found.
Lastly there's a confusion where users thought that empty patches is not the same with no patches, even though it's exactly the same. So now any empty patch will throw an error.
To sum up, removed to simplify the process because of user errors. - Fixed an issue with force shutdown timeout, where it would power off if PWR button was pressed for 2s. It's now back to 6s.
- Fixed instant boot to menu ("bootloop") on errors. Now hekate will properly wait for user input in order to go back to menu.
- Fixed an issue with tsec keys, where KFUSE didn't have enough time to initialize.
- Fixed an issue where double defined patches (like NOGC), would fail the process. Now any reapplied patch, will be properly marked as applied.
- Countless refactors and bugfixes in hw init and drivers
- Many general bugfixes
New in emuMMC
- 9.1.0 support
Nyx v0.8.3
- 9.1.0 support for info and tools
- GFX rendering and generally many functions in Nyx are now faster
- Refactored SHA calculation for faster verification
Verification is now able to calculate the 1st buffer SHA while the 2nd buffer is read. - Fan is now activated if temperatures are high
- Battery Voltage value is now Orange if lower than 3200mV
- Countless refactors and bugfixes in hw init and drivers
- Many general bugfixes
v5.0.2
- Full support for 9.0.0
- Fixed SaltyNX for emuMMC 8.x.x
- There was an issue with fs mitm patches where it caused hangs for SaltyNX.
- Add support for forced AutoBoot via id key - Android reboot
- You can now add id=max7char to your boot entries and hekate can be instructed to autoboot via only this.
- This will be helpfull especially with many Linux distros and Android (id=SWRANDR).
- AutoNOGC protection for fatal errors in emuMMC
- NOGC will now be applied automatically when fuses are >= 9.0.0 and emuMMC is less than that.
- Streamline power cycles for Sandisk U1 SDR104
- No more hangs because of this.
- Fix CPU/GPU on warmboot reboot from Linux/Android
- Allow critical info to be shown when a fatal error occurs while AutoBooting HOS
- Now, before booting Nyx right away, it will show the error message and wait for a button press.
- Add exosphere/kernel no user exceptions handler cfg
- And many other bugfixes
Nyx 0.8.2
- 9.0.0 support for info and tools
- Fix AutoBoot list for inis (More configs)
You can now select a cfg from ini folder for autobooting - Update AutoRCM status when a eMMC restore occurs
- Fix eMMC split restore when < 10 parts
(FYI nyx supports splits that are 4MB aligned. Only last part is allowed to be unaligned.) - Do not hide delay time option (for bootlogo) when AutoBoot is off
- And many other bugfixes
v5.0.1
- Fixed keygen for 6.2.0 stock and CFW
- Fixed boot to 6.0.x/6.1.0
- Fixed hang issues with booting HOS
- These were created from cache coherency issues, or sd card fast reinit or stack corruption.
- Disabled stock emuMMC until it's fixed
- Check news at https://github.com/m4xw/emuMMC
- Now if patches.ini is not found kip patches will be loaded from patches_template.ini.
- Added a check that emuMMC is not loaded without custom secmon and warmboot.
Nyx 0.8.1
- Fixed Nyx hangs on boot and framebuffer issues
- These were fixed by fixing an issue with Touchscreen, a cache coherency issue, stabilizing framebuffer memfetch, and by fixing too fast reinits for some sd cards.
- Migrate emuMMC fixes
- It can now find more available existing partition based solutions.
- Fixed an issue with migrating other sd partition emunand solutions.
- Change emuMMC fixes
- Fixed logic with button assignment
- It can now also identify more emuMMC.
- Changed emuMMC creation partition type to xE0
- Fixes issues with all Linux distros. You can run Migrate to apply the fix.
- Sd card now reinits before a create/backup/restore process to refresh tuning
- Might fix some issues with some cards.
- Launch/More CFG
- Fixed an issue where the buttons did nothing if no icon.
- Added option to force screen HOS boot logs.
- Big names will have their name rolling.
- While sd card is removed, it's possible now to Reboot or Power off. Screenshot feature gets disabled.
- Added temperature sensor init, to revert L4T's range.
- Fixed an issue where Nyx could start with backlight set to 0.
- And general system stability improvements to enhance the user's experience. (For real..).
v5.0.0
- Introducing Nyx v0.8.0
Nyx is hekate's GUI. Packs many features, like FastFS, emuMMC manage, customization, etc.
Look below for more. - 8.1.0 support
- emuMMC support
It supports disabling it by boot entry (emummc_force_disable=1), stock (not all fw ver support it) and many more.
Works with SD raw partition and SD file based. (SD file based is extremely slow. Wait for FastFS 4 emuMMC).
This version can sanely shutdown and also supports more SD cards than before.
Thanks to a collab with @m4xw , @SciresM, @hexkyz. - Supercharged boot times
Even with emuMMC or kip1 patching, it's faster than before. - Supercharged Backup/Restore with FastFS (Nyx only)
Backup and Restore is now orders of magnitudes faster.
Some examples (measured on a U3 SD): No verif: 9min, Sparse: 15min, etc. Even Full with hashes is extremely faster. - External KIP1 patching support
Now non-important patches reside outside of hekate binary. For now this can only patch KIPs defined in hekate's code, with whatever new patches. Next versions will support other KIPs. - Many bugfixes
v4.10.1
- Reverted 204MHz SD device clock
Some U1 sd cards with Sandisk microcontroller misbehaved in this speed. - Some small QoL changes
v4.10
- Full 8.0.0 support
- Add brick protection for RCM patched units
(On a patched unit, if you enable RCM, you cause a brick that needs external eMMC programmer to fix.) - Add Exosphere panic report and save to SD
Useful to debug those weird colors. - Add status bar update when executing Fix archive bit tools
So you know that you have to wait. - Fixed a TSEC query timeout for 6.2.0. Thanks @shchmue.
- Add support for AutoRCM on devkits
- Battery "desync" fix is now applied on boot
Because of that, the entry in tools got removed. - Update FatFS to R0.13c (p3)
- Cleaning and refactoring of GFX
- Many bugfixes
v4.9.1
- Cleaner Stock option via stock=1
Check the hekate_ipl template for more on how to use it. - Important bugfixes on eMMC tools
Fixed a 32bit vs 64bit bug where it was making verification fail. And also a text print misalignment.
v4.9
- Support for parsing Atmosphere's Fusée Secondary Storage (FFS0)
Using "fss0={sd path}" allows you to parse kips, exosphere and warmboot from a fusee secondary binary.
Exosphere and warmboot are overridable if these entries are defined after that.
Additionally any extra kip can be loaded as before via kip1={sd path}/* for many, or kip1={sd path} for a single one
Warning: Don't double load core kips like loader, pm, sm and ams_mitm. The result will be a hang. - Support for split files restore Thanks to @emvym3two
You can now restore using parts or FAT32. The only condition it that all parts must be in the sd card.
It protects from fake sd cards, bad sectors and frequent I/O corruption. Aka, ~100% of cases. - Performance changes for Backup/Restore/Verification
Aligned buffers will now up the speeds by a lot.
Verification is now set to Sparse mode by default.
It protects from fake sd cards, bad sectors and frequent I/O corruption. Aka, ~100% of cases. - Change order of invoking sept
This is important, otherwise it can break tools like memloader.
Until a semi-usb init solution is found, hekate will show bootlogo and allow you to go to menu.
If >= 7.0.0 after that, it will run sept and then show logo again without a wait. For as long as rebuilding the boot process takes. - Smarter versioning for update.bin and sept payloads
Now it supports hotfix versions and it's still compatible with old hekate versions.
Sept is now updated via hekate's copy in IRAM. This negates the mandatory usage of update.bin and it copies always the most updated version.
Additionally if sept/payload.bin is found that it's foreign, it is renamed and hekate takes its place for running sept. After that it renames the original payload back and continues with booting. - debugmode is now obsolete for atmosphere. It's enabled by default.
- Some nasty stack corruption bugs were fixed
v4.8
- Full 7.0.0/7.0.1 support.
The keys are generated via Atmosphère's sept. - Additionally the sept/payload.bin, if found that it is hekate, it gets updated via update.bin.
- Reboot to a selected boot entry via HOS hb
You can now force a boot configuration on hekate by setting the boot storage in the hekate binary.
This can be done via a homebrew, which sets the ini entry that is desired to boot.
Additionally force boot to menu can also be achieved. Please check readme.md for more - Auto NoGC
It checks fuses and applies the patch automatically if higher firmware.
It is now a global config and set on auto by default. (0: Disabled, 1: Auto) - Fixed a bug with ini list, where it would hang when using wildcard * with kip1=.
- Quality of life fixes under the hood, that ease user's life.
- As always many bug fixes and some refactoring.
Backlog from v4.6svc beta:
- svcControlCodeMemory patches that helps dynarec on emulators.
- Fixed sleep mode with debug mode when official 6.X.X secmon is used
- Added RTC driver which now also disables wake up alarm when Auto HOS Power Off is used
Helps when users that use AutoRCM inject and power off pretty fast. - Fixed GPU on Linux when booting from warmboot
- Added missing fallback auto calibration of sd cards and plus some small fixes.
Check readme.md for more.
NOTE: You will need sept and a custom warmboot binary to boot 7.X.X.
v4.6 svc beta
- Added patch for svcControlCodeMemory that helps dynarec on emulators.
- Fixed sleep mode when debug mode is on and official 6.X.X secmon is used
- Added RTC driver which now also disables wake up alarm when Auto HOS Power Off is used
Helps when users that use AutoRCM inject and power off pretty fast. - Fixed GPU on Linux when booting from warmboot
- Added missing fallback auto calibration of sd cards and plus some small fixes.
NOTE: You can get the other files (lp0 library) from a previous release.
v4.6
- Fixed sleep for downgraded units with efuses burnt more than required.
- Fixed update.bin chainloading and also forced hw init on update, in case it changes again in the future.
This is a breaking fix and requires to have v4.6 to your modchip/dongle.
(Chainloading with old versions may or may not work. For that reason this is considered breaking.) - New archive bit fix
It can now also fix the Nintendo folder. No more "corrupted" sd when upgrading sd card or restoring Nintendo folder. - Fixed UART debug printing. Thanks @hyln9
- Auto HOS power is now disabled by default. Probably, most people learned what it does and can enable it from the Options menu.
- Some small SMMU emulation for TSEC fixes for the unluckiest out there. Max wait time remains small.
- Many many many fixes and also added some error msgs for restore and boot options.
NOTE: Everything hekate related, moved to bootloader folder.
v4.5
- Full 6.2.0 support. Many thanks to @nwert and @balika011 for their help!
-Supports Secure Monitor and new Exosphere
-Supports booting 6.2.0 with less than 8 fuses
-It has 100% success ratio
-Added support to "Print TSEC keys" and "Dump pkg1/2" tools - Fixed YouTube HDCP issue. Thanks @hexkyz for taking the time to investigate.
- Every file lister is now ignoring hidden files and .dot files. Thanks @StevenMattera
- The Minerva Training Cell library for hekate was updated to latest version (v1.1)
- Added "silent option to Auto HOS power off option. You can now choose if you want the logo to be shown. Thanks @Huntereb
- Refactored the monolithic main.c to simpler grouped sections. Additionally hos.c took some love.
- Many many bugfixes
NOTE: Everything hekate related, moved to bootloader folder.
v4.2
- Support "*" folder wildcard in kip1 key
Using <folder>/* can now parse and load all kip and kip1 files inside that folder. - Add option to enable/disable Auto HOS power off
If you don't use a modchip/dongle you may find this feature annoying. Options->Auto HOS power off to disable. - Allow canceling of the verification process
Now you can cancel backup and verification process. If backup phase is done, canceling in verification, will keep your files. - Some small bugfixes and support certain cfw on its stock version
NOTE: Everything hekate related, moved to bootloader folder.
v4.1
- Full 6.0.0 support
Secmon/ kernel patches, FS patches, sleep mode, hw config, etc. - Improved .ini/payload handling
hekate_ipl.ini is no longer required and hekate does not hang on empty folders. - PWM backlight
You can now change the backlight brightness. - Auto full power off when the device woke up from HOS' power off
Usefull with modchips/dongles when using AutoRCM. (You can see it as a breathing backlight with hekate's logo). - Backup can be now cancelled when in the writing process (white bar), by pressing VOL UP + DOWN.
- Self update chainloading properly checks for version number now to avoid uneeded loads.
- Support payloads with broken/bad hw init...
- Added ipatches info and dumping of patched/unpatched bootrom and ipatches
- Corrected some hw config changes found in 5.x-6.0.0
- More boot reasons and bootrom registers restores to normal
- It now properly restores BCT on dev units from where it's supposed to.
- Added warning message when the bootloader library for sleep mode is missing.
- And many many bugfixes
Everything hekate related, moved to bootloader folder.
v4.0
- Added Payload launching. Supports: All current CFW bootloaders, Linux chainloading and payload tools.
Use the new entry in Launch, Payloads. Autoboot is supported via inis to all payloads. - Added Ianos, our module support loading and launching. First module is LP0 (sleep mode).
- Added support for split ini
They should be located to bootloader/ini. All cfw bootloaders, payloads and linux payloads are supported, along with Horizon files.
Autoboot support. Use the More configs menu in autoboot configuration. - Auto launch update for modchips. For users that do not like to always update their eeprom.
- Add KIP1 patching support
- Backup speed is now faster, by having bigger write speeds.
- Backup folder now uses eMMC serial number.
- AutoRCM now shows status and can unbrick all AutoRCM versions and types.
- If sd card is missing asks to continue. No more accidental stock HOS launching.
- Allow dumping of TSEC keys to sd card
- Fixed display sanitization for all firmwares. No more white flash or black screen.
- Fix critical bug to FatFs
- Countless fixes and bugfixes
- And many more..
v3.2
- Fixed sleep mode for 3.0.0 - 3.0.2
- Add status bar with battery info
Now you can always see your battery when into a time-consuming backup/restore. - Add background color support from bitmap's first pixel
If your logo is smaller than 720x1280, it will now use the first pixel as background color, instead of dark grey. - Add dumping of package2
- Unset archive bit to all sd card files re-added
Now it does not touch Nintendo folder. Keep in mind that this can mess with some homebrew. - Fixed an issue with a non-working firmware launching when "Dump package1" was used before.
- Changed partial backup message to inform about the sd card unmounting when in a menu.
- Some small bugfixes.
v3.1:
- Implement millisecond timer
This is a must and a very important feature, because we expect to use the bootloader more than 71 minutes (Backup/Restore). This has the side-effect of fixing a lot of stuff. Especially on SDMMC operations.
If you had problems with read/write/verify on eMMC or SD, the new version is a must. - Fix the verification code at last!
Another side-effect of using a 32bit ms timer (from the μs original one). Plus the additional fixes to variables that could not fit in u32 storage, makes the fix completely. Thanks to all the testers that helped to tackle these dreaded bugs.
Better redo that backup! - The Fusée patches for 4.X are now fixed
- The sd files archive bit removal tool, now only applies to switch folder
v3.0:
- Auto boot
with hekate logo or custom logo support
When enabled, press VOL- to go into the bootloader menu - Full Atmosphère support w/Exosphère boot
It can now properly boot through Exosphère. - Completely fix Backup & Restore Verifying algorithm
Better do a new backup to make sure. - Restore options
You can now restore your BOOT0/1, GPP physical partitions and all GPP partitions. Individually. Read the warning! - Configuration
Support configuration loading and saving - Add Battery charger and Fuel gauge info
- Support styling in hekate .ini file
- Add battery "de-sync" fix
- Add Fix sd files attributes
- Show battery stats in menu
- Raise sd card power limit for faster transfer speeds
- Update FatFS to 0.13b /w hotfix
- Other features that I forgot. Check commit log
- Countless (really!) bugfixes, memory leak fixes and general fixes
Warning: The restore options are DANGEROUS! Do not use that if you don't know what you are doing!No one is responsible for your actions!v2.3:
- Sleep mode now works on 1.0.0-2.3.0, 4.0.0-5.1.0
v2.2:
- Added Disable SVC verification for 5.X.X kernel patch (enabled by using fullsvcperm=1 in hekate ini)
- Better support for SDR50 sd card speed (mitigates a T210 hardware bug)
- Fixed a bug with scrambled tex
- And many other bugfixes