[Switch] La période de release d’Atmosphère dévoilée !

La première version d’Atmosphère vient enfin d’être mise en ligne, avec quelques mois de retard.

Ah là là, Atmosphère ! LE Custom Firmware attendu par bon nombre de possesseurs de Nintendo Switch ! Ce même Custom Firmware dont la date de mise en ligne était initialement prévue pour le 15 juin (bien que l’on sait aujourd’hui que c’était un fake) ! Oui, je sais que beaucoup se réveillent au fond de la salle en se demandant ce qu’est Atmosphère… Laissez-moi vous expliquer ce qu’est ce CFW un plus bas !

Illustration du projet Atmosphère, le premier Custom Firmware de la Team ReSwitched à destination de la Nintendo Switch


1) Explications

Un Custom Firmware est une version modifiée du système d’exploitation officiel d’un système. L’installation d’un Custom Firmware permet donc d’avoir accès à des choses inexistantes à la base (exécution de homebrews, installation de dumps, utilisation de plugins…) ou bien cachées dans un firmware officiel.

Initialement annoncé par @SciresM en personne ; le projet consistait à réaliser un Custom Firmware totalement libre, donc avec un code source en libre accès sur sa page GitHub. Il se veut aussi dans la parfaite légalité et gratuitié, contrairement à celui de la Team-Xecuter, qui pour rappel propose un CFW payant ayant pour principal but le lancement de jeux.

Vous pouvez donc d’ores et déjà dire adieu à votre lanceur de backups avec ce CFW ! Néanmoins, il est plus que probable que du fait du libre accès à son code source sur internet, de petits génies trouvent un moyen d’en y implémenter un dans une version modifiée, avec éventuellement d’autres joyeuseries…

Bien ! Maintenant que tout cela est dit, passons aux informations que vous attendez depuis un long moment !

2) Informations

Comme vous pouvez l’imaginer, le changelog est assez imposant du fait du contenu du développeur qui y travaille d’arrrache-pied jours et nuits ! Sans plus attendre, je vous laisse le lire, traduit par mes soins :

La 0.7 sera la première version officielle d’Atmosphère. Il sera publié à la suite de la résolution des problèmes liés à cette version.

La meilleure estimation actuelle pour la release de la v0.7 est le mois d’août 2018.

Il prendra en charge les fonctionnalités suivantes :

Fusée, un bootloader customisé

Supporte le chargement et la personnalisation des KIPs arbitraires de la carte SD. Prend en charge la compilation des correctifs du kernel définis en fonction du temps sur la base d’un firmware.

Configurable en éditant le fichier BCT.ini sur la carte SD. Atmosphère devrait également pouvoir être lancé par l’alternative hekate bootloader, pour ceux qui le préfèrent.

Exosphère, un système de sécurité personnalisé et complet

Exosphère est une réimplémentation du firmware de la TrustZone de Nintendo, reproduisant entièrement toutes ses fonctionnalités.

De plus, il a été étendu pour fournir des informations sur la version actuelle de l’API Atmosphère, pour les homebrews souhaitant l’utiliser.

Stratosphère, un ensemble de sysmodules customisés

Et il comprend : un sysmodule loader.

Une ré-implémentation du Loader original de Nintendo, reproduisant entièrement toutes les fonctionnalités d’origine.

Étendu pour prendre en charge la redirection arbitraire du contenu exécutable vers la carte SD.

Les fichiers seront chargés de préférence à partir de /atmosphere/titles//exefs/, si présents.

Les fichiers présents dans les exefs d’origine qu’un utilisateur veut marquer comme non présents peuvent être “stubbés” en créant un fichier.stub sur le SD.

S’il est présent, un PFS0 à /atmosphère/titles//exefs.nsp remplacera complètement les exefs originaux sur 2.0.0++.

La redirection sera facultativement commutable en maintenant certains boutons enfoncés.

La prise en charge complète du patch du contenu des NSO est mise en œuvre.

Tous les patchs à des chemins comme /atmosphere/exefs_patches//.ips seront appliqués, permettant une distribution facile des patchs supportant plusieurs versions et/ou titres de firmware.

Les formats IPS et IPS32 sont pris en charge.

Étendu pour prendre en charge le lancement de contenu à partir de fichiers exécutables en vrac sur la carte SD, sans nécessiter d’installation officielle.

Ceci est fait en spécifiant FsStorageId_None au lancement.

Un Sysmodule de gestion des services

Ré-implémentation du service manager de Nintendo, reproduisant entièrement toutes les fonctionnalités d’origine.

Support de compilation pour la réintroduction de “smhax”, permettant aux clients de sauter la vérification de l’accès aux services en sautant l’initialisation.

Étendu pour permettre aux homebrew d’acquérir plus d’accès aux services privilégiés que ce que Nintendo permet nativement.

Extension pour ajouter une nouvelle API pour l’installation des clients Man-In-The-Middle pour les services arbitraires.

L’API peut en outre être utilisée pour détecter en toute sécurité si un service a été enregistré de manière non bloquante et sans effet secondaire. Documentation complète de l’API à venir.

Un Sysmodule de gestion de processus

Ré-implémentation du gestionnaire de processus de Nintendo, reproduisant entièrement toutes les fonctionnalités d’origine.

Étendu pour permettre aux homebrews d’acquérir plus d’accès aux processus arbitraires, et donc de lire/modifier la mémoire système sans bloquer l’exécution.

Extension par l’intégration d’une implémentation complète et étendue du module boot2system de Nintendo.

L’ordre de lancement des jeux a été optimisé afin de permettre un accès plus rapide à la carte SD.

Le module du système de collecte des erreurs n’est pas lancé intentionnellement, ce qui empêche de nombreux rapports d’erreurs de télémétrie du système d’être générés.

Les utilisateurs peuvent placer leurs propres sysmodules personnalisés sur la carte SD et les marquer pour le lancement automatique de boot2 en créant un fichier /atmosphere/titles//<title ID>/boot2.flag sur leur carte SD.

Un Sysmodule fs.mitm personnalisé

Utilise l’API MitM d’Atmosphère afin de fournir un moyen facile pour les utilisateurs de modifier le contenu du jeu.

Intercepte toutes les commandes FS envoyées par les jeux, avec un traitement spécial pour les commandes utilisées pour monter le contenu RomFS/DLC afin de faciliter la création et la distribution des mods de jeu/DLC.

Le fichier fs.mitm analysera l’image RomFS de base pour un jeu, une image RomFS située à /atmosphere/titles/<title ID>/romfs.bin, et tous les fichiers libres dans /atmosphere/titles/<title ID>/romfs/, et les fusionnera ensemble en une seule image RomFS.

Lors de la fusion, les fichiers libres sont préférés au contenu de l’image romfs.bin de la carte SD, et les fichiers de l’image de la carte SD sont préférés à ceux de l’image de base.

Peut également être utilisé pour intercepter les commandes envoyées par des titres système arbitraires (sauf celles lancées avant que la carte SD ne soit active), en créant un fichier /atmosphere/titles/<title ID>/fsmitm.flag sur la carte SD.

Un module de rapport de crash personnalisé

Remplace le module Creport System de Nintendo.

Génère des rapports détaillés et lisibles par l’humain sur les plantages du système, et les sauvegardant dans /atmosphere/crash_reports/<timestamp>_<title ID>.log

Comme les rapports ne sont pas envoyés au module système erpt, cela désactive toutes les télémesures liées aux rapports de crash.

Améliorations générales de la stabilité du système pour améliorer l’expérience de l’utilisateur

Oui, oui ; je sais, j’ai vu aussi tout comme vous le bon GROS TROLL à la fin que l’on nous sert tout le temps sur un plateau d’argent lorsqu’un fabriquant délivre une nouvelle mise à jour pour sa console (coucou Sony).

Blague à part, on peut quand même dire que SciresM ne nous avait pas du tout menti lorsqu’il nous promettait un CFW avec beaucoup de fonctionnalités. Et ce n’est pas tout ! 

Thermosphère, qui arrivera plus tard à cause de difficultés, sera une implémentation de l’emuNAND (cela devrait raviver des souvenirs pour ceux qui possèdent une 3DS) qui permet tout simplement d’émuler une version de firmware plus récente pour, par exemple, pouvoir avoir une console à jour afin de jouer à ses jeux, tout en gardant à côté une version 3.0.0 pour le hack. ^^

En bref ! Beaucoup de bonnes choses sont en approche pour la scène Switch, et ça ne promet que du bon (en même temps, à titre personnel, n’avoir qu’un seul CFW payant comme option, franchement c’est pas top).

Donc on se dit rendez-vous vers mi-août, et en attendant : l’équipe CTP vous souhaite comme toujours un bon hack ! ;)