Atmosphère: Unterschied zwischen den Versionen

Aus WiiDatabase Wiki
Zur Navigation springenZur Suche springen
K
(FAQ)
(60 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 17: Zeile 17:


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>
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>
Eine Vorabversion der 1.0.0 erschien am 07. September 2021.<ref>[https://wiidatabase.de/atmosphere-v1-0-0-pre-release/ Atmosphère v1.0.0 (Pre-Release)]</ref> Die finale 1.0.0 erschien am 09. September 2021.


== Komponenten ==
== Komponenten ==
Zeile 23: Zeile 25:
=== Hauptkomponenten ===
=== 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.
* '''Exosphère''': TrustZone mit eigenem Secure Monitor.
* '''Exosphère''': TrustZone mit eigenem Secure Monitor.
* '''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.
* '''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.
* '''Mesosphère''': Reimplementierung von Nintendos Kernel.
* '''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>
* '''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>


Zeile 77: Zeile 78:
| [https://switchbrew.org/wiki/Fatal_services fatal]
| [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.
| Zeigt einen umfangreichen Fehlerbildschirm bei einem fatalen (deshalb der Name) Absturz an. Auch kann die Konsole mit den Lautstärketasten direkt neu gestartet werden.
|-
| [[#htc|htc]]
| Host-Ziel-Verbindung bspw. zum Remote-Zugriff auf die SD-Karte.
| [https://switchbrew.org/wiki/TMA_services htc]
|
|-
|-
| {{Anker|jpegdec}}'''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/jpegdec.md jpegdec]'''
| {{Anker|jpegdec}}'''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/jpegdec.md jpegdec]'''
Zeile 87: Zeile 93:
| [https://switchbrew.org/wiki/Loader_services loader]
| [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).
| 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).
|-
| lm
| Stellt Logging-Dienste für einige Anwendungen und Spiele bereit.
| [https://switchbrew.org/wiki/Log_services lm]
| Logging auf die SD-Karte. Der LogManager ist aufgrund des erhöhten Speicherbedarfs standardmäßig deaktiviert, kann aber [[#enable_log_manager|aktiviert werden]].
|-
|-
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/ncm.md ncm]'''
| '''[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".
| Dient der Verwaltung von Inhalten (bspw. NAND-Speicherständen). "ncm" steht für "Nintendo Content Manager".
| [https://switchbrew.org/wiki/NCM_services ncm]
| [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]
| {{Anker|pgl}}[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/pgl.md pgl]
Zeile 111: Zeile 122:
| Verwaltet Dienste. "sm" steht für "Service Manager".
| Verwaltet Dienste. "sm" steht für "Service Manager".
| [https://switchbrew.org/wiki/Services_API sm]
| [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 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]].
| 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]'''
| '''[https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/spl.md spl]'''
Zeile 128: Zeile 139:
| '''bpc_mitm'''
| '''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.
| 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.
|-
| '''dns_mitm'''
| Manipuliert DNS-Abfragen und kann frei konfiguriert werden (siehe [[#dns_mitm]]).
|-
|-
| '''fs_mitm'''
| '''fs_mitm'''
| Kann Dateien von Titeln mit denen auf der SD-Karte ersetzen, auch bekannt als "'''LayeredFS'''".
| 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]]. 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.
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>
|-
|-
| '''ns_mitm'''
| '''ns_mitm'''
Zeile 150: Zeile 157:
Die Inhalte in ''(kursiven Klammern)'' dienen der Erklärung
Die Inhalte in ''(kursiven Klammern)'' dienen der Erklärung
{{Pre|SD-Karte
{{Pre|SD-Karte
&#124;  fusee-primary.bin ''(Payload, der an die Switch gesendet werden muss, um den Bootprozess einzuleiten)''
&#124;  fusee.bin ''(Payload, der an die Switch gesendet werden muss, um den Bootprozess einzuleiten, separater Download)''
&#124;  hbmenu.nro  ''(Homebrew Menu)''
&#124;  hbmenu.nro  ''(Homebrew Menu)''
&#124;
&#124;
+---atmosphere
+---atmosphere
&#124;  &#124;  fusee-mtc.bin
&#124;  &#124;  fusee-secondary.bin ''(Signierter/verschlüsselter Fusée-Teil)''
&#124;  &#124;  hbl.nsp ''(Homebrew Loader, der das Homebrew Menü lädt)''
&#124;  &#124;  hbl.nsp ''(Homebrew Loader, der das Homebrew Menü lädt)''
&#124;  &#124;  reboot_payload.bin ''([[#Reboot-Payload|Reboot-Payload]], Kopie von fusee-primary, wird bei einem Neustart ausgeführt)
&#124;  &#124;  package3 ''(Signierter/verschlüsselter Fusée-Teil)''
&#124;  &#124;  reboot_payload.bin ''([[#Reboot-Payload|Reboot-Payload]], Kopie von fusee.bin, wird bei einem Neustart ausgeführt)
&#124;  &#124;  stratosphere.romfs ''([[#Systemmodule|Atmosphères Systemmodule]], waren früher im "contents"-Ordner)
&#124;  &#124;
&#124;  &#124;
&#124;  +---config ''(Konfigurationsdateien)''
&#124;  +---config ''(Konfigurationsdateien)''
&#124;  &#124;
&#124;  &#124;
&#124;  +---config_templates ''(Konfigurationstemplates)''
&#124;  +---config_templates ''(Konfigurationstemplates)''
&#124;  &#124;      BCT.ini  ''([[#BCT.ini|Einstellungen für Stratosphère und fusee-primary]])''
&#124;  &#124;      exosphere.ini  ''([[#exosphere.ini|Einstellungen für Exosphère]])''
&#124;  &#124;      exosphere.ini  ''([[#exosphere.ini|Einstellungen für Exosphère]])''
&#124;  &#124;      override_config.ini ''([[#Overrides|Overrides]])''
&#124;  &#124;      override_config.ini ''([[#Overrides|Overrides]])''
&#124;  &#124;      stratosphere.ini  ''([[#stratosphere.ini|Einstellungen für Stratosphère und fusee-primary]])''
&#124;  &#124;      system_settings.ini ''([[#System Settings|Atmosphère-Einstellungen]])''
&#124;  &#124;      system_settings.ini ''([[#System Settings|Atmosphère-Einstellungen]])''
&#124;  &#124;
&#124;  &#124;
&#124;  +---contents ''(Ordner für fs_mitm, ersetzt Inhalte in Anwendungen/Modulen, Ordnerinhalte nachfolgend gekürzt)''
&#124;  +---flags ''([[#Flags|Flags]])''
&#124;  &#124;  +---010000000000000D ''([[#Cheats|dmnt]])''
&#124;  &#124;  &#124;
&#124;  &#124;  +---010000000000002B ''([[#erpt|erpt]])''
&#124;  &#124;  &#124;
&#124;  &#124;  +---010000000000003C ''([[#jpegdec|jpegdec]])''
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000008 ''([[#boot2|boot2]])''
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000032 ''([[#eclct_stub|eclct.stub]])''
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000034 ''([[#fatal|fatal]])''
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000036 ''([[#creport|creport]])''
&#124;  &#124;  &#124;
&#124;  &#124;  +---0100000000000037 ''([[#ro|ro]])''
&#124;  &#124;  &#124;
&#124;  &#124;  \---0100000000000042 ''([[#pgl|pgl]])''
&#124;  &#124;
&#124;  &#124;
&#124;  +---fatal_errors ''(Fehlerreports von fusee-primary)''
&#124;  +---fatal_errors ''(Fehlerreports von fusee-primary)''
&#124;  +---hbl_html ''(Zum Starten von Web-Applets)''
&#124;  +---hbl_html ''(Zum Starten von Web-Applets)''
&#124;  &#124;
&#124;  &#124;
&#124;  \---kip_patches ''([[#KIP-Patches|KIP-Patches]])''
&#124;  \---kip_patches ''([[#KIP-Patches|KIP-Patches]], nicht mehr unterstützt)''
&#124;
+---sept ''(sept, Inhalt nicht gelistet)''
&#124;
&#124;
\---switch ''(Ordner für Homebrews)''
\---switch ''(Ordner für Homebrews)''
Zeile 199: Zeile 187:


== 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. Die ''fusee.bin'' muss anschließend gestartet werden, bspw. über [https://wiidatabase.de/switch-downloads/exploits/fusee-gelee/ Fusée Gelée] oder (auf [[Mariko|Mariko-Geräten]]) per Modchip.
 
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 217: Zeile 203:
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 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.


Mit 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 273: Zeile 259:
| Bestimmt, welcher Knopf gedrückt (oder nicht gedrückt) gehalten werden soll, während ein Titel aufgerufen wird (gilt nicht für Applets!), um das Homebrew Menu zu starten, wenn <code>override_any_app</code> auf <code>true</code> steht. In dem Beispiel wird das Homebrew Menu nur aufgerufen, wenn "Y" gedrückt gehalten wird, während ein Spiel gestartet wird. Sind oben spezifische TitleIDs angegeben, sind diese von dieser Konfiguration ausgenommen!<br>
| Bestimmt, welcher Knopf gedrückt (oder nicht gedrückt) gehalten werden soll, während ein Titel aufgerufen wird (gilt nicht für Applets!), um das Homebrew Menu zu starten, wenn <code>override_any_app</code> auf <code>true</code> steht. In dem Beispiel wird das Homebrew Menu nur aufgerufen, wenn "Y" gedrückt gehalten wird, während ein Spiel gestartet wird. Sind oben spezifische TitleIDs angegeben, sind diese von dieser Konfiguration ausgenommen!<br>
'''Merkhilfe''': "Starte das Homebrew Menu wenn Y gedrückt gehalten wird"
'''Merkhilfe''': "Starte das Homebrew Menu wenn Y gedrückt gehalten wird"
|-
| {{Anker|override_key_album}}<code>override_key</code>
| [[#Tasten|Taste]]
| <code>R</code>
| 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"
|-
|-
| <code>override_any_app_address_space</code>
| <code>override_any_app_address_space</code>
Zeile 392: Zeile 372:
| (De-)aktiviert den Telemetrie-Upload zu Nintendo.<br>
| (De-)aktiviert den Telemetrie-Upload zu Nintendo.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert
|-
! colspan="4" | [usb]
|-
! Config-Key
! Wert
! Beispiel
! Erklärung
|-
| {{Anker|usb30_force_enabled}}<code>usb30_force_enabled</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>u8!0x0</code>
| (De-)aktiviert USB-3.0-Superspeed für Homebrews.<br>
<code>0x0</code> = System-Standard (deaktiviert), <code>0x1</code> = aktiviert
|-
|-
! colspan="4" | [ro]
! colspan="4" | [ro]
Zeile 404: Zeile 397:
| <code>u8!0x0</code>
| <code>u8!0x0</code>
| Weist "ro" an, NROs nicht streng zu überprüfen. Darunter fallen Signatur, die Programm-ID und der Typ.<ref>https://github.com/Atmosphere-NX/Atmosphere/blob/48b0b2fc46c7331ba3cb9b297475db9e0d82cd66/stratosphere/ro/source/impl/ro_nrr_utils.cpp#L48</ref><br>
| Weist "ro" an, NROs nicht streng zu überprüfen. Darunter fallen Signatur, die Programm-ID und der Typ.<ref>https://github.com/Atmosphere-NX/Atmosphere/blob/48b0b2fc46c7331ba3cb9b297475db9e0d82cd66/stratosphere/ro/source/impl/ro_nrr_utils.cpp#L48</ref><br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert
|-
! colspan="4" | [lm]
|-
! Config-Key
! Wert
! Beispiel
! Erklärung
|-
| {{Anker|enable_sd_card_logging}}<code>enable_sd_card_logging</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>u8!0x1</code>
| (De-)aktiviert das Logging auf die SD-Karte.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert
|-
| {{Anker|sd_card_log_output_directory}}<code>sd_card_log_output_directory</code>
| String
| <code>str!atmosphere/binlogs</code>
| Konfiguriert den Pfad, in dem Logs gespeichert werden
|-
! colspan="4" | [erpt]
|-
! Config-Key
! Wert
! Beispiel
! Erklärung
|-
| {{Anker|disable_automatic_report_cleanup}}<code>disable_automatic_report_cleanup</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>u8!0x1</code>
| Wenn aktiviert, werden automatisch alle "erpt_reports" auf der SD-Karte gelöscht, wenn mehr als 1000 Stück vorhanden sind.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert
|-
|-
Zeile 450: Zeile 474:
| <code>0x0</code> oder <code>0x1</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x0</code>
| <code>0x0</code>
| (De-)aktiviert das Lesen der [https://switchbrew.org/wiki/Calibration CAL0-Partition] für Homebrews (enthält u.a. wichtige konsolenspezifische Schlüssel).<br>
| (De-)aktiviert das Lesen der [https://switchbrew.org/wiki/Calibration PRODINFO-Partition] für Homebrews (enthält u.a. wichtige konsolenspezifische Schlüssel).<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.<br>
|-
|-
Zeile 460: Zeile 484:
'''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>0x1</code>
| Mit dieser Einstellung wird [[#dns_mitm|dns_mitm]] aktiviert.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
|-
| {{Anker|add_defaults_to_dns_hosts}}<code>add_defaults_to_dns_hosts</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>
| 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.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
'''Diese Einstellung wird in Zukunft entfernt!'''
|-
| {{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.
|-
| {{Anker|enable_htc}}<code>enable_htc</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x0</code>
| Aktiviert Atmosphères [[#htc|Reimplementierung von htc]] (Host-Target Connection).<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
|-
|-
| {{Anker|enable_am_debug_mode}}<code>enable_am_debug_mode</code>
| {{Anker|enable_log_manager}}<code>enable_log_manager</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x0</code>
| <code>0x0</code>
| Mit dieser Einstellung wird der "DebugModeFlag" für den [https://switchbrew.org/wiki/Applet_Manager_services Applet Manager] aktiviert.<br>
| Aktiviert Atmosphères Reimplementierung des Log-Managers. Wenn [[#enable_htc|enable_htc]] auf <code>0x1</code> steht, ist dieser immer aktiviert.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
|-
| {{Anker|enable_standalone_gdbstub}}<code>enable_standalone_gdbstub</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x1</code>
| Aktiviert Atmosphères experimentellen Standalone GDB-Stub zum Debuggen. Dies geschieht auf Port 22225 ([https://github.com/Atmosphere-NX/Atmosphere/releases/tag/1.2.3 mehr dazu]).<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
|-
| {{Anker|enable_external_bluetooth_db}}<code>enable_external_bluetooth_db</code>
| <code>0x0</code> oder <code>0x1</code>
| <code>0x1</code>
| Synchronisiert die Datenbank der verbundenen Bluetooth-Controller auf die SD-Karte in den Pfad <code>SD://atmosphere/bluetooth_devices.db</code>, damit diese zwischen einem Sys- und EmuMMC angeglichen werden kann.<br>
'''Achtung:''' Ist das Feature aktiviert, eine Datenbank mit mehr als 10 Controllern gespeichert und eine Firmware < 13.0.0 wird gebootet, wird die Datenbank auf 10 Controller gekürzt.<br>
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
<code>0x0</code> = deaktiviert, <code>0x1</code> = aktiviert.
|-
|-
Zeile 488: Zeile 548:
| Unsigned 64-Bit Integer (<code>0x0</code> bis <code>0xFFFFFFFFFFFFFFFF</code>)
| Unsigned 64-Bit Integer (<code>0x0</code> bis <code>0xFFFFFFFFFFFFFFFF</code>)
| <code>u8!0x8600000</code>
| <code>u8!0x8600000</code>
| Kontrolliert, wie viel Speicher anderen Applets zur Verfügung stehen soll, während Homebrews im Applet-Modus ausgeführt werden. Hiermiet ist es bspw. möglich, das Tastatur- oder Web-Applet neben einer Homebrew ohne Absturz laufen zu lassen. Der Standard-Wert sind ca. 140 MB.<br>
| Kontrolliert, wie viel Speicher anderen Applets zur Verfügung stehen soll, während Homebrews im Applet-Modus ausgeführt werden. Hiermit ist es bspw. möglich, das Tastatur- oder Web-Applet neben einer Homebrew ohne Absturz laufen zu lassen. Der Standard-Wert sind ca. 140 MB.<br>
Hat keinen Effekt, wenn <code>applet_heap_size</code> nicht auf <code>0x0</code> steht!
Hat keinen Effekt, wenn <code>applet_heap_size</code> nicht auf <code>0x0</code> steht!
|-
|-
|}
|}


=== BCT.ini ===
=== {{Anker|BCT.ini}}stratosphere.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/stratosphere.ini</code>" (früher "<code>BCT.ini</code>" für ([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#stratosphereini configurations.md, Abschnitt "stratosphere.ini"]</ref>


Zuvor muss die BCT.ini aus "<code>/atmosphere/config_templates/BCT.ini</code>" kopiert werden.
Zuvor muss die stratosphere.ini aus "<code>/atmosphere/config_templates/stratosphere.ini</code>" kopiert werden.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
! colspan="4" | [stage1]
|-
! Config-Key
! Wert
! Beispiel
! Erklärung
|-
| {{Anker|stage2_path}}<code>stage2_path</code>
| String
| <code>atmosphere/fusee-secondary.bin</code>
| Pfad zum Stage2-Payload.
|-
| {{Anker|stage2_mtc_path}}<code>stage2_mtc_path</code>
| String
| <code>atmosphere/fusee-mtc.bin</code>
| Pfad zum Stage2-MTC-Payload.
|-
| {{Anker|stage2_addr}}<code>stage2_addr</code>
| Hexadezimal
| <code>0xF0000000</code>
| ?
|-
| {{Anker|stage2_entrypoint}}<code>stage2_entrypoint</code>
| Hexadezimal
| <code>0xF0000000</code>
| ?
|-
| {{Anker|custom_splash}}<code>custom_splash</code>
| String
| <code>/atmosphere/bootlogo.bmp</code>
| Ermöglicht einen eigenen Bootsplash. Das Bild muss eine BMP mit einer Größe von 1280x720 Pixeln sein, welches 90° gegen den Uhrzeigersinn gedreht wurde (sodass die Auflösung am Ende 720x1280 beträgt). Zudem muss es als 32-Bit ARGB exportiert werden - dies ist bspw. mit [https://www.gimp.org/ GIMP] möglich. Siehe auch [https://gbatemp.net/threads/share-your-custom-atmosphere-fusee-secondary-bootlogos.532018/ diesen GBATemp-Thread].
|-
|-
! colspan="4" | [stratosphere]
! colspan="4" | [stratosphere]
Zeile 545: Zeile 573:
<code>0</code> = NoGC-Patches erzwungen deaktiviert, <code>1</code> = NoGC-Patches erzwungen aktiviert<br>
<code>0</code> = NoGC-Patches erzwungen deaktiviert, <code>1</code> = NoGC-Patches erzwungen aktiviert<br>
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>disable_ncm</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| 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 aktiviert (Standard), <code>1</code> = Custom NCM deaktiviert<br>
|}
|}


Zeile 589: Zeile 611:
| <code>0</code> oder <code>1</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| <code>0</code>
| Wenn diese Option aktiviert ist, wird die [https://switchbrew.org/wiki/Calibration PRODINFO-Partition] mit wichtigen Hardware-Keys und -Zertifikaten "pseudo-gelöscht", sodass das System keine validen Keys und keine Seriennummer mehr erkennt. Es ist nicht bekannt, ob es sicher ist, dies zu nutzen, da diese Infos eventuell anderswo vom System gecached werden. '''Die eigentliche PRODINFO-Partition wird hierbei nicht angerührt!''' ''Auch bekannt als "Incognito".''
| Wenn diese Option aktiviert ist, wird die [https://switchbrew.org/wiki/Calibration PRODINFO-Partition] mit wichtigen Hardware-Keys und -Zertifikaten "pseudo-gelöscht", sodass das System keine validen Keys und keine Seriennummer mehr erkennt. Es ist nicht bekannt, ob es sicher ist, dies zu nutzen, da diese Informationen eventuell an anderer Stelle vom System gecached werden. '''Die eigentliche PRODINFO-Partition wird hierbei nicht angerührt!''' ''Auch bekannt als "Incognito".''
 
'''Achtung:''' Ab der Firmware 17.0.0 [[Nintendo-Switch-Firmware_17.0.0#Fatal_Error_mit_aktiviertem_PRODINFO-Blanking|führt die Aktivierung zu einem "Fatal Error"]], wenn die Konsole mit dem Internet verbunden wird.
 
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Aktiviert
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Aktiviert
|-
|-
Zeile 596: Zeile 621:
| <code>0</code>
| <code>0</code>
| Gleiches wie oben, nur für den EmuMMC.
| Gleiches wie oben, nur für den EmuMMC.
'''Achtung:''' Ab der Firmware 17.0.0 [[Nintendo-Switch-Firmware_17.0.0#Fatal_Error_mit_aktiviertem_PRODINFO-Blanking|führt die Aktivierung zu einem "Fatal Error"]], wenn die Konsole mit dem Internet verbunden wird.
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Aktiviert
<code>0</code> = Deaktiviert (Standard), <code>1</code> = Aktiviert
|-
|-
Zeile 601: Zeile 629:
| <code>0</code> oder <code>1</code>
| <code>0</code> oder <code>1</code>
| <code>0</code>
| <code>0</code>
| 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 Homebrews. 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
|-
|-
Zeile 680: Zeile 708:
| <code>pt</code>
| <code>pt</code>
| Portugiesisch
| Portugiesisch
|-
| <code>pt-BR</code>
| Brasilianisches Portugiesisch
|-
|-
| <code>ru</code>
| <code>ru</code>
Zeile 730: Zeile 761:
<code>/atmosphere/contents/{{TitleID}}/cheats/<abbr title="Build-ID des Spiels in Hexadezimal">''BUILD-ID''</abbr>.txt</code>
<code>/atmosphere/contents/{{TitleID}}/cheats/<abbr title="Build-ID des Spiels in Hexadezimal">''BUILD-ID''</abbr>.txt</code>


Die Build-ID des Spiels ist dazu da, Cheats für bestimmte Spiele-Versionen zu unterschieden. [https://github.com/WerWolv/EdiZon/releases EdiZon v4] zeigt bspw. die Build-ID des Spiels an. Fertige Cheats lassen sich per EdiZon oder direkt [https://github.com/WerWolv/EdiZon_CheatsConfigsAndScripts/tree/master/Cheats#atmosph%C3%A8re-cheats auf GitHub herunterladen].
Die Build-ID des Spiels dient dazu, Cheats für bestimmte Spiele-Versionen zu unterschieden. [https://github.com/WerWolv/EdiZon/releases EdiZon v4] zeigt bspw. die Build-ID des Spiels an. Fertige Cheats lassen sich per EdiZon oder direkt [https://github.com/WerWolv/EdiZon_CheatsConfigsAndScripts/tree/master/Cheats#atmosph%C3%A8re-cheats auf GitHub herunterladen].


Es empfiehlt sich noch, in den System Settings "[[#dmnt_cheats_enabled_by_default|dmnt_cheats_enabled_by_default]]" auf "0x0" und "[[#dmnt_always_save_cheat_toggles|dmnt_always_save_cheat_toggles]]" auf "0x1" zu setzen, da so Cheats selbst per bspw. EdiZon aktiviert werden können und der Cheat-Status immer gespeichert wird. Letzterer wird unter "<code>/atmosphere/contents/{{TitleID}}/cheats/toggles.txt</code>" gespeichert.
Es empfiehlt sich noch, in den System Settings "[[#dmnt_cheats_enabled_by_default|dmnt_cheats_enabled_by_default]]" auf "0x0" und "[[#dmnt_always_save_cheat_toggles|dmnt_always_save_cheat_toggles]]" auf "0x1" zu setzen, da so Cheats selbst per bspw. EdiZon aktiviert werden können und der Cheat-Status immer gespeichert wird. Letztere werden unter "<code>/atmosphere/contents/{{TitleID}}/cheats/toggles.txt</code>" gespeichert.


Standardmäßig werden Cheats aktiviert, wenn ein Spiel gestartet und dabei nicht "L" gedrückt gehalten wird. Dies lässt sich in den Button Overrides unter "[[#cheat_enable_key|cheat_enable_key]]" ändern.
Standardmäßig werden Cheats aktiviert, wenn ein Spiel gestartet und dabei nicht "L" gedrückt gehalten wird. Dies lässt sich in den Button Overrides unter "[[#cheat_enable_key|cheat_enable_key]]" ändern.
=== Splash-Screen ===
Ein eigener Splash-Screen wird beim Start des Systems angezeigt und muss in die package3 injiziert werden. Dazu steht im Git-Repositorium ein [https://github.com/Atmosphere-NX/Atmosphere/blob/master/utilities/insert_splash_screen.py Python-Skript] zur Verfügung, welches wie folgt aufgerufen werden muss:
{{Pre|'''python''' insert_splash_screen.py customsplash.png pfad/zur/package3}}
Das Bild sollte eine Auflösung von exakt 1280x720 Pixeln besitzen.


=== EmuMMC ===
=== EmuMMC ===
Zeile 748: Zeile 786:
"fatal" ist der Absturzbildschirm der Nintendo Switch. Atmosphère [https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/fatal.md überschreibt] diesen Service mit einem eigenen, der die Logs auch auf der SD-Karte unter "<code>/atmosphere/fatal_reports/</code>", anstatt im Speicher der Switch speichert. So wird auch verhindert, dass eventuelle Fehler-Logs zu Nintendo hochgeladen werden. Auch besteht die Möglichkeit, per "POWER"-Knopf die Konsole normal neu zu starten (nicht in Atmosphère) oder einen Lautstärkeknopf, um den [[#Reboot-Payload|Reboot-Payload]] zu starten. "[[#fatal_auto_reboot_interval|fatal_auto_reboot_interval]]" kann auch auf einen Wert gesetzt werden, um die Konsole automatisch neu in den Reboot-Payload zu starten.
"fatal" ist der Absturzbildschirm der Nintendo Switch. Atmosphère [https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/components/modules/fatal.md überschreibt] diesen Service mit einem eigenen, der die Logs auch auf der SD-Karte unter "<code>/atmosphere/fatal_reports/</code>", anstatt im Speicher der Switch speichert. So wird auch verhindert, dass eventuelle Fehler-Logs zu Nintendo hochgeladen werden. Auch besteht die Möglichkeit, per "POWER"-Knopf die Konsole normal neu zu starten (nicht in Atmosphère) oder einen Lautstärkeknopf, um den [[#Reboot-Payload|Reboot-Payload]] zu starten. "[[#fatal_auto_reboot_interval|fatal_auto_reboot_interval]]" kann auch auf einen Wert gesetzt werden, um die Konsole automatisch neu in den Reboot-Payload zu starten.


Nicht zu verwechseln mit dem Pfad "<code>/atmosphere/fatal_errors/</code>", in dem nur Fehlerreports von fusee-primary abgelegt werden.
Nicht zu verwechseln mit dem Pfad "<code>/atmosphere/fatal_errors/</code>", in dem nur Fehlerreports von fusee abgelegt werden.
 
=== htc ===
Atmosphère beinhaltet eine Reimplementierung von "htc", dem "Host-Target Connection" Verbindungsprotokoll. Mit diesem lässt sich mithilfe der PC-Applikation "Starlink" zwischen PC und Switch kommunizieren und bspw. Gameplay streamen. Dieses Feature ist noch nicht fertig und Starlink wurde noch nicht veröffentlicht.


=== Reboot-Payload ===
=== Reboot-Payload ===
Unter "<code>/atmosphere/reboot_payload.bin</code>" kann ein beliebiger Fusée-Gelée-Payload abgelegt werden, der gestartet werden soll, wenn die Konsole neu gestartet wird (falls in den [[#power_menu_reboot_function|System Settings]] <code>power_menu_reboot_function</code> auf <code>payload</code> steht) oder bei einem Reboot über den Absturzbildschirm "fatal". Auch startet die "reboot_to_payload.nro" diesen Payload. Standardmäßig handelt es sich hierbei lediglich um eine Kopie von "fusee-primary.bin".
Unter "<code>/atmosphere/reboot_payload.bin</code>" kann ein beliebiger Fusée-Gelée-Payload abgelegt werden, der gestartet werden soll, wenn die Konsole neu gestartet wird (falls in den [[#power_menu_reboot_function|System Settings]] <code>power_menu_reboot_function</code> auf <code>payload</code> steht) oder bei einem Reboot über den Absturzbildschirm "fatal". Auch startet die "reboot_to_payload.nro" diesen Payload. Standardmäßig handelt es sich hierbei lediglich um eine Kopie von "fusee.bin".


=== KIPs ===
=== KIPs ===
Zeile 757: Zeile 798:


==== KIP-Patches ====
==== KIP-Patches ====
Zusätzlich dazu kann Atmosphère auch bestehende Kernel-Module patchen. Hierfür müssen IPS-Patches in folgenden Ordner platziert werden:
{{Achtung|Hintergrund=#FFCCCC|Ab Atmosphère v1.7.0 werden KIP-Patches nicht mehr unterstützt.}}
 
Mit Atmosphère-Versionen älter als v1.7.0 lassen sich auch bestehende Kernel-Module patchen. Hierfür müssen IPS-Patches in folgendem Ordner platziert werden:


<code>/atmosphere/kip_patches/''NAME''/</code>
<code>/atmosphere/kip_patches/''NAME''/</code>


Wobei "''NAME''" durch einen eigenen Namen ersetzt werden muss. Innerhalb dieser Ordner können mehrere IPS-Patches abgelegt werden, die den Dateinamen des SHA256-Hashes der KIP tragen müssen. Dies wird bspw. für [https://wiidatabase.de/switch-downloads/hacks/signatur-patches/ Signatur-Patches] eingesetzt.
Wobei "''NAME''" durch einen eigenen Namen ersetzt werden muss. Innerhalb dieser Ordner können mehrere IPS-Patches abgelegt werden, die den Dateinamen des SHA256-Hashes der KIP tragen müssen. Dies wird bspw. für Signatur-Patches eingesetzt.


=== NRO-Patches ===
=== NRO-Patches ===
Zeile 821: Zeile 864:


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#atmosph%C3%A8re-defaults</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 [[#enable_dns_mitm_debug_log|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.
==== Nintendo- und Update-Server blockieren ====
Um 90DNS nachzuahmen und alle Nintendo- und Update-Server zu blockieren, können die folgenden Host-Einträge benutzt werden (Achtung, [[#enable_dns_mitm|enable_dns_mitm]] muss auf "<code>0x1</code>" stehen!):<ref>https://old.reddit.com/r/SwitchHacks/comments/lb5v5i/atmosphere_0180_released_new_dns_mitm/gls6h5a/</ref>
<pre># 90DNS
127.0.0.1 *nintendo.com
127.0.0.1 *nintendo.net
127.0.0.1 *nintendo.jp
127.0.0.1 *nintendo.co.jp
127.0.0.1 *nintendo.co.uk
127.0.0.1 *nintendo-europe.com
127.0.0.1 *nintendowifi.net
127.0.0.1 *nintendo.es
127.0.0.1 *nintendo.co.kr
127.0.0.1 *nintendo.tw
127.0.0.1 *nintendo.com.hk
127.0.0.1 *nintendo.com.au
127.0.0.1 *nintendo.co.nz
127.0.0.1 *nintendo.at
127.0.0.1 *nintendo.be
127.0.0.1 *nintendods.cz
127.0.0.1 *nintendo.dk
127.0.0.1 *nintendo.de
127.0.0.1 *nintendo.fi
127.0.0.1 *nintendo.fr
127.0.0.1 *nintendo.gr
127.0.0.1 *nintendo.hu
127.0.0.1 *nintendo.it
127.0.0.1 *nintendo.nl
127.0.0.1 *nintendo.no
127.0.0.1 *nintendo.pt
127.0.0.1 *nintendo.ru
127.0.0.1 *nintendo.co.za
127.0.0.1 *nintendo.se
127.0.0.1 *nintendo.ch
127.0.0.1 *nintendoswitch.com
127.0.0.1 *nintendoswitch.com.cn
127.0.0.1 *nintendoswitch.cn
95.216.149.205 *conntest.nintendowifi.net
95.216.149.205 *ctest.cdn.nintendo.net</pre>


=== Daybreak ===
=== Daybreak ===
Zeile 832: Zeile 944:
* Nicht alle Dateien von Atmosphère wurden beim Kopieren auf die SD-Karte ersetzt
* Nicht alle Dateien von Atmosphère wurden beim Kopieren auf die SD-Karte ersetzt
* Atmosphère ist noch nicht kompatibel mit der aktuellen Firmware
* 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.
* Ein Custom-Theme wurde installiert - hierfür die Ordner "<code>/atmosphere/contents/0100000000001000</code>" und "<code>/atmosphere/contents/0100000000001013</code>" entfernen.
* Ein inkompatibles Systemmodul ist installiert - in dem Falle empfiehlt es sich, den ganzen Ordner "<code>/atmosphere/contents/</code>" temporär wegzuverschieben


=== GameCards starten nicht mehr ===
=== GameCards starten nicht mehr ===
Zeile 838: Zeile 951:


Um dies zu beheben, muss einfach einmalig die Original-Firmware gestartet werden. Dies führt aber zu oben erwähntem Nachteil.
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 Homebrews 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> Mit Atmosphère v0.10.2 wurde es allerdings standardmäßig deaktiviert<ref>[https://github.com/Atmosphere-NX/Atmosphere/releases/tag/0.10.2 Atmosphère v0.10.2]</ref> und mit v0.18.0 gänzlich 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 ==
* [[SX OS]] verwendet als Basis Atmosphère (siehe auch [[SX OS#Kopierter Atmosphère-Code und Lizenzverstoß]])
* [[SX OS]] verwendet als Basis Atmosphère (siehe auch [[SX OS#Kopierter Atmosphère-Code und Lizenzverstoß]])
* Am 03. Juli 2020 ließ Nintendo die Download-Seite von WiiDatabase.de aus den Google-Suchergebnissen entfernen.<ref>[https://wiidatabase.de/nintendo-laesst-wiidatabase-de-atmosphere-seite-aus-google-entfernen/ Nintendo lässt WiiDatabase.de Atmosphère-Seite aus Google entfernen]</ref>
* Am 03. Juli 2020 ließ Nintendo die Download-Seite von WiiDatabase.de aus den Google-Suchergebnissen entfernen.<ref>[https://wiidatabase.de/nintendo-laesst-wiidatabase-de-atmosphere-seite-aus-google-entfernen/ Nintendo lässt WiiDatabase.de Atmosphère-Seite aus Google entfernen]</ref>
* Obwohl der Quellcode von Atmosphère unter der GPLv2 freigegeben ist, gibt es zwei Ausnahmen von dieser Lizenz:<ref>[https://github.com/Atmosphere-NX/Atmosphere#licensing Atmosphere#Licensing] README auf GitHub</ref>
** Die Emulatoren yuzu und Ryujinx dürfen Atmosphère-Code kopieren und unter der GPLv2 oder aktueller oder unter der MIT-Lizenz freigeben
** Nintendo darf den Code von Atmosphère unter den Bedingungen der [https://opensource.org/licenses/0BSD Null-Klausel BSD-Lizenz] verwenden (im Grunde genommen Public Domain, aber mit Haftungsausschluss)


== Einzelnachweise ==
== Einzelnachweise ==

Navigationsmenü