Atmosphère: Unterschied zwischen den Versionen

Aus WiiDatabase Wiki
Zur Navigation springenZur Suche springen
7.958 Bytes hinzugefügt ,  2. Februar 2021
K
(28 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 15: Zeile 15:


Atmosphère v0.8.5 fügte Cheat-Support hinzu.<ref>[https://wiidatabase.de/atmosphere-v0-8-5-mit-cheat-support/ Atmosphère v0.8.5 mit Cheat-Support]</ref> Seit v0.9.0 wird ein [[#EmuMMC|EmuMMC]] unterstützt.<ref>[https://wiidatabase.de/atmosphere-v0-9-0-mit-experimentellem-emunand/ Atmosphère v0.9.0 mit experimentellem EmuNAND]</ref>.
Atmosphère v0.8.5 fügte Cheat-Support hinzu.<ref>[https://wiidatabase.de/atmosphere-v0-8-5-mit-cheat-support/ Atmosphère v0.8.5 mit Cheat-Support]</ref> Seit v0.9.0 wird ein [[#EmuMMC|EmuMMC]] unterstützt.<ref>[https://wiidatabase.de/atmosphere-v0-9-0-mit-experimentellem-emunand/ Atmosphère v0.9.0 mit experimentellem EmuNAND]</ref>.
Seit der v0.17.0 wird [[Mariko]] offiziell unterstützt.<ref>[https://wiidatabase.de/atmosphere-v0-17-0-unterstuetzt-mariko Atmosphère v0.17.0 unterstützt Mariko]</ref>


== Komponenten ==
== Komponenten ==
Atmosphère zielt darauf ab, fast alle System-Komponenten der Switch zu reimplementieren und dabei zu erweitern. Sie heißen dabei:
Atmosphère zielt darauf ab, alle System-Komponenten der Switch zu reimplementieren und dabei zu erweitern.
 
=== Hauptkomponenten ===
* {{Anker|Fusee}}'''Fusée''': Bootloader, verifiziert und startet Exosphère und Package2 (Kernel/FIRM-Systemmodule) und patcht diese, falls nötig.
* {{Anker|Fusee}}'''Fusée''': Bootloader, verifiziert und startet Exosphère und Package2 (Kernel/FIRM-Systemmodule) und patcht diese, falls nötig.
** '''Sept''': Payload zur Schlüsselableitung auf allen Firmware-Versionen >= [[Nintendo-Switch-Firmware 7.0.0#Technische Informationen|7.0.0]]. Ein Teil von sept ist signiert/verschlüsselt, weshalb es ohne Keys nicht möglich ist, sept selbstständig zu bauen.
** '''Sept''': Payload zur Schlüsselableitung auf allen Firmware-Versionen >= [[Nintendo-Switch-Firmware 7.0.0#Technische Informationen|7.0.0]]. Ein Teil von sept ist signiert/verschlüsselt, weshalb es ohne Keys nicht möglich ist, sept selbstständig zu bauen.
Zeile 23: Zeile 27:
* '''Thermosphère''': EmuMMC, lädt den MMC von der SD-Karte um so eine getrennte Umgebung für bspw. Homebrew zu schaffen.
* '''Thermosphère''': EmuMMC, lädt den MMC von der SD-Karte um so eine getrennte Umgebung für bspw. Homebrew zu schaffen.
* {{Anker|Stratosphere}}'''Stratosphère''': Eigene Systemmodule mit neuen Features und zur Erweiterung bestehender.
* {{Anker|Stratosphere}}'''Stratosphère''': Eigene Systemmodule mit neuen Features und zur Erweiterung bestehender.
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/ams_mitm.md ams_mitm]''': Neues Systemmodul zum on-the-fly Patchen von Dateien und Titeln.
* '''Mesosphère''': Reimplementierung von Nintendos Kernel. Ab der v0.17.0 ist Mesosphère standardmäßig aktiv; ein Opt-Out-Release steht zur Verfügung.
*** '''bpc_mitm''': Ermöglicht das [[#Reboot-Payload|Neustarten in einen Payload]] (bspw. wieder Atmosphère) und das vollständige Herunterfahren, wenn AutoRCM aktiviert ist (siehe [[AutoRCM#Herunterfahren]]). Überschreibt den [https://switchbrew.org/wiki/PCV_services#bpc bpc PCV-Service] von Nintendo.
* '''Troposphère''': HorizonOS-Patches für Applikationen. Dies ist noch nicht in Atmosphère implementiert.<ref>https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/troposphere.md</ref>
*** '''fs_mitm''': Kann Dateien von Titeln mit denen auf der SD-Karte ersetzen, auch bekannt als "'''LayeredFS'''".
 
*** {{Anker|hid_mitm}}'''hid_mitm''': Mit der [[Nintendo-Switch-Firmware 9.0.0|Firmware 9.0.0]] wurden die HID-Komponenten für Controller so sehr geändert, dass libnx (die Bibliothek zum Bauen von Switch-Homebrews) keine Controller-Eingaben mehr erkennt. Dieses Problem wurde zwar in neueren libnx-Versionen behoben, allerdings müssen Homebrews mit der neuen libnx-Version neu gebaut werden. Da nicht jede Homebrew sofort aktualisiert wird/werden kann, wurde als Übergang ein temporäres Modul eingeführt, welches das Problem behebt.<ref>[https://github.com/Atmosphere-NX/Atmosphere/releases/tag/0.9.4 Atmosphère v0.9.4]</ref> Da es somit nicht mehr möglich ist, das HID-Modul selbst zu überschreiben, wird dieser Workaround in Zukunft entfernt. Mit Atmosphère v0.10.2 wurde es per Standard deaktiviert.<ref>[https://github.com/Atmosphere-NX/Atmosphere/releases/tag/0.10.2 Atmosphère v0.10.2]</ref> Siehe auch [[#enable_deprecated_hid_mitm|enable_deprecated_hid_mitm]]. Sollte es in Zukunft entfernt werden, wird SciresM aber einen separaten Download anbieten.<ref>https://arch.b4k.co/vg/thread/276990665/#277109730 "If it's ever removed (and I don't actually have plans to do so, I just wanted to explicitly reserve that right), I will publish a hid-compat-mitm sysmodule on my personal GitHub that can be used as a standalone.
==== Systemmodule ====
{| class="wikitable" border="1" width="100%"
|-
! Name
! Beschreibung
! Reimplementiert
! Erweiterungen/Änderungen
|-
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/ams_mitm.md ams_mitm]'''
| Neues Systemmodul zum on-the-fly Patchen von Dateien und Titeln
|
|
|-
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/boot.md boot]'''
| Initialisiert die Hardware und startet das System.
| [https://switchbrew.org/wiki/Boot boot]
| Atmosphère zeigt seinen eigenen schwarz/weißen Bootscreen und Akku-Icons an.
|-
| {{Anker|boot2}}'''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/boot2.md boot2]'''
| Lädt alle weiteren Module nach dem Start.
| [https://switchbrew.org/wiki/Boot2 boot2]
| Mithilfe von [[#Flags|Flags]] lassen sich eigene Systemmodule direkt nach dem Start ausführen.
|-
| {{Anker|creport}}'''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/creport.md creport]'''
| Dient der Verwaltung von Absturzberichten.
| [https://switchbrew.org/wiki/Creport creport]
| Generiert Absturzberichte auf der SD-Karte und verhindert das Senden dieser an Nintendo. Außerdem wird bei einem Absturz ein Screenshot erstellt (nur auf >= 10.0.0).
|-
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/dmnt.md dmnt]'''
| Stellt einen Debug-Monitor zur Verfügung. "dmnt" steht für "Debug Monitor".
| [https://switchbrew.org/wiki/Debug_Monitor_services dmnt]
| Cheat-Code-Support, inklusive Kompatibilität zu [[SX OS|Gateshark]].
|-
| {{Anker|eclct_stub}}'''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/eclct.stub.md eclct.stub]'''
| Sammelt Fehlerberichte.
| [https://switchbrew.org/wiki/System_Settings#eclct eclct]
| Diese Reimplementation ist ein Stub und verhindert das Senden weiterer Telemetrie-Daten an Nintendo.
|-
| [[#erpt|erpt]]
| Verwaltet Fehlerberichte.
| [https://switchbrew.org/wiki/Error_Report_services erpt]
| Verhindert das Anlegen von berichten im MMC und leitet diese stattdessen auf die SD-Karte weiter.
|-
| [[#fatal|fatal]]
| Verwaltet Absturzberichte.
| [https://switchbrew.org/wiki/Fatal_services fatal]
| Zeigt einen umfangreichen Fehlerbildschirm bei einem fatalen (deshalb der Name) Absturz an. Auch kann die Konsole mit den Lautstärketasten direkt neu gestartet werden.
|-
| {{Anker|jpegdec}}'''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/jpegdec.md jpegdec]'''
| Dient der Dekodierung von JPEGs in Verbindung mit den [https://switchbrew.org/wiki/Capture_services Capture-Services]
| [https://switchbrew.org/wiki/Jpegdec_services jpegdec]
| Erlaubt zwei Sessions anstatt einer, damit Homebrews JPEGs per Software parallel zum OS dekodieren können.
|-
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/loader.md loader]'''
| Erstellt Prozesse von ausführbaren NSOs und kontrolliert ihre Zugriffe
| [https://switchbrew.org/wiki/Loader_services loader]
| Ermöglicht das [[#ExeFS|Ersetzen von Dateien im ExeFS]], das [[#NSO-Patches|Patchen von NSOs]], sowie [[#Overrides|Button Overrides]] (bspw.: "R" gedrückt halten, während ein Spiel startet, startet das Homebrew Menu mit vollem RAM-Zugriff).
|-
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/ncm.md ncm]'''
| Dient der Verwaltung von Inhalten (bspw. NAND-Speicherständen). "ncm" steht für "Nintendo Content Manager".
| [https://switchbrew.org/wiki/NCM_services ncm]
| Zurzeit noch [[#enable_ncm|optional]].
|-
| {{Anker|pgl}}[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/pgl.md pgl]
| Startet Programme; nur ab [[Nintendo-Switch-Firmware 10.0.0|10.0.0]] vorhanden. "pgl" steht für "Program Launcher".
| [https://switchbrew.org/wiki/PGL_services pgl]
| Atmosphères Reimplementation ist ebenfalls nur ab 10.0.0 verfügbar und wurde (noch) nicht zurückportiert.
|-
| [https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/pm.md pm]
| Verwaltet Ressourcenlimits und überwacht laufende Prozesse. "pm" steht für "Process Manager".
| [https://switchbrew.org/wiki/Process_Manager_services pm]
| Der APPLET Speicher-Pool wurde um 24 MiB gesenkt und gibt diesem somit dem SYSTEM-Pool zurück. Damit lassen sich mehr Custom-Systemmodule ausführen.
|-
| {{Anker|ro}}'''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/ro.md ro]'''
| Lädt dynamische Bibliotheken und wurde mit der [[Nintendo-Switch-Firmware 3.0.0|Firmware 3.0.0]] eingeführt.
| [https://switchbrew.org/wiki/RO_services ro]
| Portiert die Funktionalitäten auf < 3.0.0 zurück, bei denen noch "loader" zuständig war. Ermöglicht außerdem [[#NRO-Patches|NRO-Patches]].
|-
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/sm.md sm]'''
| Verwaltet Dienste. "sm" steht für "Service Manager".
| [https://switchbrew.org/wiki/Services_API sm]
| Dieser ist für Entwickler interessant, da so u.a. ein eigener MitM-Service registriert werden kann. Patcht standardmäßig auch "smhax"<ref>[https://switchbrew.org/wiki/Switch_System_Flaws#FIRM-package_System_Modules Switch System Flaws#FIRM-package System Modules] unter "Service access control bypass"</ref><ref>[https://wiidatabase.de/switch-firmware-3-0-1-fixt-grossen-bug-update-nicht-empfohlen/ Switch-Firmware 3.0.1 fixt "großen Bug" – Update nicht empfohlen]</ref> auf der Firmware < [[Nintendo-Switch-Firmware 3.0.1|3.0.1]].
|-
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/spl.md spl]'''
| Ist u.a. für kryptographische Operationen notwendig. "spl" steht für "Secure Platform".
| [https://switchbrew.org/wiki/SPL_services spl]
|}


Don't worry, I don't want to leave people without an option. It just kinda sucks that people not using it are paying memory costs equivalent to the whole sm sysmodule."</ref>
===== ams_mitm =====
*** '''ns_mitm''': Ermöglicht die Verwendung von Web-Applets im Homebrew Menu, wenn eine Anwendung überschrieben wird, da diese erst prüfen, ob es HTML-Inhalte in der Anwendung gibt.
Das Systemmodul '''ams_mitm''' fügt einige neue Funktionen hinzu, die in mehrere Teile aufgegliedert sind.
*** '''set_mitm''': Verändert die Anzeige der Systemversion ([https://switchbrew.org/wiki/Settings_services#GetFirmwareVersion GetFirmwareVersion]) ([[:Datei:Atmosphere Systemversion.jpg|siehe Bild]]) und liest weitere Einstellungen aus einer INI-Datei. Dabei wird der [https://switchbrew.org/wiki/Settings_services System-Settings-Service] abgefangen.
 
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/boot.md boot]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Boot boot]"; initialisiert die Hardware und startet das System.
{| class="wikitable" border="1" width="100%"
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/boot2.md boot2]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Boot2 boot2]"; lädt weitere Prozesse.
|-
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/creport.md creport]''': Generiert Absturzberichte auf der SD-Karte und verhindert das Senden dieser an Nintendo. Außerdem wird bei einem Absturz ein Screenshot erstellt (nur auf >= 10.0.0).
! Name
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/dmnt.md dmnt]''': Cheat-Code-Support, inklusive Kompatibilität zu [[SX OS|Gateshark]]. "dmnt" steht dabei für "Debug Monitor".
! Beschreibung
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/eclct.stub.md eclct.stub]''': Deaktiviert weitere [https://switchbrew.org/wiki/System_Settings#eclct Telemetrie-Dienste] von Nintendo.
|-
** '''[[#erpt|erpt]]''': Reimplementiert Nintendos [https://switchbrew.org/wiki/Error_Upload_services Error Report Service] und verhindert das Anlegen von Crash Reports im MMC
| '''bpc_mitm'''
** '''[[#fatal|fatal]]''': Reimplementiert Nintendos [https://switchbrew.org/wiki/Fatal_services fatal] und zeigt einen umfangreichen Fehlerbildschirm bei einem fatalen (deshalb der Name) Absturz an. Auch kann die Konsole mit den Lautstärketasten direkt neu gestartet werden.
| Ermöglicht das [[#Reboot-Payload|Neustarten in einen Payload]] (bspw. wieder Atmosphère) und das vollständige Herunterfahren, wenn AutoRCM aktiviert ist (siehe [[AutoRCM#Herunterfahren]]). Überschreibt den [https://switchbrew.org/wiki/PCV_services#bpc bpc PCV-Service] von Nintendo.
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/jpegdec.md jpegdec]''': Reimplementierung von [https://switchbrew.org/wiki/Jpegdec_services Nintendos JPEG-Decoder], damit Homebrews Bilder per Software dekodieren können
|-
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/loader.md loader]''': Reimplementiert Nintendos "[https://switchbrew.org/wiki/Loader_services loader]" und ermöglicht das Ersetzen von Dateien im ExeFS, das Patchen von NSOs, sowie [[#Button Overrides|Button Overrides]] (bspw.: "R" gedrückt halten, während ein Spiel startet, startet das Homebrew Menu mit vollem RAM-Zugriff).
| '''dns_mitm'''
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/ncm.md ncm]''': Reimplementierung von [https://switchbrew.org/wiki/NCM_services Nintendos Content Manager].
| Manipuliert DNS-Abfragen und kann frei konfiguriert werden (siehe [[#dns_mitm]]).
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/pgl.md pgl]''': Reimplementierung von Nintendos [https://switchbrew.org/wiki/PGL_services Program Launcher]. Ermöglicht es, Systemmodulen und Homebrews Aktionen auszuführen, wenn Applikationen abstürzen, gestartet oder geschlossen werden. Nur ab [[Nintendo-Switch-Firmware 10.0.0|10.0.0]].
|-
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/pm.md pm]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Process_Manager_services Process Manager]", gibt u.a. mehr Speicher für Systemmodule frei.
| '''fs_mitm'''
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/ro.md ro]''': Reimplementierung von Nintendos [https://switchbrew.org/wiki/RO_services RO-Services].
| Kann Dateien von Titeln mit denen auf der SD-Karte ersetzen, auch bekannt als "'''LayeredFS'''".
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/sm.md sm]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/Services_API Service Manager]". Dieser ist für Entwickler interessant, da so u.a. ein eigener MitM-Service registriert werden kann. Patcht per Standard auch "smhax"<ref>[https://switchbrew.org/wiki/Switch_System_Flaws#FIRM-package_System_Modules Switch System Flaws#FIRM-package System Modules] unter "Service access control bypass"</ref><ref>[https://wiidatabase.de/switch-firmware-3-0-1-fixt-grossen-bug-update-nicht-empfohlen/ Switch-Firmware 3.0.1 fixt "großen Bug" – Update nicht empfohlen]</ref> auf der Firmware < [[Nintendo-Switch-Firmware 3.0.1|3.0.1]].
|-
** '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/spl.md spl]''': Reimplementierung von Nintendos "[https://switchbrew.org/wiki/SPL_services Secure Platform Services]".
| '''ns_mitm'''
* '''Mesosphère''': Reimplementierung von Nintendos Kernel.
| Ermöglicht die Verwendung von Web-Applets im Homebrew Menu, wenn eine Anwendung überschrieben wird, da diese erst prüfen, ob es HTML-Inhalte in der Anwendung gibt.
* '''Troposphère''': HorizonOS-Patches für Applikationen. Dies ist noch nicht in Atmosphère implementiert.<ref>https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/troposphere.md</ref>
|-
| '''set_mitm'''
| Verändert die Anzeige der Systemversion ([https://switchbrew.org/wiki/Settings_services#GetFirmwareVersion GetFirmwareVersion]) ([[:Datei:Atmosphere Systemversion.jpg|siehe Bild]]) und liest weitere Einstellungen aus einer INI-Datei. Dabei wird der [https://switchbrew.org/wiki/Settings_services System-Settings-Service] abgefangen.
|-
|}


=== Ordnerstruktur ===
=== Ordnerstruktur ===
Zeile 62: Zeile 156:
&#124;  &#124;
&#124;  &#124;
&#124;  +---config ''(Konfigurationsdateien)''
&#124;  +---config ''(Konfigurationsdateien)''
&#124;  &#124;
&#124;  +---config_templates ''(Konfigurationstemplates)''
&#124;  &#124;      BCT.ini  ''([[#BCT.ini|Einstellungen für Stratosphère und fusee-primary]])''
&#124;  &#124;      BCT.ini  ''([[#BCT.ini|Einstellungen für Stratosphère und fusee-primary]])''
&#124;  &#124;
&#124;  &#124;       exosphere.ini  ''([[#exosphere.ini|Einstellungen für Exosphère]])''
&#124;  +---config_templates ''(Konfigurationstemplates, müssen in "config" kopiert werden)'''
&#124;  &#124;      override_config.ini ''([[#Overrides|Overrides]])''
&#124;  &#124;      override_config.ini ''([[#Button Overrides|Button-Overrides]])''
&#124;  &#124;      system_settings.ini ''([[#System Settings|Atmosphère-Einstellungen]])''
&#124;  &#124;      system_settings.ini ''([[#System Settings|Atmosphère-Einstellungen]])''
&#124;  &#124;
&#124;  &#124;
Zeile 73: Zeile 168:
&#124;  &#124;  +---010000000000002B ''([[#erpt|erpt]])''
&#124;  &#124;  +---010000000000002B ''([[#erpt|erpt]])''
&#124;  &#124;  &#124;
&#124;  &#124;  &#124;
&#124;  &#124;  +---010000000000003C ''(jpegdec)''
&#124;  &#124;  +---010000000000003C ''([[#jpegdec|jpegdec]])''
&#124;  &#124;  &#124;
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000008 ''(boot2)''
&#124;  &#124;  +---0100000000000008 ''([[#boot2|boot2]])''
&#124;  &#124;  &#124;
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000032 ''(eclct.stub)''
&#124;  &#124;  +---0100000000000032 ''([[#eclct_stub|eclct.stub]])''
&#124;  &#124;  &#124;
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000034 ''([[#fatal|fatal]])''
&#124;  &#124;  +---0100000000000034 ''([[#fatal|fatal]])''
&#124;  &#124;  &#124;
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000036 ''(creport)''
&#124;  &#124;  +---0100000000000036 ''([[#creport|creport]])''
&#124;  &#124;  &#124;
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000037 ''(ro)''
&#124;  &#124;  +---0100000000000037 ''([[#ro|ro]])''
&#124;  &#124;  &#124;
&#124;  &#124;  &#124;
&#124;  &#124;  \---0100000000000042 ''(pgl)''
&#124;  &#124;  \---0100000000000042 ''([[#pgl|pgl]])''
&#124;  &#124;
&#124;  &#124;
&#124;  +---fatal_errors ''(Fehlerreports von fusee-primary)''
&#124;  +---fatal_errors ''(Fehlerreports von fusee-primary)''
Zeile 92: Zeile 187:
&#124;  \---kip_patches ''([[#KIP-Patches|KIP-Patches]])''
&#124;  \---kip_patches ''([[#KIP-Patches|KIP-Patches]])''
&#124;
&#124;
+---sept ''(sept)''
+---sept ''(sept, Inhalt nicht gelistet)''
&#124;
&#124;
\---switch ''(Ordner für Homebrews)''
\---switch ''(Ordner für Homebrews)''
Zeile 101: Zeile 196:
== Installation ==
== Installation ==
Um Atmosphère zu "installieren" muss lediglich die Release-ZIP auf die SD-Karte entpackt werden. Für die meisten Nutzer werden auch noch die [https://wiidatabase.de/switch-downloads/hacks/signatur-patches/ Signatur-Patches] empfohlen. Die ''fusee_primary.bin'' muss anschließend gestartet werden, bspw. über [https://wiidatabase.de/switch-downloads/exploits/fusee-gelee/ Fusée Gelée].
Um Atmosphère zu "installieren" muss lediglich die Release-ZIP auf die SD-Karte entpackt werden. Für die meisten Nutzer werden auch noch die [https://wiidatabase.de/switch-downloads/hacks/signatur-patches/ Signatur-Patches] empfohlen. Die ''fusee_primary.bin'' muss anschließend gestartet werden, bspw. über [https://wiidatabase.de/switch-downloads/exploits/fusee-gelee/ Fusée Gelée].
Für [[Mariko]]-Geräte wird empfohlen, [https://wiidatabase.de/switch-downloads/custom-firmware/spacecraft-nx/ Spacecraft-NX] auf den SX Core/Lite zu flashen. Danach muss die "fusee-primary.bin" in "payload.bin" umbenannt und in den Root der SD-Karte kopiert werden.


== Features ==
== Features ==
Zeile 111: Zeile 208:
Letztere Möglichkeit ist nicht empfohlen, da das Homebrew Menu sonst im "Applet-Modus" gestartet wird und nicht den vollen Arbeitsspeicher zur Verfügung stehen hat. Allerdings ist es somit möglich, Homebrews aufzurufen, während ein Spiel läuft (bspw. [https://wiidatabase.de/switch-downloads/switch-tools/screen-nx/ screen-nx] um Screenshots hochzuladen oder [https://wiidatabase.de/switch-downloads/switch-tools/edizon/ EdiZon] um Cheats zu erstellen).
Letztere Möglichkeit ist nicht empfohlen, da das Homebrew Menu sonst im "Applet-Modus" gestartet wird und nicht den vollen Arbeitsspeicher zur Verfügung stehen hat. Allerdings ist es somit möglich, Homebrews aufzurufen, während ein Spiel läuft (bspw. [https://wiidatabase.de/switch-downloads/switch-tools/screen-nx/ screen-nx] um Screenshots hochzuladen oder [https://wiidatabase.de/switch-downloads/switch-tools/edizon/ EdiZon] um Cheats zu erstellen).


Die Tasten-Kombination lässt sich in der "<code>/atmosphere/config/override_config.ini</code>" festlegen, siehe [[#Button Overrides|Button Overrides]].
Die Tasten-Kombination lässt sich in der "<code>/atmosphere/config/override_config.ini</code>" festlegen, siehe [[#Overrides|Button Overrides]].


=== Button Overrides ===
=== Overrides ===
Mithilfe der Button Overrides (Knopfüberschreibungen) ist es möglich, das Überschreibverhalten des Homebrew Menus zu konfigurieren. So kann bspw. eingestellt werden, dass das Homebrew Menu gestartet werden soll, wenn "Y" gedrückt wird, während das Album gestartet wird.
Mithilfe der Overrides ist es möglich, das Verhalten für Atmosphère für bestimmte Anwendungen zu ändern. Mit den Button Overrides (Knopfüberschreibungen) kann bspw. das Überschreibverhalten des Homebrew Menus konfiguriert werden. So kann bspw. eingestellt werden, dass das Homebrew Menu gestartet werden soll, wenn "Y" gedrückt wird, während das Album gestartet wird.


Mithilfe der [https://wiidatabase.de/switch-downloads/switch-tools/kosmos-toolbox/ Kosmos Toolbox] lassen sich die Button Overrides grafisch direkt auf der Konsole bearbeiten.
Mit der [https://wiidatabase.de/switch-downloads/switch-tools/hekate-toolbox/ Hekate Toolbox] lassen sich die Button Overrides grafisch direkt auf der Konsole bearbeiten.


Zuerst muss die "<code>/atmosphere/config_templates/override_config.ini</code>" nach "<code>/atmosphere/config/</code>" kopiert und mit einem Texteditor geöffnet werden. Die Datei ist folgendermaßen aufgebaut:
Zuerst muss die "<code>/atmosphere/config_templates/override_config.ini</code>" nach "<code>/atmosphere/config/</code>" kopiert und mit einem Texteditor geöffnet werden. Die Datei ist folgendermaßen aufgebaut:
Zeile 132: Zeile 229:
| {{TitleID}}
| {{TitleID}}
| <code>010000000000100D</code>
| <code>010000000000100D</code>
| Legt einen Titel fest, für den die nachfolgende Tasten-Konfiguration gelten soll (in dem Beispiel das Album), um das Homebrew Menu zu starten.
| Legt einen Titel fest, für den die nachfolgende Konfiguration gelten soll (in dem Beispiel das Album).
|-
|-
| <code>override_key_0</code>
| <code>override_key_0</code>
Zeile 138: Zeile 235:
| <code>R</code>
| <code>R</code>
| Knopf, der gedrückt gehalten (oder nicht gehalten) werden soll, um das Homebrew Menu zu starten. In dem Beispiel muss "R" gedrückt gehalten werden, während das Album aufgerufen wird.
| Knopf, der gedrückt gehalten (oder nicht gehalten) werden soll, um das Homebrew Menu zu starten. In dem Beispiel muss "R" gedrückt gehalten werden, während das Album aufgerufen wird.
|-
| <code>override_address_space_0</code>
| <code>39_bit</code>, <code>36_bit</code> oder <code>32_bit</code>
| <code>39_bit</code>
|  Adressraum für den Homebrew Launcher für diesen Titel.<br>
'''Standard:''' <code>39_bit</code>
|-
|-
| <code>program_id_1</code>
| <code>program_id_1</code>
| {{TitleID}}
| {{TitleID}}
| <code>0100E95004038000</code>
| <code>0100E95004038000</code>
| Legt einen weiteren Titel fest, für den die nachfolgende Tasten-Konfiguration gelten soll (in dem Beispiel Xenoblade Chronicles 2) um das Homebrew Menu zu starten.
| Legt einen weiteren Titel fest, für den die nachfolgende Konfiguration gelten soll (in dem Beispiel Xenoblade Chronicles 2).
|-
|-
| <code>override_key_1</code>
| <code>override_key_1</code>
Zeile 149: Zeile 252:
| Knopf, der gedrückt gehalten (oder nicht gehalten) werden soll, um das Homebrew Menu zu starten. In dem Beispiel darf "ZL" '''nicht''' gedrückt gehalten werden, während Xenoblade Chronicles 2 aufgerufen wird. Wird die Taste dennoch gehalten, wird das Spiel aufgerufen.
| Knopf, der gedrückt gehalten (oder nicht gehalten) werden soll, um das Homebrew Menu zu starten. In dem Beispiel darf "ZL" '''nicht''' gedrückt gehalten werden, während Xenoblade Chronicles 2 aufgerufen wird. Wird die Taste dennoch gehalten, wird das Spiel aufgerufen.
|-
|-
| colspan="4" | Bis zu acht verschiedene Konfigurationen werden unterstützt (<code>program_id_0</code> bis <code>program_id_7</code> bzw. <code>override_key_0</code> bis <code>override_key_7</code>). Wenn "<code>program_id_0</code>" nicht gesetzt ist, sondern nur "<code>override_key_0</code>" bezieht sich die Konfiguration aufs Album. "<code>_0</code>" kann auch weggelassen werden.
| <code>override_address_space_1</code>
| Siehe oben
| <code>39_bit</code>
|  Siehe oben
|-
| colspan="4" | Bis zu acht verschiedene Konfigurationen werden unterstützt (<code>program_id_0</code> bis <code>program_id_7</code> bzw. <code>override_key_0</code> bis <code>override_key_7</code> und <code>override_address_space_0</code> bis <code>override_address_space_7</code>). Wenn "<code>program_id_0</code>" nicht gesetzt ist, sondern nur "<code>override_key_0</code>" bezieht sich die Konfiguration aufs Album. "<code>_0</code>" kann auch weggelassen werden.
|-
|-
| <code>override_any_app</code>
| <code>override_any_app</code>
Zeile 167: Zeile 275:
| Bestimmt, welcher Knopf gedrückt (oder nicht gedrückt) gehalten werden soll, um [[#LayeredFS|LayeredFS]] (Mods) zu aktivieren. Wird in dem Beispiel "X" gedrückt gehalten, wird LayeredFS für diesen Titel deaktiviert. Ist bspw. nur "ZL" eingestellt, werden Mods nur aktiviert, wenn "ZL" gedrückt gehalten wird.<br>
| Bestimmt, welcher Knopf gedrückt (oder nicht gedrückt) gehalten werden soll, um [[#LayeredFS|LayeredFS]] (Mods) zu aktivieren. Wird in dem Beispiel "X" gedrückt gehalten, wird LayeredFS für diesen Titel deaktiviert. Ist bspw. nur "ZL" eingestellt, werden Mods nur aktiviert, wenn "ZL" gedrückt gehalten wird.<br>
'''Merkhilfe''': "Aktiviere LayeredFS, wenn X nicht gedrückt gehalten wird"
'''Merkhilfe''': "Aktiviere LayeredFS, wenn X nicht gedrückt gehalten wird"
|-
| <code>override_any_app_address_space</code>
| <code>39_bit</code>, <code>36_bit</code> oder <code>32_bit</code>
| <code>39_bit</code>
|  Adressraum für den Homebrew Launcher für jeden Titel.<br>
'''Standard:''' <code>39_bit</code>
|-
|-
| <code>path</code>
| <code>path</code>
Zeile 342: Zeile 456:
'''Diese Einstellung ist experimentell und kann mit Datenverlust einhergehen!''' Das bloße Aktivieren dieser Option leitet noch keine Speicherstände um - dies geschicht per Flags auf Titel-basis, siehe [[#Speicherstand-Redirection|Speicherstand-Redirection]].
'''Diese Einstellung ist experimentell und kann mit Datenverlust einhergehen!''' Das bloße Aktivieren dieser Option leitet noch keine Speicherstände um - dies geschicht per Flags auf Titel-basis, siehe [[#Speicherstand-Redirection|Speicherstand-Redirection]].
|-
|-
| {{Anker|enable_deprecated_hid_mitm}}<code>enable_deprecated_hid_mitm</code>
| {{Anker|enable_am_debug_mode}}<code>enable_am_debug_mode</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x0</code>
| Mit dieser Einstellung wird der "DebugModeFlag" für den [https://switchbrew.org/wiki/Applet_Manager_services Applet Manager] aktiviert.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
|-
| {{Anker|enable_dns_mitm}}<code>enable_dns_mitm</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x1</code>
| <code>0x1</code>
| Aktiviert den hid_mitm-Workaround für alte Homebrews (siehe [[#hid_mitm|Komponente -> Stratosphère -> hid_mitm]]).<br>
| Mit dieser Einstellung wird [[#dns_mitm|dns_mitm]] aktiviert.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
'''Diese Einstellung wird in Zukunft entfernt!'''
|-
| {{Anker|add_defaults_to_dns_hosts}}<code>add_defaults_to_dns_hosts</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x1</code>
| Stellt Atmosphères Standard-HOSTS-Datei einer eigenen voran, die Telemetrie blockiert. Die [https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/features/dns_mitm.md#atmosph%C3%A8re-defaults Standard-Einträge] können auf GitHub gefunden werden.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
|-
| {{Anker|enable_dns_mitm_debug_log}}<code>enable_dns_mitm_debug_log</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x0</code>
| Aktiviert den Debug-Log von dns_mitm in <code>/atmosphere/logs/dns_mitm_debug.log</code>.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
|-
|-
! colspan="4" | [hbloader]
! colspan="4" | [hbloader]
Zeile 371: Zeile 502:
=== BCT.ini ===
=== BCT.ini ===
Mit der "<code>/atmosphere/config/BCT.ini</code>" ([https://switchbrew.org/wiki/BCT '''B'''oot '''C'''onfiguration '''T'''able]) lassen sich Einstellungen festlegen, die beim Start des Systems geladen werden müssen und während der Laufzeit nicht verändert werden dürfen. Sie sollten nur von erfahrenen Usern geändert werden!<ref>[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/features/configurations.md#bctini configurations.md, Abschnitt "BCT.ini"]</ref>
Mit der "<code>/atmosphere/config/BCT.ini</code>" ([https://switchbrew.org/wiki/BCT '''B'''oot '''C'''onfiguration '''T'''able]) lassen sich Einstellungen festlegen, die beim Start des Systems geladen werden müssen und während der Laufzeit nicht verändert werden dürfen. Sie sollten nur von erfahrenen Usern geändert werden!<ref>[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/features/configurations.md#bctini configurations.md, Abschnitt "BCT.ini"]</ref>
Zuvor muss die BCT.ini aus "<code>/atmosphere/config_templates/BCT.ini</code>" kopiert werden.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Zeile 420: Zeile 553:
Es gibt keinen Standardwert - Atmosphère versucht standardmäßig selbst mithilfe der Anzahl der gebrannten GameCard-FUSES herauszufinden, ob ein NoGC-Patch notwendig ist.
Es gibt keinen Standardwert - Atmosphère versucht standardmäßig selbst mithilfe der Anzahl der gebrannten GameCard-FUSES herauszufinden, ob ein NoGC-Patch notwendig ist.
|-
|-
| {{Anker|enable_ncm}}<code>enable_ncm</code>
| {{Anker|enable_ncm}}<code>disable_ncm</code>
| <code>0</code> oder <code>1</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| <code>0</code>
| Aktiviert Atmosphères eigene NCM-Reimplementierung, die sich u.a. um die Verwaltung von NAND-Speicherständen kümmert. Aus diesem Grund ist dieses Modul zuerst Opt-In, bis es später für jeden aktiviert wird.<br>
| Deaktiviert Atmosphères eigene NCM-Reimplementierung, die sich u.a. um die Verwaltung von NAND-Speicherständen kümmert. Diese Option wird später entfernt.<br>
<code>0</code> = Custom NCM deaktiviert (Standard), <code>1</code> = Custom NCM aktiviert<br>
<code>0</code> = Custom NCM aktiviert (Standard), <code>1</code> = Custom NCM deaktiviert<br>
|}
|}


=== exosphere.ini ===
=== exosphere.ini ===
Mit der "<code>/exosphere.ini</code>" lässt sich das Verhalten von Atmosphères Secure Monitor anpassen.<ref>https://github.com/Atmosphere-NX/Atmosphere/blob/prodinfo_memes/config_templates/exosphere.ini</ref> Die INI muss vorher von GitHub [https://github.com/Atmosphere-NX/Atmosphere/blob/master/config_templates/exosphere.ini heruntergeladen werden]. Früher befanden sich diese Einstellungen in der BCT.ini.
Mit der "<code>/exosphere.ini</code>" lässt sich das Verhalten von Atmosphères Secure Monitor anpassen.<ref>https://github.com/Atmosphere-NX/Atmosphere/blob/prodinfo_memes/config_templates/exosphere.ini</ref> Die INI muss vorher aus "<code>/atmosphere/config_templates/exosphere.ini</code>" kopiert werden. Früher befanden sich diese Einstellungen in der BCT.ini.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Zeile 477: Zeile 610:
| Ermöglicht den Schreibzugriff auf die [https://switchbrew.org/wiki/Calibration PRODINFO-Partition] für Hoembrews. Ohne ein sicheres Backup ist das Aktivieren nicht empfohlen, weshalb ein verschlüsseltes Backup im MMC angelegt und jedes Mal verifiziert wird. Schlägt dies fehl, wird der Schreibzugriff weiterhin blockiert. '''Im EmuMMC ist das Schreiben auf die PRODINFO-Partition immer erlaubt.'''
| Ermöglicht den Schreibzugriff auf die [https://switchbrew.org/wiki/Calibration PRODINFO-Partition] für Hoembrews. Ohne ein sicheres Backup ist das Aktivieren nicht empfohlen, weshalb ein verschlüsseltes Backup im MMC angelegt und jedes Mal verifiziert wird. Schlägt dies fehl, wird der Schreibzugriff weiterhin blockiert. '''Im EmuMMC ist das Schreiben auf die PRODINFO-Partition immer erlaubt.'''
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Aktiviert
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Aktiviert
|-
| {{Anker|log_port}}<code>log_port</code>
| <code>0</code> bis <code>3</code>
| <code>0</code>
| Kontrolliert, welcher UART-Port für das Logging verwendet werden soll.<br>
<code>0</code> = UART-A (Standard), <code>1</code> = UART-B, <code>2</code> = UART-C, <code>3</code> = UART-D
|-
| {{Anker|log_baud_rate}}<code>log_baud_rate</code>
| <code>0</code> bis <code>115200</code>
| <code>0</code>
| Kontrolliert die [[w:Symbolrate|Symbolrate]], mit der die Logs auf dem eingestellten UART-Port übertragen werden soll.<br>
<code>0</code> wird als 115200 (Standard) behandelt
|-
| {{Anker|log_inverted}}<code>log_inverted</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| Gibt an, ob der Logging UART-Port invertiert ist.<br>
<code>0</code> = Nein (Standard), <code>1</code> = Ja
|
|}
|}


Zeile 676: Zeile 828:


Speicherstände werden in "<code>/atmosphere/saves/</code>" abgelegt, getrennt nach Sys- und [[#EmuMMC|EmuMMC]]. Es wird ein neuer Speicherstand erstellt, wenn keiner existiert - es wird also nicht der aus dem internen Speicher kopiert!
Speicherstände werden in "<code>/atmosphere/saves/</code>" abgelegt, getrennt nach Sys- und [[#EmuMMC|EmuMMC]]. Es wird ein neuer Speicherstand erstellt, wenn keiner existiert - es wird also nicht der aus dem internen Speicher kopiert!
=== dns_mitm ===
Mit dem Atmosphère-eigenen Systemmodul '''dns_mitm''' lassen sich DNS-Abfragen manipulieren. Die Funktionalität wird dabei durch die [[#System_Settings|System Settings]] gesteuert. Standardmäßig werden Nintendos Telemetrie-Server blockiert.
Folgende Pfade werden nacheinander geladen, wobei beim ersten Fund keine weitere mehr beachtet wird:
* '''Nur im EmuMMC:''' <code>/atmosphere/hosts/emummc_%04lx.txt</code> (formatiert mit der Nummer des EmuMMC aus der <code>emummc.ini</code>)
* '''Nur im EmuMMC:''' <code>/atmosphere/hosts/emummc.txt</code>
* '''Nur im SysMMC:''' <code>/atmosphere/hosts/sysmmc.txt</code>
* '''Beide MMCs:''' <code>/atmosphere/hosts/default.txt</code> (wird mit Standard-Einträgen erstellt, falls noch nicht existent)
Die Standard-Einträge von Atmosphère werden eigenen Einträgen '''vorangestellt'''. Diese sehen zurzeit so aus:<ref>https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/features/dns_mitm.md#hosts-file-selection</ref>
<pre># Nintendo telemetry servers
127.0.0.1 receive-%.dg.srv.nintendo.net receive-%.er.srv.nintendo.net</pre>
Um eigene Einträge hinzuzufügen, muss eine Textdatei an einer der oben genannten Stellen erstellt werden. Die erste Spalte enthält die Ziel-IP, gefolgt von den umzubiegenden Domains. Um bspw. "wiidatabase.de" auf "8.8.8.8" umzuleiten, müsste die HOSTS-Datei so aussehen:
<pre>8.8.8.8 wiidatabase.de</pre>
Folgende spezielle Zeichen lassen sich zusätzlich in der Domain nutzen:
* <code>*</code> ist ein Wildcard-Zeichen, welches beliebig viele Zeichen (auch null) matcht
* <code>%</code> wird durch das Ergebnis von <code>nsd!environment_identifier</code> ersetzt, welches auf Produktivgeräten immer <code>lp1</code> ausgibt
Um beispielsweise alle Einträge aller Seiten, die mit "wii" anfangen und auf ".de" enden auf "8.8.8.8" weiterzuleiten, kann folgende HOSTS-Datei benutzt werden:
<pre>8.8.8.8 wii*.de</pre>
Dies wirkt sich sowohl auf "wii.de", als auch auf "wiidb.de" und "wiidatabase.de" aus.
Beim Start wird die geladene Hosts-Datei mitsamt aller geparsten Einträge nach <code>/atmosphere/logs/dns_mitm_startup.log</code> geloggt. Wenn das Logging in der system_settings.ini aktiviert wurde, werden zusätzlich alle DNS-Abfragen (plus ob Weiterleitungen angewendet wurden) in <code>/atmosphere/logs/dns_mitm_debug.log</code> geloggt.


=== Daybreak ===
=== Daybreak ===
[[Datei:Atmosphère Daybreak.jpg|mini|Daybreak]]
[[Datei:Atmosphère Daybreak.jpg|mini|Daybreak]]
Mithilfe der enthaltenen Applikation "'''Daybreak'''" lassen sich System-Updates sowohl zum Up-, als auch zum Downgraden verwenden. Hierbei wird der Atmosphère-Service "ams:su" verwendet, der die gleiche Logik wie Nintendos Shell zur Installation von Updates über eine Game Card benutzt. Die Update-NCAs werden dabei aus einem beliebigen Ordner auf der SD-Karte installiert, optional lässt sich der exFAT-Treiber mitinstallieren. Die ".cmnt" muss hierbei aber in ".cnmt.nca" umbenannt werden, was bspw. [https://gist.github.com/HookedBehemoth/df36b5970e1c5b1b512ec7bdd9043c6e per] [https://gist.github.com/antiKk/279966c27fdfd9c7fe63b4ae410f89c4 Skript] erledigt werden kann.
Mithilfe der enthaltenen Applikation "'''Daybreak'''" lassen sich System-Updates sowohl zum Up-, als auch zum Downgraden verwenden. Hierbei wird der Atmosphère-Service "ams:su" verwendet, der die gleiche Logik wie Nintendos Shell zur Installation von Updates über eine Game Card benutzt. Die Update-NCAs werden dabei aus einem beliebigen Ordner auf der SD-Karte installiert, optional lässt sich der exFAT-Treiber mitinstallieren. Die ".cmnt" muss hierbei aber in ".cnmt.nca" umbenannt werden, was bspw. [https://gist.github.com/HookedBehemoth/df36b5970e1c5b1b512ec7bdd9043c6e per] [https://gist.github.com/antiKk/279966c27fdfd9c7fe63b4ae410f89c4 Skript] erledigt werden kann.
== Häufig gestellte Fragen ==
=== Blackscreen nach System-Update ===
Dies kann mehrere Ursachen haben:
* Atmosphère ist nicht aktuell
* Nicht alle Dateien von Atmosphère wurden beim Kopieren auf die SD-Karte ersetzt
* Atmosphère ist noch nicht kompatibel mit der aktuellen Firmware
* Ein Custom-Theme wurde installiert - hierfür den Ordner "<code>/atmosphere/contents/0100000000001000</code>" entfernen.
=== GameCards starten nicht mehr ===
Dies passiert, wenn von einer niedrigeren Firmware aktualisiert wurde und die neue Firmare den GameCard-Treiber aktualisiert. Um ein Downgrade zu verhindern, werden hier ebenfalls eFuses "[[Anti-Downgrade|gebrannt]]", was bedeutet, dass die Aktualisierung des Treibers blockiert wird. Der Grund ist der, dass ein späteres Downgrade dazu führen würde, dass GameCards auf der niedrigeren Firmware nicht mehr abgespielt werden können.
Um dies zu beheben, muss einfach einmalig die Original-Firmware gestartet werden. Dies führt aber zu oben erwähntem Nachteil.
=== {{Anker|enable_deprecated_hid_mitm}} Controller-Eingaben in Homebres werden nicht erkannt ===
Mit der [[Nintendo-Switch-Firmware 9.0.0|Firmware 9.0.0]] wurden die HID-Komponenten für Controller so sehr geändert, dass libnx (die Bibliothek zum Bauen von Switch-Homebrews) keine Controller-Eingaben mehr erkennt. Dieses Problem wurde zwar in neueren libnx-Versionen behoben, allerdings müssen Homebrews mit der neuen libnx-Version neu gebaut werden. Da nicht jede Homebrew sofort aktualisiert wird/werden kann, wurde als Übergang ein temporäres Modul eingeführt, welches das Problem behebt.<ref>[https://github.com/Atmosphere-NX/Atmosphere/releases/tag/0.9.4 Atmosphère v0.9.4]</ref> Da es somit nicht mehr möglich ist, das HID-Modul selbst zu überschreiben, wird dieser Workaround in Zukunft entfernt. Mit Atmosphère v0.10.2 wurde es standardmäßig deaktiviert.<ref>[https://github.com/Atmosphere-NX/Atmosphere/releases/tag/0.10.2 Atmosphère v0.10.2]</ref> Dieses wurde allerdings mit Atmosphère v0.18.0 entfernt.<ref>[https://wiidatabase.de/atmosphere-v0-18-0/ Atmosphère v0.18.0]</ref>
Zurzeit besteht kein Workaround; die Anwendung muss vom Entwickler angepasst oder (falls möglich) mit einer neueren Version von libnx kompiliert werden.


== Trivia ==
== Trivia ==

Navigationsmenü