[Switch] - Fonctionnement du pack switch_AIO_LS_pack

 

Introduction

Cette page va servir à décrire tout se qui se rapporte au pack switch_AIO_LS_pack.

Contenu du pack

Le pack contient Atmosphere, Hekate, les sig_patches pour installer/lancer les contenus ainsi que divers homebrews et payloads pouvant s'avérer utiles. Le pack contient également ses propres configurations qui sont optimisées pour la majorité des utilisateurs. Il contient également des liens vers certains tutoriels, voir le dossier "tutos" sur la SD. Le pack contient aussi un homebrew particulier, le homebrew AIO_LS_pack_Updater qui lui a pas mal de fonctionnalités comme la possibilité de mettre à jour le pack, mettre à jour le firmware de la console, mettre en place des protections pour empêcher les connexions aux serveurs de Nintendo et tenter d'éviter le bannissement des serveurs de Nintendo, se mettre à jour lui-même, installer l'icône pour lancer le homebrew menu (très utile pour lancer les homebrews sans être limité par la RAM disponible) ou encore afficher/enregistrer des informations sur la configuration de la console et du hack. Ce homebrew sera abordé plus tard sur cette page.

Compatibilité du pack

Ce pack est compatible avec les configurations de hack les plus courantes, à savoir la puce Trinket, les puces SX Core/Lite ou HWFly, les dongles SX Pro ou SX Gear, etc... Pour ceux utilisant l'injection de payloads via un ordinateur ou via un téléphone pour lancer le hack il faut lancer Hekate pour avoir un fonctionnement optimal. Tous les modèles de Switch sont compatibles avec ce pack à partir du moment où le hack peut être utilisé sur la console.

Notes préalables

  • Il vaut mieux utiliser une SD formatée en FAT32 pour tirer partie au mieux des possibilités du pack.
  • Par défaut le pack est configuré pour lancer automatiquement Atmosphere si Hekate est lancé, pour aller dans Hekate il faut appuyer sur "VOL-" à l'affichage du tout premier logo lors du démarrage du hack.
  • Atmosphere démarrera sur l'emunand s'il y en a une de configurée pour Atmosphere, sinon il démarrera sur la sysnand. Ceci est valable pour le démarrage configuré par défaut dans Hekate ainsi que pour la configuration "Atmosphere auto" dans la liste des configurations (c'est en fait la config lancée par défaut au démarrage de Hekate dans le pack), sinon cela dépend bien évidemment de la configuration lancée.
  • Pour migrer l'emunand de SXOS vers Atmosphere voir ce tuto.
  • Si vous n'avez pas d'emunand il est fortement conseillé d'en utiliser une même pour les consoles bannies (une SD se remplace plus facilement qu'une nand en cas de problème), voir ce tuto qui explique comment faire avec Hekate et voir aussi cette page qui explique le fonctionnement de l'emunand d'Atmosphere, notamment le fonctionnement du fichier "emummc/emummc.ini" qui est très important.
  • Pour démarrer la console normalement (mode stock) vous pouvez démarrer la consolle en maintenant les deu touches de volume (fonctionne avec la majorité des puces récentes). Si cela ne fonctionne pas alors il faudra passer par Hekate, cliquer sur "Reboot" puis "Reboot OFW". Enfin si cela ne fonctionne pas alors toujours dans Hekate cliquer sur "Launch" puis "Stock". Attention, si vous n'utilisez pas d'emunnand il ne faut pas utiliser ce type de démarrage car la console risque d'être bannie à la moindre connexion à internet en mode stock.

Téléchargement

Les fichiers du pack ainsi que certaines instructions de mise en place peuvent être trouvés sur cette page

Installation/mise à jour du pack

Méthode manuelle

Il est tout d'abord à noter que la création d'une emunand ne sera pas abordée ici, voir un peu plus haut la note à ce sujet pour savoir comment faire par vous-même pour en créer une si vous n'en avez pas déjà une; idem pour migrer l'emunand de SXOS vers Atmosphere, voir plus haut sur cette page. Il faut aller sur la page de téléchargement puis récupérer les fichiers "nettoyage_sd.bat" (si PC sous Windows) et le fichier se terminant par ".exe" qui est l'archive contenant les fichiers du pack. Sous Windows il faut exécuter le fichier "nettoyage_sd.bat", indiquer la lettre de la SD et choisir de faire tous les nettoyages proposés si vous ne savez pas de quoi il s'agit. Le nettoyage ne supprime que les fichiers étant au mieux inutiles, au pire problématiques pour le lancement du CFW mais cela ne supprime pas d'autres fichiers. Une fois le nettoyage terminé il suffit de lancer le fichier se terminant par ".exe", de cliquer sur "Accepter", de choisir la lettre de la SD comme chemin d'installation et de cliquer sur "Installer". Une fois l'installation terminée une page internet s'ouvre, elle contient certaines informations concernant le pack dont les liens vers les différents homebrews utilisés dans le pack. Sou Linux et Macos il n'y a pas de fichier permettant le nettoyage de la SD, si vous l'avez il faut absolument supprimer le dossier "dernier_firmware_compatible" situé à la racine de la SD avant d'extraire le pack, pour le reste il faudra connaître le fonctionnement des fichiers sur la SD (si vous avez des problèmes au lancement du pack il peut être intéressant de supprimer le dossier "atmosphere/contents" (dossier contenant les modules mais aussi les mods/cheats concernant les jeux) qui peut être la source de beaucoup de soucis). Pour extraire le pack il faut renommer le fichier en changeant juste le ".exe" de la fin par ".zip" puis il suffit de l'extraire à la racine de la SD en écrasant les fichiers si cela est demandé durant l'extraction. Une fois les fichiers en place sur la SD il ne reste plus qu'à lancer Hekate et le CFW devrait se lancer. S'il faut mettre à jour le firmware alors le homebrew AIO_LS_pack_Updater peut être utilisé pour le faire (ne pas faire le nettoyage des modules ou s'il est fait remettre en place le pack sur la SD) ou sinon la méthode via Daybreak en utilisant le dossier "dernier_firmware_compatible" comme dossier source du firmware à installer.

Méthode automatisée via le homebrew AIO_LS_pack_Updater

Attention, les fonctions permettant d'installer le pack ne doivent pas être utilisées sur des SD formatées en EXFAT car cela peut corrompre des données. Par contre mettre à jour le firmware une fois la dernière version du pack mise en place peut être fait même sur une SD en EXFAT, tout comme l’obtention d'informations sur la console ou l'installation de l'icône pour lancer le homebrew menu. Pour utiliser cette méthode il faut également pouvoir lancer des homebrews donc avoir déjà une façon de lancer Atmosphere et le Homebrew Menu. Comme une connexion à internet est aussi nécessaire pour installer le pack ou la mise à jour de l'application il faut que la console soit protégée des connexions aux serveurs de Nintendo, pour cela il est possible d'utiliser le homebrew AIO_LS_pack_Updater pour mettre en place certains éléments qui protègeront la console pour qu'elle puisse se connecter à internet en CFW (mettre en place le homebrew comme expliqué ci-dessous et utiliser la fonction permettant de protéger la console avant toute mise à jour, une fois la console redémarrée sur le CFW (dans Hekate choisir de lancer Atmosphere sur l'emunand pour commencer et s'il y a une erreur choisir la sysnand car cela signifie que vous n'avez pas d'emunand configurée) la protection sera effective). Il faut commencer par télécharger le fichier se finissant par ".nro" et le placer dans le dossier "switch/AIO_LS_pack_Updater" (créer le dossier s'il n'existe pas). Une fois cela fait il suffit de lancer le homebrew AIO_LS_pack_Updater via le Homebrew Menu, de lancer la mise à jour de l'application puis de lancer la mise à jour du pack et de répondre aux différentes questions qui seront posées. La mise en place du pack se lance et une fois celle-ci terminée la console redémarrera avec les éléments à jour. Notez que si vous souhaitez utiliser la dernière version de développement du pack (peut être instable) vous pouvez passer le homebrew en mode beta en appuyant sur la touche "moins" du Joycon gauche, le changement de mode se verra en regardant la première ligne dans le homebrew. Une fois cela fait les informations et téléchargements se baseront sur la dernière version en développement. Voici quelques explications concernant les différentes questions:
  • "Souhaitez-vous mettre a jour le firmware (si oui les fichiers du theme seront aussi nettoyes)?" : Cette question permet d'installer ou non le dernier firmware compatible avec le pack durant la mise à jour du pack, répondre "oui" est recommandé.
  • "Souhaitez-vous nettoyer les fichiers du theme, utile si mise a jour du firmware par la suite?" : Si installation du firmware cette question ne sera pas posée, cela permet de supprimer les fichiers d'un thème Switch personnalisé qui cause souvent des problèmes lors de la mise à jour du firmware.
  • "Souhaitez-vous faire un nettoyage agressif, utile si mise a jour du firmware ou si vous venez d'un autre pack?" : Question plutôt explicite, ceci nettoie plus de fichiers qu'avec l'installation sans ce paramètre, bien sûr aucune donnée essentielle n'est supprimée.
  • "Souhaitez-vous faire un nettoyage des modules, utile si mise a jour du firmware ou si vous venez d'un autre pack?" : Permet de supprimer les modules qui sont souvent la cause de problèmes durant la mise à jour du firmware et parfois lors de la mise à jour d'Atmosphere, répondre "oui" est recommandé si vous utilisez d'autres modules que ceux du pack.
  • "Souhaitez-vous activer la conservation de certains fichiers (non recommande en general)?" : Permet de concerver certains fichiers de configuration, généralement il est recommandé de répondre "non" car les différents fichiers de configuration sont optimisés pour les utilisateurs non expérimentés.
  • "Souhaitez-vous activer l'autoboot sur une configuration de Hekate (le choix de la configuration lancee sera a faire durant l'installation du pack et sera obligatoire; pour demarrer sous Hekate avec l'autoboot actif il faut maintenir "vol-" au lancement de Hekate (avec certaines puces maintenir le bouton juste apres le glitch))? Si non l'autoboot de Hekate sera desactivé." : Permet d'activer ou non le démarrage automatique d'une configuration par Hekate, répondre "oui" est recommandé et durant l'installation du pack le choix de la config à lancer sera proposé, à ce moment choisir "Atmosphere auto" est recommandé.
  • "Souhaitez-vous retirer les logos?" : Permet de retirer les logos personnalisés du pack, ici choisir selon vos préférences, cela ne change en fait pas grand chose.
  • "Souhaitez-vous installer l'icone du Homebrew Menu permettant de lancer les homebrews en profitant de toute la RAM de la console (vivement recommande si vous ne l'avez pas)?" : Permet d'installer un "jeu" permettant de lancer le Homebrew Menu, le choix "oui" est recommandé car même si on a déjà l'icône il est possible que celui-ci soit mis à jour et passer par ce "jeu" pour lancer les homebrews est nettement préférable que de passer par l'album.
  • "Souhaitez-vous installer l'icone du forwarder de cet homebrew?" : Permet d'installer un "jeu" permettant de lancer directement le homebrew AIO_LS_pack_Updater, là le choix est à faire selon vos préférences.
  • La dernière question permet de valider l'installation, on a donc un rappel des options choisies suivi de la question demandant si on souhaite ou non lancer la mise à jour avec ces paramètres, répondre "oui" si tout est bon.

Installer la dernière version de développement du pack sans le homebrew AIO_LS_pack_Updater

  • Télécharger la dernière version de développement du pack.
  • Extraire le fichier quelque part sur l'ordinateur, pas sur la SD directement car l'archive contiendra un dossier contenant les fichiers du pack.
  • Effectuer le nettoyage de la SD comme expliqué dans l'installation manuelle normal.
  • Aller dans le dossier extraits puis copier les dossiers/fichiers s'y trouvant à la racine de la SD en écrasant les fichiers si cela est demandé.
  • Voilà, la dernière version de développement du pack est en place. Pour installer le firmware s'y trouvant Daybreak peut être utilisé avec le dossier "dernier_firmware_compatible" ou le homebrew AIO_LS_pack_Updater et sa fonction permettant d'installer un firmware (même règles que pour l'installation normal si nettoyage des modules).

Erreurs possibles

L'erreur "a fatal error occurred when running fusée. Failed to locate warmbout firmware" en lançant Atmosphere

Pour corriger cette erreur il faut commencer par avoir Atmosphere et Hekate à jour. Ensuite si vous avez mis à jour l'emunand juste avant il suffira de lancer Hekate, d'aller dans "Launch" puis choisir "Atmosphere emunand", une fois cela fait tout devrait refonctionner comme avant. Si vous avez mis à jour la sysnand juste avant il faut lancer Hekate, aller dans "Launch" puis choisir "Stock" et une fois le firmware lancé il faudra redémarrer et tout devrait refonctionner comme avant.

Une fatal error au lancement, juste avant d'accéder au menu principal de la console

Généralement cela signifie qu'un module n'est pas compatible, dans ce cas noter le TitleID concerné par l'erreur (le TitleID ressemble à quelque chose du genre "010000000000000D"), chercher un dossier nomé comme le TitleID dans le dossier "atmosphere/contents" sur la SD et supprimer ce dossier. Une fois cela fait retenter de lancer Atmosphere. Si le TitleID ne se trouve pas dans le dossier "atmosphere/contents" alors le problème peut être plus spécifique, par exemple une corruption de données.

Réponses au questionnaire

Comme vous le savez peut-être j'ai posté un questionnaire sur le pack vous permettant de vous exprimer. Je vais donc tenter ici de faire le point sur les sujets que vous abordés durant ce questionnaire.

Quelques rappels sur les bases du pack

Voici se qui ne changera jamais concernant le pack:
  • Ce pack privilégie la stabilité à tout autre chose.
  • Ce pack n'est pas pensé pour être minimaliste, d'autres packs le font très bien.
  • Le homebrew Tinfoil ne sera jamais inclus.
  • Un shop pré-configuré ne sera jamais inclus, pour rappel le piratage c'est illégal.
  • Ce pack est pensé pour contenter une large quantité d'utilisateurs, malheureusement il n'est pas possible de contenter tout le monde car des choix doivent être fait pour équilibrer l'accessibilité, la stabilité et les fonctionnalités. Croyez-moi ces choix sont parfois difficiles à faire, l'exemple de l'auto-boot de Hekate sur une configuration en est un exemple criant.
  • Ce pack est prévu pour simplifier les interventions techniques en cas de problèmes et donc permet d'accélérer les interventions éventuelles à faire auprès des clients. Et oui, ce pack est aussi un pack prévu pour les techniciens.

Installation et mise à jour du pack

Dans l'ensemble vous semblez être d'accord pour dire que le pack est facile à installer et à mettre à jour. Le homebrew AIO_LS_pack_Updater est aussi plus utilisé que la méthode manuelle pour mettre en place ou mettre à jour le pack. Tout cela me conforte pour dire que les choix effectués à ce niveau sont plutôt bons.

Les remarques sur le pack

Critique sur l'inclusion du firmware dans le pack

Cela revient souvent et je le comprend, avec plus de 300 MB le firmware occupe pas mal de place dans le pack, en fait la majeur partie de celui-ci en terme d'espace utilisé. Pourtant il est assez difficile de faire autrement, je pourrais effectivement proposer le téléchargement du firmware à part du pack mais cela complexifierait le processus d'installation ou de mise à jour pour ceux qui ne savent pas le faire alors que là en quelques cliques c'est réglé. Et du côté du homebrew AIO_LS_pack_Updater là aussi se serait plus complexe car ça m'obligerait à soit mettre à jour le homebrew à chaque fois qu'un nouveau firmware est compatible avec le pack (c'est hors de question), soit à maintenir un fichier que le homebrew irait télécharger pour récupérer le dernier lien du pack pour ensuite télécharger le firmware, franchement aucune des deux solutions n'ai vraiment convaincante à mon sens. Le gros avantage d'inclure le firmware dans le pack est que le contrôle de se qu'il se passe durant les scripts de nettoyage (manuels ou du homebrew) est bien plus simple à faire et permet une automatisation très efficace avec un maintien extrêmement léger à faire de mon côté. De plus ainsi ceux qui ne s'y connaissent pas ne risque pas de faire trop de bêtises en mettant à jour sur un firmware incompatible avec le pack et s'ils le font c'est qu'ils l'auront bien cherché. Enfin j'ai eu une remarque disant que le firmware est souvent inutile à inclure, bon OK très bien mais je définie comment quand cela est utile ou pas quand je ne sais pas quelle version du pack les gens ont avant sur la SD? Réponse c'est impossible, soit le firmware est inclus ou soit il ne l'est pas. Pour le homebrew je pourrais éventuellement intégrer un fonctionnement comme dans mon Ultimate-Switch-Hack-Script mais je n'ai pas la même flexibilité sur la console et de plus ça va compliquer le maintien, déjà que ça me demande pas mal de travail de maintenir le pack j'aime autant ne pas m'en rajouter pour quelque chose qui au final me semble très mineur.

Trop de homebrews inclues

Cela revient souvent aussi, il y a trop de homebrews dans le pack. Pour commencer, à l'heure actuelle, les homebrews inclus ne prennent que 164 MO d'espace sur la SD, pas de quoi fouetté un chat franchement. Oui certains homebrews font doublons, ça c'est totalement vrai. Cependant il ne faut pas oublier que certaines personnes ont des habitudes qu'il n'est pas toujours facile de changer, je pense que les homebrews choisis sont ceux qui sont les plus utilisés et ceux avec lesquels on trouve le plus de tutoriels. Alors oui, si je n'écoutais que moi il y a pas mal de homebrews que je retirerai d'autant que mon homebrew AIO_LS_pack_Updater et DBI couvrent une bonne partie de se que font les autres homebrews mais voilà, beaucoup d'utilisateurs ne s'y retrouveront pas et il faut aussi savoir composer avec ceux-ci. Un exemple fort est JKSV, beaucoup d'utilisateurs continuent de s'en servir car ils en on l'habitude depuis des années, je ne me vois pas retirer ce homebrew au profit de DBI qui certes fait la même chose mais dont beaucoup ignore qu'il le fait d'autant qu'en plus faut tout refaire pour ceux qui utilisaient JKSV. Bon j'ai même eu un commentaire qui disait que le homebrew AIO_LS_pack_Updater devrait être retiré du pack, là bon j'ai rien à répondre tant c'est absurde de retirer se qui fait le cœur de ce pack justement et il le fait en ne prenant qu'un peu plus de 3 MB d'espace sur la SD, pour tout se qu'il fait c'est vraiment peu.

Des fichiers inutiles

Un commentaire m'a fait un peu bondir quand j'ai vu que certains fichiers étaient inutiles, comme les fichiers liés aux anciennes configurations de la puce Trinket. Là je vais faire simple, c'est de l'égoïsme pur de sortir un truc pareil, la config ne prend pour ainsi dire aucun espace sur la SD, ne gêne en rien le fonctionnement sur les autres consoles mais étend juste la compatibilité du pack à des configurations spécifiques qui certes date un peu mais ne peuvent pas non plus être ignorées parce que certains n'aiment juste pas voir des fichiers sur la SD, parce que vraiment c'est que ça le problème là et c'est ridicule. Il y a d'autres fichiers qui servent aux dépannages, cela peut permettre dans certains cas de gagner beaucoup de temps sur certaines interventions. Et encore une fois ces fichiers ne prennent quasiment rien sur la SD alors qu'ils peuvent apporter beaucoup, clairement ils ne seront jamais retirés. Faire plusieurs packs comme il m'a aussi été proposé est hors de question, déjà que maintenir un pack est pénible donc plusieurs c'est même pas la peine d'y penser. Et puis pour quel gain réel, aucun sauf ajouter de la confusion, la plupart des gens ne savent même pas quel est leur modèle de console ou quelle est la puce installée sur la console. Et sans parler de gérer ça via le homebrew AIO_LS_pack_Updater, là ça va devenir l'enfer total, c'est déjà bien assez compliquer comme ça. Par contre cette remarque m'a fait pensé que la documentation présente dans le fichier "A propos de switch_AIO_LS_pack.html" se trouvant à la racine du pack n'est plus franchement à jour, en plus de la réécrire j'expliquerai dedans quel est l'utilité de chaque dossier ou fichier (note: modification effectuée et publiée sur le Github du projet, sera donc intégrée dans la prochaine release du pack).

Ajout de modules

Les modules c'est assez pénible à gérer, raison pour laquelle je n'en inclue que deux car ils me semblent indispensables. Après oui je pourrais en ajouter et les désactiver au lancement lors d'une mise à jour mais du coup l'intérêt devient limité selon moi, autant récupérer la mise à jour du module soi-même au final. De plus intégrer des modules pourraient ralentir encore la mise en place des nouvelles releases du projet lors de la mise à jour d'Atmosphere ou/et du firmware car il faudrait potentiellement attendre que les modules se mettent à jour aussi, personnellement je n'y suis pas favorable même si je reste ouvert à la discussion et aux propositions. Pour prendre l'exemple de Sys-CLK, s'il est mal réglé il peut potentiellement endommager la console à cause de l'overclock, je pense donc que c'est à chacun de prendre ses responsabilités à ce niveau là, personnellement je ne suis pas favorable à être responsable d'un problème sur le matériel à cause d'un module inclus.

Modification ou suppression des logos

Ce point revient aussi beaucoup, ceux qui utilisent le homebrew AIO_LS_pack_Updater peuvent supprimer les logos lors de la mise à jour du pack ou via une fonction du homebrew, ça fonctionne très bien et c'est extrêmement simple à faire. Certains trouvent aussi les logos de mauvais goût, là je vais juste répondre que c'est très subjectif comme avis. Après de là à dire qu'on utilise pas le pack juste à cause des logos là ça en devient absurde d'autant que comme je l'ai expliqué il est facile de les retirer pour revenir en mode stock.

Remarque sur le homebrew AIO_LS_pack_Updater

Supporter l'EXFAT lors de la mise à jour du pack

C'est se qui revient le plus mais malheureusement le problème ne vient pas de mon homebrew, cela vient du driver EXFAT de Nintendo qui fait n'importe quoi et corrompt aléatoirement la SD lors de gros traitements sur les fichiers. Le homebrew peut fonctionner avec une SD en EXFAT mais le risque de corrompre la SD est assez élevé, c'est pourquoi je ne recommande pas de mettre à jour le pack avec le homebrew. Par contre toutes les autres fonctionnalités devraient bien fonctionner même en EXFAT.

Faire un truc plus explicite au lancement de la console

Là j'avoue j'ai pas bien compris, probablement le nom des configs mais je ne vois pas comment faire mieux. Il ne faut pas oublier que ce homebrew est aussi très adaptable via ses fichiers de configuration, il n'est pas expressément lié au pack donc je ne peux pas faire totalement se que je veux non plus.

Remplacer les logos de boot

En manipulant les fichiers de configuration du homebrew cela est possible, mon projet Github du homebrew donne toutes les infos à ce sujet. Par contre c'est à vous de savoir configurer se qu'il faut, mon homebrew permet lui de juste mettre en place l'automatisation du téléchargement des logos inclus correctement dans un fichier zip qu'il s'occupera ensuite de mettre en place. C'est pour cela qu'aucun fichier de configuration du homebrew n'est inclus dans le pack, cela permet de donner un maximum de flexibilité aux utilisateurs qui souhaiteraient personnaliser les choses.