[Nintendo Switch] Atmosphère 1.4.0

Podcast NewsInside, siga e ouça mensalmente no Spotify:


Atmosphère é um firmware personalizado em andamento para o Nintendo Switch.

Please be sure to update fusee when upgrading to 1.4.0. fusee-primary no longer exists, and will not work any more.

Note: The following was changed since pre-release:

  • A bug was fixed in fusee that would cause a black screen when booting with nogc patches on and exFAT-supporting firmware installed.
  • A bug was fixed that could cause the gdbstub to report the wrong file/module name when debugging homebrew.
  • hbl was updated to version 2.4.3.

With thanks to the @switchbrew team, Atmosphère 1.4.0 is bundled with hbl 2.4.3, and hbmenu 3.5.1.

The following was changed since the last release:

  • Support was added for 15.0.0.
    • mesosphère was updated to reflect the latest official kernel behavior.
    • ncm was updated to reflect the latest official kernel behavior.
  • A number of minor issues were fixed and improvements were made, including:
    • The capacity limit on registered add-on contents was fixed in NCM to reflect the increase that occurred in 12.0.0.
    • An off-by-one was fixed in mesosphere when computing the new value for an address arbiter signaled with ModifyByWaitingCountIfEqual.
    • dmnt.gen2’s gdbstub now sanitizes thread names to prevent invalid characters from breaking gdb.
    • dmnt.gen2’s gdbstub now reports the architecture tag correctly when attached to 32-bit processes.
    • Support for program-specific html manual content overrides was added for non-hbl takeover context.
    • A bug was fixed in how emummc constructed the alternate Nintendo directory path.
      • Previously, this was using /*/Nintendo/Nintendo instead of /*/Nintendo.
      • Code was added to automatically move the old folders to the new ones when booting into emummc.
    • A bug was fixed in boot that caused an incorrectly low input voltage limit to be set.
  • General system stability improvements to enhance the user’s experience.

1.4.0 é o sexagésimo sétimo lançamento oficial da Atmosphère.

Certifique-se de atualizar o fusee ao atualizar para 1.4.0. fusee-primary não existe mais e não funcionará mais.

Download

[Nintendo Switch] Hekate V5.9.0 & Nyx V1.4.0

Podcast NewsInside, siga e ouça mensalmente no Spotify:


Hekate & Nyx é um conjunto do Bootloader gráfico personalizado do Nintendo Switch, patcher de firmware, ferramentas e muito mais, com ele você pode iniciar sua emuNAND, instalar Linux e Android no Switch, copiar e colar arquivos necessários e a manutenção do switch por completo.

Hekate 5.9.0 Changes (Inglês)
  • 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 editing hekate_ipl.ini and setting noticker=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

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

Como Atualizar?

  • Arraste e solte a pasta do bootloader na raiz do cartão SD e clique em mesclar/substituir.
  • Não há necessidade de excluir essa pasta primeiro, especialmente se você deseja suas configurações e payloads.
  • Você pode optar por atualizar seu dispositivo de injeção RCM ou PC com o novo hekate_ctcaer_x.x.x.bin ou não.
  • Em qualquer caso, bootloader/update.bin, será verificado e, se for mais recente, será carregado.
  • update.bin é o hekate e já está copiado com o processo de atualização de arrastar e soltar da pasta bootloader.

Download

[Nintendo Switch] Atmosphere 1.2.1

Revisado por Mr. Madruga

Siga o NewsInside Podcast no Spotify AQUI. Essa semana já tem novo episódio sobre Games Nacionais


Feliz 15 de julho!

Para quem não conhece o Atmosphère consiste em vários componentes, cada um dos quais substitui / modifica um componente diferente do sistema:

  • Fusée: Carregador de primeiro estágio, responsável por carregar e validar o estágio 2 (TrustZone personalizado) mais o package2 (Kernel / FIRM sysmodules) e corrigi-los conforme necessário. Isso substitui todas as funcionalidades normalmente em Package1loader / NX Bootloader.
  • Sept: Payload usado para ativar o suporte para derivação de chave de tempo de execução em 7.0.0.
  • Exosphère: Customized TrustZone, para executar um Secure Monitor personalizado
  • Thermosphère: suporte EL2 EmuNAND, ou seja, backup e uso de imagens NAND virtualizadas / redirecionadas
  • Stratosphère: Sysmodule (s) customizado (s), ambos no estilo Rosalina para estender o kernel / fornecer novos recursos, e do estilo de reimplementação do carregador para enganchar ações importantes do sistema
  • Troposphère: patches do Horizon OS no nível do aplicativo, usados para implementar os recursos desejáveis do CFW

Melhorias:

O que Mudou? (Inglês) - 25/10/2021
  • Support was implemented for 13.1.0.
    • mesosphère was updated to reflect the kernel behavioral changes made in 13.1.0.
      • KScheduler now issues a data memory barrier when unlocking the scheduler lock and when early-returning due to top-thread-is-current during scheduling.
    • erpt was updated to reflect the latest official behaviors.
      • The new service added in 13.0.0 (“sprofile”) was revised, and the data formats it expects was changed.
        • This still appears to be (possibly(?)) untestable due to data not being transmitted yet, but I have greater confidence things will go smoothly than I did when 1.1.0 released.
  • A number of improvements were made to mesosphère, including:
    • A build target was created to build targeting the qemu virt board.
      • This facilitates writing unit tests for the kernel (and other atmosphere components) and running them under PC.
        • Please Note: Official system software will not work at all under this, and the Atmosphère project has zero interest in attempting to run official software of any kind. This is unit testing machinery, and explicitly not more than that.
      • This should hopefully allow us to have greater confidence that all of atmosphere’s components work the way they’re theoretically supposed to in the future.
      • Please Note: If you are a developer who is familiar with the Horizon operating system (or capable of becoming familiar), I would greatly appreciate help writing tests and improving the testing framework.
        • Please contact SciresM#0524 if you are capable and interested.
          • Really, if you are actually a developer who would like to help me get this off the ground, I would deeply appreciate it.
          • That said, if you are not a developer but want to be one, this probably isn’t the best opportunity; I expect it to be highly technical.
            • Consider the ReSwitched discord’s #hack-n-all channel for your educational purposes.
        • We are (at least for now) using catch2 for unit tests.
    • Almost all virtual calls in the kernel are now resolved statically.
      • This eliminates substantial virtual call overhead, and should lead to improved kernel microperformance in pretty much every function.
    • The remaining red black tree find operations which weren’t using the optimized “find key” variant are now using the optimized version.
    • Custom assembly was written to improve tick-to-timespan conversion.
      • This works around gcc emitting suboptimal assembly at -Os (it emits good assembly at -O3, clang is fine at both -O3 and -Os).
    • KThread and KSession structures were updated to optimize member layout, saving 0x10 bytes per KThread/KSession object.
    • Rather than unnecessarily zero-ing all data in kernel objects only to overwrite members later, we now only initialize the members we need to in kernel object constructors.
      • This is what Nintendo was doing already.
    • A set of custom optimized atomic primitives were implemented and are used in place of std::atomic<>
      • This works around a gcc bug which downgrades specified memory order to seq_cst, and introduces clrex in places where it is appropriate.
      • This should strictly improve microperformance of many system calls.
    • An compile-time toggleable extension was added to support 40-bit physical addresses in MapRange capabilities (using currently reserved bits).
    • A number of minor bugs were fixed, including:
      • Initial cache management now better reflects official behavior.
        • This fixes an issue that caused certain hardware with cache sensitivity to produce cryptic kernel panics during boot.
      • Incorrect logic when checking thread priority capabilities was fixed to reflect official behavior.
      • The scheduler was updated to reflect latest official behavior, and a number of minor bugs involving clz/ctz were fixed.
      • Accesses to the processes local region were fixed to properly use kernel linear region, not userland pointers.
      • The cache SVCs exposed for 32-bit processes now better reflect official core mask request semantics.
      • A bug was fixed that could cause a kernel panic if SvcArbitrateLock was called on a thread with exactly one reference in the middle of handling a user-mode exception.
  • General system stability improvements to enhance the user’s experience.

Download

[Nintendo Switch] Atmosphère 1.2.0 (Pré Lançamento)

Siga o NewsInside Podcast no Spotify AQUI. Essa semana já tem novo episódio sobre Games Nacionais


Feliz 15 de julho!

O Atmosphère consiste em vários componentes, cada um dos quais substitui / modifica um componente diferente do sistema:

  • Fusée: Carregador de primeiro estágio, responsável por carregar e validar o estágio 2 (TrustZone personalizado) mais o package2 (Kernel / FIRM sysmodules) e corrigi-los conforme necessário. Isso substitui todas as funcionalidades normalmente em Package1loader / NX Bootloader.
  • Sept: Payload usado para ativar o suporte para derivação de chave de tempo de execução em 7.0.0.
  • Exosphère: Customized TrustZone, para executar um Secure Monitor personalizado
  • Thermosphère: suporte EL2 EmuNAND, ou seja, backup e uso de imagens NAND virtualizadas / redirecionadas
  • Stratosphère: Sysmodule (s) customizado (s), ambos no estilo Rosalina para estender o kernel / fornecer novos recursos, e do estilo de reimplementação do carregador para enganchar ações importantes do sistema
  • Troposphère: patches do Horizon OS no nível do aplicativo, usados para implementar os recursos desejáveis do CFW

Melhorias:

O que Mudou? (Inglês) - Pré-lançamento 18/10/2021
  • boot was updated to reflect the latest official behavior for display/battery management.
    • This should fix any issues that might result from running older releases on the OLED model, if you’re somehow in a position to do so.
  • The “target firmware” system was changed to allow the bootloader to specify an approximation, rather than the true target firmware.
    • Previously we expected compliant bootloaders to inspect SYSTEM:/ to determine the specific target firmware.
    • Now, we only require an approximate version, with major version == true major version and approximate version <= true version.
    • This greatly simplifies bootloader requirements, and correspondingly all code for accessing SYSTEM has been removed from fusee.
      • This should result in a substantial speedup when booting emummc with fusee, as SYSTEM accesses were the most expensive thing done previously.
    • This should resolve any inconsistency in firmware detection when booting via fusee vs hekate.
    • This should also improve our compatibility with micro firmware releases, making it more likely that atmosphere “just works” if nothing important has changed.
  • Dynamic resource limit determination logic was implemented in pm to match latest official behavior.
    • This greatly simplifies/makes consistent the resource limits on older firmwares, as well.
  • An enormous amount of refactoring was performed under the hood, including:
    • Please Note: If you are a developer who uses Atmosphere-libs, a number of changes here are breaking.
      • Feel free to contact SciresM#524 for help updating your program.
    • The OS namespace had many primitives implemented/made more accurate.
    • Since mesosphere is now always-on, os::LightEvent (which required newer SVCs) is now globally usable (and used by stratosphere where relevant).
    • Assertions are now true no-ops when building for release.
    • Stratosphere is now built with -Wextra/-Werror.
    • Most “common” logic in system module main.cpp files was moved into libstratosphere.
      • Please Note: main.cpp files for prior atmosphere-libs will no longer work, for a really large number of reasons.
    • A number of longstanding code style issues were corrected.
    • Mesosphere now uses util::BitFlagSet for SVC permissions.
    • Mesosphere now puts its relocation table inside .bss, which allows that memory to be reclaimed after relocations are performed.
      • These changes save ~16KB of memory in the kernel, all said and done.
    • A number of locations in stratosphere where memory could be saved were spotted and taken advantage of, leading to ~150-200KB of saved memory.
    • The spl and loader system module was refactored to better reflect official logic.
    • sf ipc server code was updated to only emit mitm/defer logic when that logic is actually required somewhere in process.
    • tipc ipc server code was updated to reflect changes to official logic made in 13.0.0.
    • Many, many other minor changes, please talk to SciresM#524 or read the relevant commits if you want to know more.
  • A number of minor issues were fixed, including:
    • Mesosphere’s handling of SVC permissions on thread pin/unpin was updated to reflect official kernel behavior.
    • util::CountTrailingZeroes() was fixed to calculate the correct value when used at compile-time.
  • General system stability improvements to enhance the user’s experience.

Caso você queira baixar o Pré-Lançamento, faça no link abaixo:
Download Pré-Lançamento

Caso você queira checar se a versão 1.2.0 já tenha saido, confira no link abaixo:
Download Lançamento 1.2.0 ( a etiqueta laranja de pré-lançamento sumirá quando for lançado de vez)

[Nintendo Switch] Atmosphere 1.1.0

Siga o NewsInside Podcast no Spotify AQUI. Essa semana já tem novo episódio sobre Games Nacionais


Feliz 15 de julho!

O Atmosphère consiste em vários componentes, cada um dos quais substitui / modifica um componente diferente do sistema:

  • Fusée: Carregador de primeiro estágio, responsável por carregar e validar o estágio 2 (TrustZone personalizado) mais o package2 (Kernel / FIRM sysmodules) e corrigi-los conforme necessário. Isso substitui todas as funcionalidades normalmente em Package1loader / NX Bootloader.
  • Sept: Payload usado para ativar o suporte para derivação de chave de tempo de execução em 7.0.0.
  • Exosphère: Customized TrustZone, para executar um Secure Monitor personalizado
  • Thermosphère: suporte EL2 EmuNAND, ou seja, backup e uso de imagens NAND virtualizadas / redirecionadas
  • Stratosphère: Sysmodule (s) customizado (s), ambos no estilo Rosalina para estender o kernel / fornecer novos recursos, e do estilo de reimplementação do carregador para enganchar ações importantes do sistema
  • Troposphère: patches do Horizon OS no nível do aplicativo, usados para implementar os recursos desejáveis do CFW

Melhorias:

O que Mudou? (Inglês)

1.1.0 is Atmosphère’s fifty-fifth official release.

Please be sure to update fusee when upgrading to 1.1.0. fusee-primary no longer exists, and will not work any more.

Please note: Atmosphère 1.1.0 is currently in pre-release, and issues may be found that need to be fixed before full release.

  • If any bugs are reported while Atmosphère is in pre-release, they will be fixed and the build will be updated.
  • 1.1.0 will transition to release after a short amount of time has passed without pressing bug reports.

With thanks to the @switchbrew team, Atmosphère 1.1.0 is bundled with hbl 2.4.1, and hbmenu 3.4.1.

The following was changed since the last release:

  • Support was implemented for 13.0.0.
    • mesosphère was updated to reflect the latest official kernel behavior.
    • ncm was updated to reflect the latest official behaviors.
    • erpt was updated to reflect the latest official behaviors.
      • Two new services (“sprofile”) were added to erpt, and have been fully reimplemented.
      • Please Note: These services provide a way for settings to be pushed to consoles over the internet without system update.
        • Because there appear to be no settings pushed out yet, this implementation fundamentally cannot be fully tested right now, but hopefully there are no issues once settings begin being distributed.
  • The LogManager system module was reimplemented.
    • This system module provides services that some games use for logging.
    • Atmosphere’s reimplementation supports logging to the SD card (if lm!enable_sd_card_logging is true) and to ams.TMA.
      • To control the directory where logs are saved, modify the lm!sd_card_log_output_directory setting.
    • Atmosphere’s reimplementation is disabled by default (in order to save memory), but can be enabled by setting lm!enable_log_manager to true.
      • This will allow reading over logs from games which use the services (or potentially logging from homebrew in the future), which can be useful to developers.
      • Please note that when TMA is fully implemented in the future, enabling TMA will forcibly enable LogManager.
  • General system stability improvements to enhance the user’s experience.

Download Pré-lançamento: Por hora a versão 1.1.0 é um pré lançamento, quando virar um release estável, será pelo link abaixo
Download Lançamento

[Nintendo Switch] Atmosphere 0.20.1

Siga o NewsInside Podcast no Spotify AQUI, novos episódios mensais, gravações ao vivo na Twitch


O Atmosphère consiste em vários componentes, cada um dos quais substitui / modifica um componente diferente do sistema:

  • Fusée: Carregador de primeiro estágio, responsável por carregar e validar o estágio 2 (TrustZone personalizado) mais o package2 (Kernel / FIRM sysmodules) e corrigi-los conforme necessário. Isso substitui todas as funcionalidades normalmente em Package1loader / NX Bootloader;
  • Sept: Payload usado para ativar o suporte para derivação de chave de tempo de execução em 7.0.0;
  • Exosphère: Customized TrustZone, para executar um Secure Monitor personalizado;
  • Thermosphère: suporte EL2 EmuNAND, ou seja, backup e uso de imagens NAND virtualizadas / redirecionadas;
  • Stratosphère: Sysmodule (s) customizado (s), ambos no estilo Rosalina para estender o kernel / fornecer novos recursos, e do estilo de reimplementação do carregador para enganchar ações importantes do sistema;
  • Troposphère: patches do Horizon OS no nível do aplicativo, usados para implementar os recursos desejáveis do CFW.

Para Atualizar você pode usar o DeepSea que atualizará todos os homebrews no console.
Caso prefira atualize diretamente no Github do Atmosphere.

Download