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
v6.2.2
hekate v6.2.2 changes
- HOS 19.0.0 support
- L4T: Update ARC to v6
Added latency decoupling viaram_oc_opt
. - Fixed an issue on Oled skus where they couldn't automatically reboot to OFW if stock failed.
emuMMC Changes
- HOS 19.0.0 support
As always based on https://github.com/m4xw/emuMMC
Nyx v1.6.4 changes
- HOS 19.0.0 support
- Easter Egg got updated to v2.5.3
Reduced power draw even more while idle every frame. - Flash Android button will now have the version that was selected in partition scheme.
- GPT partition in MBR summary is now purple in order to not be confused with Android partitions
- Battery info can now show up to 6 PD profiles
BDK changes
- DIRLIST: BREAKING Dirlist was improved in speed and will now return a struct instead of a char array
- JOYCON: Improved packet id handling to improve latency
- UART: Fix fifo clear and do not force both tx and rx
- IRQ: Do not re-enable irq if error handling it
- BPMP: Added state set support (for improved power saving if needed)
- TIMER: sleep functions now use RTC timers again
v6.2.1
Latest HOS supported: 18.1.0
This is more of a stable release for v6.2.0. Check its changelog for more.
- L4T: Update ARC to v6
Vast improvements to Signal Quality
Performance and Bandwidth increased
Some timings were slightly adjusted so ram_opt might need to be adjusted accordinglyFixed boot issues in HOS and L4T - Added back forced charger enable in-case hekate boots in a state with it disabled
Nyx v1.6.3 changes
- Easter Egg got updated to v2.5.2
Improved accuracy even more in specific cases
Improved sd card mounting management (can decrease power used even more)HW info was updated to give full info about SKU codenames and chip id in a more organized format - Improved an error message in partition manager when user has corrupted bootloader folder or > 1GB.
v6.2.0
- HOS 18.1.0 support
- hekate can now launch HOS by up to 70% faster on many usecases
Only these usecases are affected. The rest are the same/similar. - Fixed an issue with blue screen - code 01 on T210 (Erista). Download updated.
- Many improvements and fixes under the hood (check BDK changes)
emuMMC Changes
- HOS 18.1.0 support
As always based on https://github.com/m4xw/emuMMC
Nyx v1.6.2 changes
- Easter Egg got a massive update
Added support for T210B01 and all SKUs
Massive accuracy improvements (code and audio). All quirks are now supported.
Massive performance improvements. 1583% faster even at 4x scaling.
Because of that ram is set back to 204 MHz as it's not longer needed to be fast
Battery life can now reach up to 20 hours for T210B01 and 13 hours for T210 or Lite
Non-Color: Added palettes to choose for non-color
Color: Added color filters
Color: Added special color mode
Added 3x scaling (does not support color filters like 2x and 4x)
Added rumble support
Added brightness change support
RTC clock config is now individualized and more proper
Many many more improvements and fixesUSB HID Gamepad was improved
Now incomplete packets from the input driver will not be parsed.
Additionally, the driver will only send a new interrupt if an input change was detected and thus reduce cpu load on host side. - Touch fw id is now displayed the way HOS does
- Added OEM ID info for eMMC
- eMMC GPT partition table is now more compact and can show up to 20 partitions
- eMMC UMS for BOOT0/1 will now report > 4MB sizes if applicable
That does not change any functionality. Any software on PCs should still use 4MB flashable images though.
emuMMC BOOT0/1, as always, are forced to 4MB, no matter what. - Console window will now also report right stick values
BDK Changes
BREAKING changes:
- DISPLAY: The following functions were renamed
bdk: display: rename functions:display_init_framebuffer_pitch
->display_init_window_a_pitch
display_init_framebuffer_pitch_vic
->display_init_window_a_pitch_vic
display_init_framebuffer_pitch_inv
->display_init_window_a_pitch_inv
display_init_framebuffer_block
->display_init_window_a_block
display_init_framebuffer_log
->display_init_window_d_console
display_activate_console
->display_window_d_console_enable
display_deactivate_console
->display_window_d_console_disable
display_init_cursor
->display_cursor_init
display_set_pos_cursor
->display_cursor_set_pos
display_deinit_cursor
->display_cursor_deinit
HWINIT:hw_reinit_workaround
is now renamed tohw_deinit
UTILS:exec_cfg
andcfg_op_t
are now renamed toreg_write_array
andreg_cfg_t
FAN: Renamedset_fan_duty
andget_fan_speed
tofan_set_duty
andfan_get_speed
Normal changes:
- DISPLAY: Massive improvements and deduplication to the driver Part 2
All Nvidia (incorrect) porting is now reduced to the strictly necessary since we know the exact state of all parts of the driver.
Differences between T210 and T210B01 are also reduced to a minimum.
Fixed several Nvidia bugs also. (No noticeable effect) - DISPLAY: Use basic profile on Oled panel to get sRGB colors (real natural)
- DISPLAY: display_get_backlight_brightness now correctly returns duty for Oled panel also
- DISPLAY: Added
display_window_disable
,display_set_framebuffer
anddisplay_move_framebuffer
functions - BPMP: Introduced bpmp_clk_rate_relaxed for easier transition to temporary downclocks/overclocks
- HWINIT: Optimized and streamlined several regulator bringups
- VIC: Support P8 and R5G5B5 formats
- JOYCON: Mitigated an Nvidia bug where it would cause a Joycon to not get detected
- JOYCON: Improved packet checks and rejection of them if corrupted or incomplete
- FAN: Added fan_set_from_temp(temp) function to automatically control fan based on provided temperature
- SPRINTF: Added support for right padding and string padding. Check source on how to utilize it
- TYPES: Added likely(x) and unlikely(x) macros
- USB: use bpmp_clk_rate_relaxed when enabling clocks
- IRQ: remove the incorrectly used _irq_ack_source function. That's only for forced sw irqs.
- Many improvements and bug fixes
v6.1.1
hekate v6.1.1 changes
- HOS 18.0.0 support
- Failed Stock booting because of pkg1 issues will now reboot to OFW if conditions are met (T210B01 or no autorcm for T210)
- Fixed an issue with clearing system counters
- L4T and ARC changes:
- Advanced ram timings config (ram oc opt) is now finalized (check the helper site for the new %)
- Fixed an issue with ram bank priorities (increases performance 1-5%, depends on usage range)
- Adjusted scaling for SDMMC1 and DDR200
- T210: Frequencies passed changed from 204/408/666/800/1600/OC to 204/408/800/1333/1600/OC
emuMMC Changes
- HOS 18.0.0 support
As always based on https://github.com/m4xw/emuMMC
Nyx v1.6.1 changes
- HOS 18.0.0 support
- Add 6.2" OEM display clone ID
- Add details to imu cal error (if eMMC/prodinfo is mangled)
BDK Changes
- RTC: Added max77620_rtc_set_epoch_offset and max77620_rtc_get_time_adjusted for setting the time offset and getting an adjusted date/time
- CCPLEX: Added no reset vector locking and cluster powergating
- DISPLAY: Add 6.2" clone lcd panel
- SMMU: Refactor driver
- SMMU: 34-bit PAs support
- SMMU: 4MB region mapping support
- SMMU: Allow any ASID to be configured
- SMMU: Correct payload load OP, disable ccplex after setting smmu enable and remove redundant code from anywhere else
- HEAP: Added zalloc (like calloc but only takes a single size argument)
v6.1.0
hekate v6.1.0 changes
- Fixed an issue where emuMMC sector offset parsing was failing if SD card was bigger than 1TB.
- L4T and ARC changes:
- Allow boot partition to be exFAT
This will need an update of the bootstack of various L4T releases. Mostly important for Lakka and for users that do not want to format. - Significant changes were done to Arachne for RAM OC to increase performance and stability
- Several timings were improved and corrected for both T210/LPDDR4 and T210B01/LPDDR4X
- Stability was improved for higher frequencies for T210/LPDDR4
It also significantly affects high density ram modules like in 8GB configurations
Additionally, they can be improved extra with the ram_oc_opt ac mode also. - Fixed an issue where sometimes timing reduction was not allowed on 1600 MHz
- A new
ram_oc_opt=
parameter was added to support advanced ram oc configuration for both T210 and T210B01.
Mostly for users with T210/LPDDR4 because of low frequencies and others that like to optimize (T210B01/LPDDR4X).
Read more in wiki. - ram_oc_vdd2 max voltage limit was raised to 1237mV for T210. T210B01 remains at Jedec max of 1175mV.
- Fixed an issue for DDR200 on T210 when RAM frequency was oc one
- Allow boot partition to be exFAT
Nyx v1.6.0 changes
- Support was added for Android 13+ dynamic partition scheme and also raised system partition size to 3GB for legacy (Android 10-11)
- Fixed an issue where emuMMC sector offset parsing was failing if SD card is bigger than 1TB
- Fixed an issue with some sd cards showing incomplete info (e.g. ADATA)
- Improved fuses info (corrected major/minor and added parsed iddq info)
- 3rd-gen RAM modules model name from Hynix and Micron are now shown properly
- Hw info will now show per chip ram info instead of single chip and 2 channels.
- Joycon auto calibration on init was relaxed to fix an issue with drifting with HAL effect based joystick mods.
Additionally, that fix was also incorporated in the Switch to PC gamepad USB mode. - Added built-in 6axis calibration dumping for all the rest Switch SKUs and stick type for Lite for use in L4T
- Added info for sd card max supported bus speed and consolidate all UHS classes into one field.
- Added info about some LCD panel clones and new official revisions
- Fan is now controlled in a finer way
BDK Changes
- DRAM: Hynix 3rd gen ram was renamed to the proper model name.
- DRAM: Added extra info about Micron 3rd gen ram.
- DRAM: Added per chip MRR info
- HWINIT: reordered sdmmc1 power disable
- INPUT: Samsung touch panel was renamed to just TSP. BH2109 is manufacture date.
- SE: Added se_aes_cmac_128, se_aes_crypt_hash and se_aes_iv_updated_clear functions
- ACTMON: changed to average sampling
- MINERVA: Change pll input divider for 2200-2266 mhz and some other fixes
- UTILS: sprintf will now reject NULL terminated characters for %c
- UTILS: allow strtol to parse unsigned integers if base is 16 and number is positive
v6.0.7
hekate v6.0.7 changes
- HOS 17.0.0 support
- Optimized HOS INI1 packaging when it can fit inside the kernel region.
- L4T: Allow undervolting of RAM for stock frequencies
- L4T: Corrected some timings for Arachne that were higher than they should have
Nyx v1.5.6 changes
- HOS 17.0.0 support
- K4U6E3S4AB-MGCL dram was validated via photo and now is properly named in info
v6.0.6
hekate v6.0.6 changes
Boot entries:
- Allow overriding
bootwait
bootwait
can now be used on boot entries to override the global one.
L4T/Arachne T210 (Erista) and T210B01 (Mariko) changes:
- Automatically set rated DRAM frequency for T210B01 by default.
Since Arachne is now final and stable use 1866 MHz for old ones and 2133 MHz for newer ones.
T210 will still use 1600 by default, since these chips are rated as such. - Allow T210B01 RAM OC up to 3200 MHz (from 3000) and T210 RAM OC up to 2366 MHz (from 2133)
Some ram models and binning can handle it. This needs L4T 5.1.2 release and up to work. - Improved 8GB table creation for T210
- Allow ram undervolting. VDD2 min: 1050mV, VDDQ min: 550.
- Some timings were corrected to use latency based base values instead of frequency
Raises overall bandwidth performance and lowers latency - Added Memory PTSA DDA rework support for increased efficiency
This needs L4T 5.1.2 release and up for the custom rework changes, to work.
Wiki must be re-read after 5.1.2 L4T release before using these. As always OC must be balanced, not just cranked to max.
Nyx v1.5.5 changes
- emuMMC backup can be migrated as a file based emuMMC
- emuMMC restore now uses /backup/{sn}/restore/emummc folder
The parent restore folder is now avoided since it was always for eMMC restoring - Fixed an off-by-one issue with setting year on clock offset
- Fixed an issue where Nyx would fail to launch on first boot without a hekate_ipl.ini
- Improved ram channel detection on info
- Added more cal0 info
- Added public key info in fuses
BDK Changes
- FUSES: All fuse register defines were added
And T210B01 ones have B01 suffix now - FUELG: Register dumping moved to bdk for use by other applications
- T210: Added many useful memio addresses and macros
- I2C: Fixed stack buffer overflow
- MINERVA: OC freq is now handled by Arachne
v6.0.5
hekate v6.0.5 changes
- 4T: Add BPMP-FW support for T210 (power management).
- L4T: Add fine tuned DRAM voltage selection via
ram_oc_vdd2
andram_oc_vddq
.
More info will be in the L4T 5.1.1 config readme.
Nyx changes
- Lite Gamepad Calibration dumping
The Joycon BT pairing dump button can now be used to dump calibration data for Lite Gamepad. (Used in L4T 5.1.1, not yet released.) - Now eMMC errors will always be reported in eMMC info, even if eMMC init fails.
- Updated DRAM info about 2 of the 3 newer ram chips (not yet validated).
BDK Changes
- MINERVA: Fixed an issue where the wrong number of tables could be used.
- MINERVA: Normalize selected frequency. This allows user to not be precise on ram freq for l4t.
- MINERVA: Add support for 1966MHz (1958.4) and 2033MHz (2035.2).
- DRAM: Add support for custom dram id 7 for T210 (7 is easy to burn on top of any T210 ids). This is for 8GB ram chips.
- DRAM: Name 2 of the 3 new ram chips (Not yet validated, but an educated guess, since all previous ones were correct in the end.)
- DRAM: Corrected SKU info about mid cycle Hynix RAM chips.
- PMIC: Reduced max allowed dram voltage for new L4T dram support to be inside official limits.
- TIMER: A new isleep function was added that allows instruction timed based sleep.
- SDMMC: Fixed an issue where the wrong error reason was reported for the calibration pad for SD/eMMC.
v6.0.4
hekate v6.0.4 changes
- HOS 16.0.3 support
emuMMC Changes
- HOS 16.0.3 support
As always based on https://github.com/m4xw/emuMMC
v6.0.3
hekate v6.0.3 changes
- A mitigation was added for bad chainloaders that leave sd gpios in a bad state
- L4T: Now some 2019 T210B01 Samsung ram chips can be overclocked to 2133 MHz for Linux/Android.
- L4T: Added a mandatory change for supporting SD UHS DDR200 bus speed for Linux/Adnroid.
- Fixed an edge case where if hekate was run and the rtc alarm was fired after, booting to HOS would power off the device.
Since in that case the Switch was awakened via Power or USB, all flags are now cleared during Auto HOS Power off checks. - Various fixes and improvements
Nyx v1.5.3 Changes
- SD Card/eMMC benchmark now stalls less between each read, in order to stress the cards more.
- Various fixes and improvements
BDK Changes
- GPIO: Reorder configuration of input/output functions in order to mitigate bad configs from previous loaders
- GPIO: Added a dobounce set function
- SDMMC: Added SD UHS DDR200 bus speed mode, capable of reaching 200MB/s on UHS-I bus.
Can be enabled with theBDK_SDMMC_UHS_DDR200_SUPPORT
build time flag - SDMMC: Added proper SD DDR50 bus speed mode. Not used by default.
- SDMMC: Corrected the order of setting SD power limit. By spec, it only matters on SDR50 and up.
- SDMMC: Fixed an issue with sd removal detection
- SDDMC: Added sdmmc driver type set support
- SDMMC: Added debug printing functions of all SD card registers (CID/CSD/SCR/SSR).
- SDRAM: Added a function that allows latency allowance for SDMMC1 to be patched to eMMC values
- INPUT: Reordered power on of touchscreen in order to induce a small reset at start
- UTILS: Removed stop rtc alarm from power management functions
v6.0.2
hekate v6.0.2 changes
- HOS 16.0.0 Support
- Fixed an issue which could, in some cases, cause Stock-mode to hang on boot on
HOS 1.0.0 to 6.1.0
. - Fixed an issue on TUI mode where user could not access options without a
hekate_ipl.ini
In case hekate started with removed or broken SD and was plugged later - L4T Loader: updated T210B01 SC7-Exit firmware to account for new burnt fuses count
- Various other improvements.
emuMMC Changes
- HOS 16.0.0 Support
As always based on https://github.com/m4xw/emuMMC
Nyx v1.5.2 Changes
- HOS 16.0.0 Support
- Improve SD error handling on init. Added retries in case of failure.
If it still fails to load them, now user will properly get a fatal error message. - Added support for
bpmpclock=3
which further reduces clock speed for the worst binned SoCs
Additionally, the first boot clock test now lasts fro 10s on first boot, instead of 5s.
To changebpmpclock
, you need to manually editnyx.ini
, since it's not in the GUI options. - Reboot to OFW button now gets disabled if AutoRCM is enabled
- Fixed an issue on PKG1/2 dump tool which would produce incorrect binaries on PKG1 dumping.
- Various improvements/fixes
BDK Changes
- SDMMC: Improve init error handling
- GPIO: Added gpio_direction_input and gpio_direction_output functions that can fully configure a pin easier.
- 5V Regulator: Removed X3 pin for T210B01. VBUS regulator should not be managed there.
- HW Deinit: Do not touch APE clocks on T210B01
- HW Deinit: Remove support for broken HW init
- CLOCK: Improve PLLC deinit
- BM92T36: Added sanity checks for comms. Fixes hanging in case of broken i2c to that chip.
- SDRAM: Removed support for (LP)DDR2/3. Only LPDDR4(X) is used anyway.
v6.0.1
hekate 6.0.1 changes
- Hotfix 6.0.1 - L4T Loader:
Fixed an issue with some FW data not propagating on T210B01.
Fixed an issue with passing incorrect number of mtc tables on T210.
Nyx v1.5.1 Changes
- Fixed an issue where the transition from hekate logo to Nyx could be jarring on some LCD panels.
- Various improvements/fixes
v6.00
Supports: Erista (T210) and Mariko (T210B01) units
Latest HOS supported: 15.0.1
hekate 6.0.0 changes
- L4T Loader
Mandatory for new L4T releases and especially for Mariko support.
Coreboot is no more (Still supported until everything gets updated though). - R2P for Mariko. Will be used by L4T.
- Auto HOS power off will blink 3 times on OLED panels now
The previous method of slow fade out doesn't work on OLED panels, so blink instead. - Changed battery enough limits
Increased by 50-100mV. As always if you see the hekate battery empty icon, charge your switch, otherwise it can easily randomly shut off. - Various improvements/fixes
Nyx v1.5.0 Changes
- Fixed an issue where UMS eMMC mount could hang
- Added no border and colorized combo for launch options
Icons must have the_hue_nobox.bmp
suffix to enable that - Name the vendor of the new dram chips. Models still unknown.
- Make all backup/restore options to always use 4 MB for BOOT0/1 partitions
Adds better compatibility with custom eMMCs that have bigger boot partitions - Added 17 burnt fuses info missing from previous update
- Added more SD vendors
- Various improvements/fixes
BDK Changes
- eMMC: add emmc_set_partition
- UMS: fixed a use of stack without initialization issue
- SDRAM: Renamed new chips
- max77812: do not allow setting RAM1 regulator if not 211 phase
- clocks: host1x is now managed by hw-init only and not display/VIC/TSEC
- RTC: Added T210B01 R2P
- BQ24193: Remove charger forced enable
Any software that depends on that should properly manage the charger via the gpio instead of randomly disabling it - ini: ini_check_payload_section changed to ini_check_special_section to accommodate for
l4t
special key - Various improvements/fixes
v5.9.0
- HOS 15.0.0 full support
- Fixed a regression on HOS 6.2.0 causing TSEC to hang hekate
- A new animated ticker line is now shown during bootlogo's delay time
It gives a nice visible feedback and a reminder to user to press VOL- if needed.
It can be disabled by editinghekate_ipl.ini
and settingnoticker=1
in[config]
section. (GUI option may come later.)
That only disables the ticker for custom bootlogos, not the default hekate one. - For new Mariko users, Auto HOS Power Off feature is now enabled by default
Existing users, can enable it, as always, in Nyx -> Options -> Auto HOS Power Off. - Added an error message in case payload launching fails
Previously it wouldn't show anything. - Support for new dram chips
- Many under the hood improvements
Notice about Atmosphere 1.0.0 and up: The fss0=atmosphere/fusee-secondary.bin
in hekate_ipl.ini
must be changed to fss0=atmosphere/package3
. And make sure that atmosphere/contents
folder does not have old Atmosphere components.
Notice about resized emuMMC: Resized emuMMC does not have the slow bug anymore. You can create a new one or recreate it via Nyx and the issue will be gone.
emuMMC Changes
- HOS 15.0.0 Support
based on tree https://github.com/m4xw/emuMMC…b85516b35f7f4265ab0413825
Nyx v1.4.0 Changes
- Fluid GUI for Mariko
Nyx now uses HW rotation which extremely improves render times on Mariko
The slow and waterfall-like rendering is now gone. - Black Theme support
Added experimental Black Theme aimed mostly for OLED panels.
Can be enabled in Nyx Settings -> Color Theme -> Toggle Background.
You need to select Save & Reload after that to really use it.
For now it's experimental as it needs some tweaks here and there. - Added info about Switch Lite Sharp LQ055T1SW10 panel
- Fixed an issue that would create a massive stutter each time a tap was done on a window
Noticeable on Mariko devices since it would create a 1s stutter. (On Erista it's not visible.) - Nyx Options was renamed to Nyx Settings to avoid confusion with hekate/general Options
- A warning icon together with reason is now shown if fuel gauge is in init state
- The partition manager, now also does a backup of payload.bin in case a full backup is not possible
Now the total of backed up items in such a case is: hekate/Nyx files (bootloader), Mariko Warmboot Storage (warmboot_mariko) and payload.bin. - Fixed an issue with XUSB which would break USB on Mariko in L4T after UMS usage
- Fixed an issue where if user pressed the invisible padding buttons on a pop up, it would close it.
- Fixed a heap corruption issue when entering emuMMC window which could hang Nyx
- Improved various error messages
- Many under the hood improvements
BDK Changes
- Display: Added driver for VIC HW logic that is used to manipulate frame/texture buffers
- Display: Added Sharp LQ055T1SW10 panel defines
- Dram: Added support for new ram chips
- Power: RAM regulator on T210B01 SKUs can be now managed
- Power: Improved 5V regulator management
- XUSB: Finalized and optimized XSUB deinit
- eMMC: emmc_end can now be used to deinit eMMC
- I2C: Fixed an issue i2c packet send mode
- PMC: Added more pmc scratch lock types
- Fix a TSEC issue on 6.2.0 firmware
- lib: strtol and atoi replaced with custom versions to remove re-entrancy baggage from stdlib
- Various internal improvements
v5.8.0
Supports booting ALL current CFWs, Android/Linux booting and payload tools.
No more SD card removals
Supports: Erista and Mariko units
Latest HOS supported: 14.1.2
hekate 5.8.0 changes
- Better backlight control for Aula OLED panel
- Fixed an issue where Nyx would fail to load after a failed attempt of chainloading a payload
- Added watchdog timer to protect against hangs from SD corruption when loading and running LP0/Minerva configuration
Now if the libraries are corrupted and are executed, it will fire the watchdog after 5s if BPMP hangs and reload and skip them - Fixed a bug in low battery monitor where it could deinit display 2 times.
- Various BDK (HW) changes that are propagated to hekate main (aka under the hood improvements)
Notice about Atmosphere 1.0.0 and up: The fss0=atmosphere/fusee-secondary.bin
in hekate_ipl.ini
must be changed to fss0=atmosphere/package3
. And make sure that atmosphere/contents
folder does not have old Atmosphere components.
Notice about resized emuMMC: Resized emuMMC does not have the slow bug anymore. You can create a new one or recreate it via Nyx and the issue will be gone.
Nyx v1.3.0 Changes
- Add support for 5 entries per line in Launch/More Configs for a total of 10 entries
A new button calledExtended Boot Entries
is available in Nyx options - Support for grey background box removal on launch entries was added
To remove it, the icon must be named as *_nobox.bmp
. This also allows custom made ones built into the icon for better theming support. - emuMMC backup now uses backup/{emmc_sn}/emummc folder instead of default in order to keep it separate
- Switch Lite gamepad (Sio) support
- Hori gamepads on Switch OLED support
- Improved Joycon communication.
Now USB gamepad will behave better. Virtual mouse will not drift (if drift is not an issue). And lastly, BT pair dumping should always succeed first try, if it finds HOS pairings, unlike before where it sometimes failed to find these. Fix archive bit
tool now guards against corrupted sd cards, in order to avoid hangs
It now also reports errors when trying to access folders or fixing archive bits- Partition Manager's Backup/Restore now guards against corrupted sd cards, in order to avoid hangs
- Partition Manager now offers a full wipe, in case it can backup contents.
- Partition Manager now backups Mariko Warmboot Storage folder if it can't do a full backup. (Previously it would only backup the bootloader folder).
Fix Hybrid MBR
button now also clears hidden Windows attributes for MBR or GPT schemes and also checks if MBR has a GPT partition, in order to avoid revival of dead GPT.- Added support for showing info and getting proper ipatches dumps on T210B01 (Mariko)
- Added info about the new Hynix DRAM chip
- microSD info now also shows total size of FAT partition
- Various BDK (HW) changes that are propagated to hekate main (under the hood improvements)
BDK Changes
- Display: A full refactor of the Display Interface driver was done
Deduplicates various configs and also brings full support for Samsung OLED panel with proper backlight control and color management. Additionally, that saves around 1KB of payload space. - SDRAM: Deduplicated dram config patches to save binary space
- Regulator 5V: Added support for Hoag and Aula
- Fan: Added support for Hoag and Aula
- s_printf now prints negative numbers if %d is used. Additionally it is now checked for format errors.
Note: 64bit types are still not supported. Cast them to 32bit equivalent and print them in parts).
Any code that manually handles negative numbers should remove that part. - UART: Driver now supports manual and auto HW flow control and 2 STOP bit support for higher baudrates
BREAKING: uart_wait_idle function was renamed to uart_wait_xfer and uart_print to uart_printf to reflect on what they do. - Joycon: Driver was refactored and now supports Switch Lite
The refactoring also brought improved communication and fixed various issues when interfacing with them. - SDMMC: Fixed an issue where eMMC lower speeds would register as HS200 instead of lower
- SDMMC: Exposed get CSD and SCR functions.
- USB2: Stack now behaves better when RAM is slow
- XUSB: Improved power down
- USB2/XUSB: Do proper deconfigure of endpoints when host asks that
- Heap info was extended with nodes used and total nodes.
- Ini: Added proper ini free function (ini_free)
- List: Added backwards traverse macros for lists
- Tmr/WDT: Added timer/watchdog driver and also moved all timer/sleep functions into it
- IRQ: Added FIQ watchdog handling with
BDK_WATCHDOG_FIQ_ENABLE
. SettingBDK_RESTART_BL_ON_WDT
also, causes a reload of bootloader on FIQ
v5.7.2
Latest HOS supported: 14.0.0
Changes in this version
- HOS 14.0.0 Support
- Improve boot speed even further
These changes come and sit on top of v5.7.0 significant boot speed optimizations - And issue was fixed where it would unmount sd on new setups with no hekate_ipl.ini and throw an error about missing Nyx.
That was introduced in v5.7.0 and was caused because creating a new ini would unmount the sd card at the end. - Various fixes and improvements
Notice about Atmosphere 1.0.0 and up: The fss0=atmosphere/fusee-secondary.bin
in hekate_ipl.ini
must be changed to fss0=atmosphere/package3
. And make sure that atmosphere/contents
folder does not have old Atmosphere components.
Notice about resized emuMMC: Resized emuMMC does not have the slow bug anymore. You can create a new one or recreate it via Nyx and the issue will be gone.
emuMMC Changes
- HOS 14.0.0 Support
based on tree https://github.com/m4xw/emuMMC…9bf8daead237036254bb6e36d
Nyx v1.2.2 Changes
- Fix Aula 64GB emuMMC creation (for real this time)
- Fixed an issue where resized emuMMC would be created with half the free space available
Existing setups can use hacdiskmount tool or any other BIS mounter on their PC and force a check and repair.
If asked to recover broken files, hitno
(these files are not real). - Added an option to allow usage of right joycon as main mouse control
jcforceright=1
in nyx.ini will enable that and is useful for users with broken touchscreens and left joycon rails. - Updated dram and touchscreen info for HOS 14.0.0
- SD card info now also prints OEM ID in hex to ease hunting of fake cards
- Fixed an issue with pressing B causing abort on specific access flow
- Various fixes and improvements
BDK Changes
- Fixed BIS corruption on read/writes when sector is cluster unaligned and num was exceeding cluster sectors num - sector index in cluster.
- AHB arbitration/redirection can now be always enabled, used and managed.
The aperture is fully open for IRAM till end of MMIO.
Changes to MC/SDMMC/USB were done to adhere to the new flow.
A new compile time flag was added to enable that.BDK_MC_ENABLE_AHB_REDIRECT
- Various improvements to heap were done.
A new compile time is now available calledBDK_MALLOC_NO_DEFRAG
.
Using that will cause malloc/free to avoid defragmenting heap. - Ianos/elf loader no longer mounts/manages sd card. It should be mounted before calling it.
- Added new dram ids
v5.7.0
- HOS 13.2.1 Support
- Significantly improve HOS total boot speed
In all modes. (Total varies with mode) - Improve hekate init speed
That also helps with users that have faulty SD readers, as it will show TUI with error faster. - Improve payload launching speed
- Significantly improve speed and heap pressure when parsing hekate ini configs
- Significantly improve speed and heap pressure when parsing external kip patches
- Add automatic L4T Linux/Android kernel panic dumps
Needs new kernel that uses the L4T panic magic flag - Improve panic/exception error reporting
- Various other improvements and fixes
Notice about Atmosphere 1.0.0 and up: The fss0=atmosphere/fusee-secondary.bin
in hekate_ipl.ini
must be changed to fss0=atmosphere/package3
. And make sure that atmosphere/contents
folder does not have old Atmosphere components.
Notice about resized emuMMC: Resized emuMMC does not have the slow bug anymore. You can create a new one or recreate it via Nyx and the issue will be gone.
Nyx v1.2.0 Changes
- eMMC lower bus speed init support when init fails
User will be notified on Nyx boot if eMMC is initialized in lower bus speed or in eMMC if that is true or if read/write errors happened
eMMC hw issue reporting also added to inform user in such cases - Support OLED's 64GB when creating
FULL
partition based emuMMC
That's ofc a waste of space if selected, so it's better to use resized emuMMC - Highlight battery temperature when it's cold or hot.
In these states, charger chip disabled charging. - Fix missing set of attributes when restoring folders in partition manager
BDK Changes
- Added
bdk.h
global header that has everything that is needed - nx_sd now resides in BDK as sd.
- nx_emmc now resides in BDK as emmc.
All function names renamed from nx_emmc to emmc. Same for defines.
storage argument from various functions got removed.
eMMC init now supports fallback to lower BUS speeds if init failure happens - nx_emmc_bis now resides in BDK
- Minerva now automatically gets PLLMB and FSP OP/WR status
- Add prep work in Minerva for hekatf
- Improvements to display code. DSI write fifo and window fb address returns.
- Add WAR for data coherency issue for T210B01 SE
- Expose SE XTS functions and add NX based XTS
- Add Tegra Activity Monitor driver
- Add APB/AHB clock control
- Add strcpy_ns function that does strcpy and removes single start and trailing space
- Add compact s_vprintf function
- Add UART va printf that utilizes vprintf
- Significantly reduce heap fragmentation/pressure and increase performance when parsing .ini file
- NYX flag in bdk got replaced with proper ones:
- BDK_EMUMMC_ENABLE: replaces sdmmc read/write functions in emmc ops with emummc equivalent ones
- BDK_MINERVA_CFG_FROM_RAM: enables support for getting minerva configuration from nyx storage
- BDK_HW_EXTRA_DEINIT: enables extra deinit in hw_reinit_workaround
- BDK_SDMMC_OC_AND_EXTRA_PRINT: enables eMMC OC support (533 MB/s) and extra error printing
- Add HOME button (aka jig) input (btn_read_home)
v5.6.5
- HOS 13.1.0 Support
Notice about Atmosphere 1.0.0 and up: The fss0=atmosphere/fusee-secondary.bin
in hekate_ipl.ini
must be changed to fss0=atmosphere/package3
. And make sure that atmosphere/contents
folder does not have old Atmosphere components.
Notice about resized emuMMC: Resized emuMMC does not have the slow bug anymore. You can create a new one or recreate it via Nyx and the issue will be gone.
emuMMC Changes
- HOS 13.1.0 Support
Nyx v1.1.1 Changes
- Added info about new touch panel firmware
v5.6.4
- Various optimizations
- Improved more error messages for HOS boot
On mariko, instead of a generic "Is BEK missing?", it will now say if it really is missing or the pkg1 is actually corrupt.
On Erista/Mariko, the "Wrong pkg1 flashed!" error will now also tell which pkg1 type on which unit type.
Notice about Atmosphere 1.0.0 and up: The fss0=atmosphere/fusee-secondary.bin
in hekate_ipl.ini
must be changed to fss0=atmosphere/package3
. And make sure that atmosphere/contents
folder does not have old Atmosphere components.
Notice about resized emuMMC: Resized emuMMC does not have the slow bug anymore. You can create a new one or recreate it via Nyx and the issue will be gone.
Nyx v1.1.0 Changes
- Fixed an issue that could cause hangs on Switch Lite and OLED models
Disabling Joycon/Fan power would cause a SoC hang with how it was done.
That issue would manifest as a sudden hang in Nyx with touch/joycon/statusbar not responding. - Add Samsung display and touch model number info
- Add new Micron ram chips model number info
- Add fuses keygen revision
- Fixed date/time picker using 30 day check on the wrong months
BDK Changes
- Fixed an issue on Joycon/Fan 5V regulator for Hoag/Aula that would cause a hang
- Disabled fan control on Hoag/Aula
v5.6.3
- Fixed an issue that was causing hangs in hekate when parsing emummc.ini that has paths bigger than 128 characters
- Added Panic error reporting
These are normally shown on a device without AutoRCM as colored panic screens. Now hekate can also show them in text form, plus their error code. - Changed description of boot2 fatal error to better reflect possible causes
Notice about Atmosphere 1.0.0 and up: The fss0=atmosphere/fusee-secondary.bin
in hekate_ipl.ini
must be changed to fss0=atmosphere/package3
Notice about resized emuMMC: Resized emuMMC does not have the slow bug anymore. You can create a new one or recreate it via Nyx and the issue will be gone.
Nyx v1.0.8 Changes
- Fixed an issue with emuMMC disable, where it would dump garbage to nintendo_path key while saving emummc.ini.
- Changed the name of reboot options for patched devices when removing sd card
It was properly doing normal reboot instead of reboot to rcm, but the button name was wrong
BDK Changes
- String printing file functions in FatFS now check for NULL strings
- HW reset reason is now saved for later use
v5.6.2
- Fixed some issues with emuMMC ID in v.5.6.2:
- Fixed emuMMC ID size
This only affects users that use more than 1 emuMMC and actually care about the ID - Set emuMMC ID when
emupath=
key is used and emuMMC changes on the fly with a boot entry
- Fixed emuMMC ID size
v5.6.1
- HOS 13.0.0 Support
- Improved error messages for pkg1/pkg2 mismatch
- Improved error message on fatal because of mixed Atmosphere components because of old path in fss0 key.
Notice about Atmosphere 1.0.0 and up: The fss0=atmosphere/fusee-secondary.bin
in hekate_ipl.ini
must be changed to fss0=atmosphere/package3
Notice about resized emuMMC: Resized emuMMC does not have the slow bug since v5.6.0. You can create a new one or recreate it via Nyx and the issue will be gone.
emuMMC Changes
- HOS 13.0.0 Support
- Fixed slow resized emuMMC
It is now guaranteed as fast as full
Creating a resized emuMMC should be done via Nyx, as it has the proper fix during the creation process.
Nyx v1.0.7 Changes
- HOS 13.0.0 Support
- TSEC Keys button replaced with Lockpick RCM
Requires Lockpick RCM1.9.5
or later inbootloader/payloads/Lockpick_RCM.bin
- Change/Creation/Migration of emuMMC now uses a unique emuMMC ID generated from emuMMC's folder.
- Added info about new touch panels
- Added info about more SD Card manufacturer names
BDK Changes
Fixed building when sdram_lp0 embedded object is included
v5.6.0
- Full support for Switch OLED (Aula)
That's subject to change on "how it works" if OLED panel mods for earlier Switch (Icosa/Iowa) appear. - Sept is now completely removed
Boot process on Erista 7.0.0 and up is now completely overhauled
It's also now autonomous thanks to bundled new TSEC Keygen firmware by Atmosphere - Wrongly flashed pkg1 can now be identified and inform user
Erista pkg1 on Mariko or Mariko pkg1 on Erista.
emuMMC
- Fixed slow resized emuMMC
It is now guaranteed as fast as full
This works for old and new resized emuMMC. Even if they were not prepared for that.
Based on https://github.com/m4xw/emuMMC…c0d1b237cb74a823c02869f62
Nyx v1.0.6
- Full support for Switch OLED (Aula) info
- UMS on Mariko should now work fully on Linux/MacOS with weird usb controllers
- Fixed slow resized emuMMC
It is now prepared more properly on used eMMCs to ensure same performance as full sized
Before there was an issue where HOS would try to use out of bounds address on used eMMC copies and would kill SD performance.
Now that's cleared by default and HOS never goes out of bounds anymore. - All tools and procedures that depend on BIS keys can now be done in single session.
That's because Sept that was important for Erista 7.0.0+ is now removed
So now all Erista units can do it like a Mariko unit. With no need of proper HOS firmware in eMMC. - Fixed percentage showing up wrong when restoring a small eMMC/emuMMC into a big eMMC or SD partition.
- Fixed an issue where big labels in Launch would cause other labels to not show up.
- Add info on ram chip modules that use 1.5-2GB per channel/rank.
- SD cards that miss Manufacturer ID will now be reported as fake.
- Dump pkg1/2 tool will now always dump encrypted pkg1/2. (Previously it would do that only in decrypting errors.)
BDK
- Added support for Switch OLED (Aula) display panel.
That's subject to change on "how it works" if panel mods for earlier Switch appear. - Display Interface driver now ensures that display properly replies with display id.
- Added all new dram ids for preparation of new units that use them because of chip shortages.
- TSEC driver changed to distinguish old and new firmware via Tsec type instead of KB (mkey).
- XUSB driver was improved with better port status init/handling and error handling.
- UMS gadget now waits on CBW requests on XUSB to mitigate an issue with some host usb controllers and Linux/MacOS
That issue does not exist in Windows
v5.5.8
New in this version
- HOS 12.1.0 Support
This uses a new mkey. New Sept will need to run at least once on Erista models.
Nyx v1.0.5
- HOS 12.1.0 Support
- Added support for Sandisk eMMC device health report parsing for modded switches.
Supports Sandisk/Western Digital iNand 72XX, 73XX, 75XX from 16GB to 256GB. - Added proper error messages when restore folder is empty
- Added missing old touch firmware version info
BDK
- Added support for Sandisk eMMC device health report for modded switches.
v5.5.7
New in this version
- HOS 12.0.3 Support
hekate had support for 12.0.3 on clean SYS cfw or OFW already.
Support for emuMMC and SYS/Emu FS patches like nogc, had to be updated otherwise hekate would throw an error if used.
v5.5.7 adds full 12.0.3 support for all of that.
Just don't forget to drag n drop bootloader folder, because that's where the updated emuMMC code is.
emuMMC
- HOS 12.0.3 Support
Don't forget to drag n drop bootloader folder, because that's where the updated emuMMC code is.
based on https://github.com/m4xw/emuMMC…33d47840ceceb83cf39a1d218
Nyx v1.0.4
- Added explicit wording in case of overburnt fuses in HW & Fuses info
BDK
- ALS driver updated
- 5V regulator now disables USB source by default
v5.5.6
New in this version
- HOS 12.0.2 Support
- Auto NoGC is now applied if you have 12.0.2 and 14 fuses
That's because 12.0.2 burnt a fuse and brought the total to 15 fuses.
If user is still in 12.0.0-12.0.1 you will still needkip1patch=nogc
.
If updated to 12.0.2, that line can now be removed if wanted. - Fixed Seamless display for L4T Linux/Android
There was an issue where hekate would clear the bootlogo when launching L4T.
That is now fixed and the bootlogo will remain until kernel finishes init. - Fixed an issue when a kip patch was defined 2 times it would throw an error.
emuMMC
- Improved File based emuMMC
Fatals with MMC access errors when updating, moving or installing games is now fixed.
based on https://github.com/m4xw/emuMMC…ec81b372adae5e5623be7d16b
Nyx v1.0.3
- Allow backing up resized emuMMC
- Allow restoring small eMMC backup into a larger eMMC module with split file backup
Support for that was added before but there was a leftover check for split file backups.
That's now fixed and works the same way as single file backup. - BPMP clocking is now revamped
There are 4-5 reports where the users' Erista SoC binning can't handle the overclocking.
The issue manifests either by Nyx hanging on boot or eMMC backup verification failing.
New Nyx will now try to automatically set the best clock for these units.
First inject might hang but any consecutive one will succeed because Nyx will fallback because of the first failure.
To accommodate that,newpowersave
(original way to mitigate that) in nyx.ini was replaced withbpmpclock
.
If Nyx fails to set the correct clock in such cases, then user can force that by settingbpmpclock=2
to lower the clock. - Always align SD card total sectors when partitioning to ensure all partitions get the same alignment.
- Add info about a new InnoLux panel.
The info is incomplete, so anyone that repairs Switches and can see the display panel model from the back of it and pair it with the reported id in Nyx, is welcomed to help. - UMS will now inform user if ejected unsafely (while medium removal prevention was enabled).
BDK
- Minerva was updated to 1.4 to fix various Minerva and Nvidia bugs
- Corrected align down macro
- Moved uart B/C deinit inside Joycon driver
- Various other fixes. As always it's better to check commits for that.
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/emuMMC@ce2117c
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/emuMMC@b168ddf
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/emuMMC@d12dd54
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