Atmosphère 0.10.1

SciresM avait prévenu que la version 0.10.0 d’Atmosphère n’était pas forcément stable (pre-release), cette mise à jour très rapprochée d’aujourd’hui le confirme. En effet, un bug assez sévère émaillait la gestion de la réallocation mémoire sur les firmwares 5.0 et supérieurs. Alors qu’elle devait faciliter l’utilisation de sysmodules, le résultat était tout autre puisque ça ne fonctionnait pas du tout. De nouveaux patches kernel ont donc été ajoutés pour corriger le tir. De nombreux bugs sont aussi passés à la casserole par la même occasion, notamment :

  • un problème de corruption mémoire ou de boucle infinie avec la fonction de redirection de contenu (romFS)
  • le chargement de certains NRO qui provoquait une erreur inattendue (avec Smash Bros. par exemple)
  • le calcul incorrect de la taille des zones d’entrée/sortie qui empêchait l’utilisation de cheat codes

Le reste des modifications se situe « sous le capot du moteur » et ne devrait intéresser que les développeurs : le nom des librairies internes a changé, le chargement du système de démarrage se fait maintenant dans une zone mémoire non sécurisée (pour éviter la fragmentation), etc.

 

Le payload fusée-primary n’a pas été modifié pour sa part.

 

À noter : cette mise à jour talonnant de près la précédente, SciresM a décidé de retarder la suppression du patch hid_mitm à la prochaine version (0.10.2). Rappelons que ce patch de compatibilité permet aux anciens homebrews (compilés avec des librairies pré-9.x) de fonctionner correctement sur les firmwares 9.0+.

 

↓ Nouveautés / Corrections (cliquer pour voir) ↓

0.10.1 is Atmosphère’s twenty-fourth official release.

fusee-primary was last updated in: 0.10.0.

With thanks to the @switchbrew team, Atmosphère 0.10.1 is bundled with hbl 2.3, and hbmenu 3.2.0.

The following was changed since the last release:

  • A bug was fixed that caused memory reallocation to the system pool to work improperly on firmware 5.0.0 and above.
    • Atmosphere was always trying to deallocate memory away from the applet pool and towards the system pool.
      • The intent of this is to facilitate running more custom sysmodules/atmosphere binaries.
    • However, while memory was always successfully taken away from the applet pool, on 5.0.0+ granting it to the system pool did not work for technical reasons.
      • If you are interested in the technical details, talk to SciresM.
    • This has now been fixed by adding new kernel patches, and memory is correctly granted to the system pool as intended.
  • Atmosphere’s library system has been overhauled:
    • libstratosphere’s repository has been rebranded, more generally, to « Atmosphere-libs ».
      • In addition to libstratosphere, a new general library for not-stratosphere-specific code has been added.
        • This is currently named libvapours.
      • In the future, kernel functionality will be available as libmesosphere.
    • The build system for stratosphere system modules has been similarly overhauled.
  • The boot system module is now loaded into non-secure memory.
    • This helps somewhat to prevent fragmentation of the system memory heap.
  • A number of other bugs were fixed, including:
    • A bug was fixed that could cause memory corruption when redirecting certain Romfs content.
    • A bug was fixed that could cause an infinite loop when redirecting certain Romfs content.
    • A bug was fixed that could cause certain NROs to fail to load.
      • This caused the latest version of Super Smash Bros to display « An error has occurred » on launch.
    • A bug was fixed that caused input/output array sizes for certain circumstances to be calculated incorrectly.
      • This caused cheats to fail to function properly.
    • C++ exception code is now more thoroughly removed from stratosphere executables.
      • This saves a minor amount of memory.
    • A number of minor logic inversions were fixed in libstratosphere.
      • These did not affect any code currently used by released Atmosphere binaries.
  • Please note: Because this update is releasing so soon after 0.10.0, the removal of the temporary hid-mitm has been postponed to 0.10.2.
    • Please ensure your homebrew is updated.
  • Random number generation now uses TinyMT instead of XorShift.
  • General system stability improvements to enhance the user’s experience.

For information on the featureset supported by 0.10.0, please see the official release notes.

 

N’hésitez pas à consulter notre tutorial dédié au hack Switch si vous avez besoin de conseils quant à l’utilisation de ce Custom Firmware.
Joyeux 15 juin à tous !

 

 

 

 

Github