Ryujinx ist ein Open-Source-Emulator für Nintendo Switch, erstellt von gdkchan und geschrieben in C#. Ziel dieses Emulators ist es, hervorragende Genauigkeit und Leistung, eine benutzerfreundliche Oberfläche und konsistente Builds zu bieten. Es wurde von Grund auf neu geschrieben und die Entwicklung des Projekts begann im September 2017. Ryujinx ist auf Github unter der MIT-Lizenz verfügbar.
Bis Mai 2024 wurde Ryujinx an etwa 4.300 Titeln getestet; Über 4.100 booten über Menüs ins Gameplay, wobei etwa 3.550 davon als spielbar gelten.
Die Kompatibilitätsliste können Sie hier einsehen.
Es steht jedem frei, einen neuen Spieletest einzureichen oder einen bestehenden Spieletesteintrag zu aktualisieren; Befolgen Sie einfach die neue Problemvorlage und die Testrichtlinien oder posten Sie als Antwort auf das entsprechende Spielproblem. Nutzen Sie die Suchfunktion, um zu sehen, ob ein Spiel bereits getestet wurde!
Um diesen Emulator auszuführen, muss Ihr PC mit mindestens 8 GB RAM ausgestattet sein; Die Nichterfüllung dieser Anforderung kann zu einem schlechten Spielerlebnis oder unerwarteten Abstürzen führen.
Informationen zum Einrichten des Emulators finden Sie in unserem Setup- und Konfigurationshandbuch.
Informationen zu unseren Local Wireless (LDN)-Builds finden Sie in unserem Multiplayer: Local Play/Local Wireless Guide.
Avalonia UI enthält Übersetzungen für verschiedene Sprachen. Weitere Informationen finden Sie unter Crowdin.
Diese Builds werden automatisch für jeden Commit im Master-Zweig kompiliert. Obwohl wir bestrebt sind, optimale Stabilität und Leistung sicherzustellen, bevor wir ein Update veröffentlichen, können unsere automatisierten Builds instabil oder völlig fehlerhaft sein .
Den neuesten automatischen Build für Windows, macOS und Linux finden Sie in den Github-Releases.
Wenn Sie planen, einen Beitrag zu leisten oder einfach mehr über dieses Projekt erfahren möchten, lesen Sie bitte unsere Dokumentation.
Wenn Sie den Emulator selbst erstellen möchten, gehen Sie folgendermaßen vor:
Installieren Sie das .NET 8.0 (oder höher) SDK. Stellen Sie sicher, dass Ihre SDK-Version höher oder gleich der in global.json angegebenen erforderlichen Version ist.
Verwenden Sie entweder git clone https://github.com/Ryujinx/Ryujinx
in der Befehlszeile, um das Repository zu klonen, oder verwenden Sie die Schaltfläche „Code -> Zip herunterladen“, um die Dateien abzurufen.
Um Ryujinx zu erstellen, öffnen Sie eine Eingabeaufforderung im Projektverzeichnis. Sie können unter Windows schnell darauf zugreifen, indem Sie im Datei-Explorer die Umschalttaste gedrückt halten, dann mit der rechten Maustaste klicken und Open command window here
auswählen. Geben Sie dann den folgenden Befehl ein: dotnet build -c Release -o build
Die erstellten Dateien finden Sie im neu erstellten Build-Verzeichnis.
Ryujinx-Systemdateien werden im Ryujinx
Ordner gespeichert. Dieser Ordner befindet sich im Benutzerordner, auf den Sie zugreifen können, indem Sie im Menü „Datei“ der GUI Open Ryujinx Folder
klicken.
Audio
Die Audioausgabe wird vollständig unterstützt, die Audioeingabe (Mikrofon) wird nicht unterstützt. Wir verwenden C#-Wrapper für OpenAL und SDL2 und libsoundio als Fallbacks.
CPU
Der CPU-Emulator ARMeilleure emuliert eine ARMv8-CPU und unterstützt derzeit die meisten 64-Bit-ARMv8- und einige der ARMv7-Anweisungen (und älter), einschließlich teilweiser 32-Bit-Unterstützung. Es übersetzt den ARM-Code in eine benutzerdefinierte IR, führt einige Optimierungen durch und wandelt diesen in x86-Code um. Je nach Vorliebe des Benutzers stehen drei Speicherverwaltungsoptionen zur Verfügung, die sowohl softwarebasierte (langsamer) als auch hostzugeordnete Modi (viel schneller) nutzen. Die schnellste Option (Host, deaktiviert) ist standardmäßig eingestellt. Ryujinx verfügt außerdem über einen optionalen Profiled Persistent Translation Cache, der übersetzte Funktionen im Wesentlichen zwischenspeichert, sodass sie nicht jedes Mal übersetzt werden müssen, wenn das Spiel geladen wird. Das Endergebnis ist eine deutliche Reduzierung der Ladezeiten (die Zeitspanne zwischen dem Starten eines Spiels und dem Erreichen des Titelbildschirms) für fast jedes Spiel. HINWEIS: Diese Funktion ist standardmäßig im Menü „Optionen“ > Registerkarte „System“ aktiviert. Sie müssen das Spiel mindestens zweimal bis zum Titelbildschirm oder darüber hinaus starten, bevor beim dritten Start Leistungsverbesserungen freigeschaltet werden! Diese Verbesserungen sind dauerhaft und erfordern in Zukunft keine zusätzlichen Einführungen.
GPU
Der GPU-Emulator emuliert die Maxwell-GPU des Switch mithilfe der APIs OpenGL (mindestens Version 4.5), Vulkan oder Metal (über MoltenVK) über einen benutzerdefinierten Build von OpenTK bzw. Silk.NET. Derzeit stehen dem Endbenutzer in Ryujinx sechs Grafikverbesserungen zur Verfügung: Disk-Shader-Caching, Auflösungsskalierung, Anti-Aliasing, Skalierungsfilter (einschließlich FSR), anisotrope Filterung und Anpassung des Seitenverhältnisses. Diese Verbesserungen können in der GUI nach Bedarf angepasst oder umgeschaltet werden.
Eingang
Derzeit unterstützen wir Tastatur, Maus, Touch-Eingabe, JoyCon-Eingabe und fast alle Controller. Bewegungssteuerungen werden in den meisten Fällen nativ unterstützt; Für die Dual-JoyCon-Bewegungsunterstützung sind derzeit DS4Windows oder BetterJoy erforderlich. In allen Szenarien können Sie alles im Eingabekonfigurationsmenü einrichten.
DLC und Modifikationen
Ryujinx ist in der Lage, Zusatzinhalte/herunterladbare Inhalte über die GUI zu verwalten. Mods (ROMFS, Exefs und Laufzeitmods wie Cheats) werden ebenfalls unterstützt. Die GUI enthält eine Verknüpfung zum Öffnen des jeweiligen Mods-Ordners für ein bestimmtes Spiel.
Konfiguration
Der Emulator verfügt über Einstellungen zum Aktivieren oder Deaktivieren einiger Protokollierungen, zum Neuzuordnen von Controllern und mehr. Sie können sie alle über die grafische Benutzeroberfläche oder manuell über die Konfigurationsdatei Config.json
konfigurieren, die sich im Benutzerordner befindet. Sie können darauf zugreifen, indem Sie im Menü „Datei“ der GUI auf Open Ryujinx Folder
klicken.
Alle Entwickler, die an dem Projekt arbeiten, tun dies in ihrer Freizeit, das Projekt ist jedoch mit mehreren Kosten verbunden:
Alle über Patreon erhaltenen Gelder gelten als Spende zur Unterstützung des Projekts. Gönner erhalten frühen Zugang zu Fortschrittsberichten und exklusiven Zugang zu Entwicklerinterviews.
Diese Software ist unter den Bedingungen der MIT-Lizenz lizenziert. Dieses Projekt nutzt Code, der vom libvpx-Projekt, lizenziert unter BSD, und dem ffmpeg-Projekt, lizenziert unter LGPLv3, erstellt wurde. Weitere Informationen finden Sie unter LICENSE.txt und THIRDPARTY.md.