RetroArch ist das Referenz-Frontend für die Libretro-API. Beliebte Beispiele für Implementierungen dieser API sind Emulatoren und Game-Engines für Videospielsysteme sowie allgemeinere 3D-Programme. Diese Programme werden als dynamische Bibliotheken instanziiert. Wir bezeichnen diese als „Libretro-Kerne“.
libretro ist eine API, die generische Audio-/Video-/Eingaberückrufe verfügbar macht. Ein Frontend für Libretro (wie RetroArch) übernimmt die Videoausgabe, Audioausgabe, Eingabe und den Anwendungslebenszyklus. Ein in portablem C oder C++ geschriebener Libretro-Kern kann nahtlos auf vielen Plattformen mit sehr geringem oder gar keinem Portierungsaufwand ausgeführt werden.
Während RetroArch das Referenz-Frontend für Libretro ist, haben mehrere andere Projekte die Libretro-Schnittstelle genutzt, um Unterstützung für Emulatoren und/oder Spiele-Engines einzubinden. libretro ist völlig offen und für jedermann kostenlos nutzbar.
Libretro-API-Header
Die neuesten Binärdateien werden derzeit auf dem Buildbot gehostet.
Um Entwickler zu erreichen, stellen Sie entweder hier auf GitHub ein Problem, erstellen Sie einen Thread im Forum, chatten Sie auf Discord oder besuchen Sie unseren IRC-Kanal: #retroarch @ irc.freenode.org. Sie könnten auf Reddit einen Beitrag mit dem Flair des technischen Supports erstellen.
Besuchen Sie unser Dokumentationszentrum. Unter Unix werden Manpages bereitgestellt. Weitere entwicklerorientierte Inhalte finden Sie hier.
RetroArch versucht, klein und schlank zu sein und dennoch alle nützlichen Kernfunktionen zu bieten, die man von einem Emulator erwartet. Es ist sehr tragbar konzipiert und verfügt über eine Gamepad-zentrierte und Touchscreen-Benutzeroberfläche. Es verfügt außerdem über eine Befehlszeilenschnittstelle mit vollem Funktionsumfang.
In einigen Bereichen geht RetroArch darüber hinaus und legt den Schwerpunkt auf nicht so übliche technische Funktionen wie Multi-Pass-Shader-Unterstützung, Echtzeit-Rücklauf (Braid-Stil), Videoaufzeichnung (mit FFmpeg), Entfernung der Run-Ahead-Eingangslatenz usw .
RetroArch legt außerdem Wert auf die einfache Integration in verschiedene Launcher-Frontends.
RetroArch wurde auf die folgenden Plattformen portiert:
Es gibt per se keine echten harten Abhängigkeiten.
Unter Windows kann RetroArch nur mit Win32 als Abhängigkeit ausgeführt werden.
Unter Linux gibt es keine echten Abhängigkeiten. Für eine optimale Nutzung werden folgende Abhängigkeiten empfohlen:
Für die OSX-Portierung von RetroArch sind die neuesten Versionen von Xcode erforderlich.
RetroArch kann diese Bibliotheken nutzen, wenn sie aktiviert sind:
RetroArch benötigt mindestens eine dieser Audiotreiberbibliotheken:
Um ordnungsgemäß zu funktionieren, erfordert RetroArch eine vorhandene Libretro-Implementierung. Da es jedoch normalerweise dynamisch geladen wird, ist es zur Erstellungszeit nicht erforderlich.
Konsolenports haben ihre eigenen Abhängigkeiten, erfordern aber im Allgemeinen nichts anderes als das, was die jeweiligen SDKs bereitstellen.
Ihre Grafikkarte muss mindestens die OpenGL 1.1-Spezifikation unterstützen.
Shader : N/A
Menütreiberunterstützung : MaterialUI, XMB, Ozone und RGUI sollten alle ordnungsgemäß funktionieren. Aufgrund der oben erwähnten fehlenden Shader-Unterstützung verfügt XMB über keine Shader-Pipeline-Effekte.
Ihre Grafikkarte muss mindestens die OpenGL 2.1-Spezifikation unterstützen.
Shader: Sie können zwischen NVIDIA Cg-Shadern (veraltet, erfordert die Installation einer separaten Laufzeitumgebung auf Ihrem System) oder GLSL-Shadern wählen.
Menütreiberunterstützung: MaterialUI, XMB, Ozone und RGUI sollten alle ordnungsgemäß funktionieren.
Ihre Grafikkarte muss mindestens die OpenGL 3.2-Kernfunktionsspezifikation unterstützen.
Shader: Mit diesem Treiber können Sie moderne Slang-Shader verwenden.
Menütreiberunterstützung: MaterialUI, XMB, Ozone und RGUI sollten alle ordnungsgemäß funktionieren.
Ihre Grafikkarte muss mindestens die Direct3D11 11.0-Spezifikation unterstützen. Die Karte muss außerdem mindestens das Shader Model 4.0 unterstützen.
Shader: Mit diesem Treiber können Sie moderne Slang-Shader verwenden.
Menütreiberunterstützung: MaterialUI, XMB, Ozone und RGUI sollten alle ordnungsgemäß funktionieren.
Ihre Grafikkarte muss mindestens die Vulkan 1.0-Spezifikation unterstützen.
Shader: Mit diesem Treiber können Sie moderne Slang-Shader verwenden.
Menütreiberunterstützung: MaterialUI, XMB, Ozone und RGUI sollten alle ordnungsgemäß funktionieren.
Die Standardkonfiguration ist in config.def.h
definiert. Es wird nicht empfohlen, dies zu ändern, es sei denn, Sie wissen, was Sie tun. Diese können später mithilfe einer Konfigurationsdatei angepasst werden. Eine Beispielkonfigurationsdatei wird in /etc/retroarch.cfg
installiert. Dies ist die systemweite Konfigurationsdatei.
RetroArch erstellt beim Start eine Konfigurationsdatei in $XDG_CONFIG_HOME/retroarch/retroarch.cfg
falls diese nicht vorhanden ist. Benutzer müssen eine bestimmte Option nur dann konfigurieren, wenn der gewünschte Wert von dem in config.def.h definierten Wert abweicht.
Um Joypads zu konfigurieren, verwenden Sie das integrierte Menü oder konfigurieren Sie sie manuell in retroarch.cfg
.
Anweisungen zum Kompilieren und Installieren von RetroArch finden Sie im Libretro/RetroArch Documentation Center.
CRT SwitchRes schaltet sich im laufenden Betrieb ein. Sie müssen RetroArch jedoch neu starten, um es zu deaktivieren. Wenn CRT SwitchRes aktiviert ist, startet RetroArch in 2560 x 480 bei 60.
Wenn Sie Windows verwenden, stellen Sie vor dem Aktivieren der CRT SwitchRes-Optionen sicher, dass Sie CRTEmudriver und einige Modelines installiert haben. Die Mindestmodelllinien für alle Spiele, um korrekt zu wechseln, sind:
Installieren Sie diese Modellreihen und ersetzen Sie 2560 durch die gewünschte Superauflösung. Die oben genannten Auflösungen gelten nur für NTSC. Wenn Sie also PAL-Inhalte abspielen möchten, fügen Sie bitte PAL-Modelle hinzu:
Einige Spiele erfordern höhere PAL-Auflösungen, die ebenfalls installiert werden sollten:
Idealerweise installieren Sie alle diese Modelines und alles wird großartig funktionieren.
Die Standard-Superauflösung beträgt 2560. Sie wird direkt unter der CRT-Umschaltoption angezeigt, die in den Videoeinstellungen zu finden ist. Dies kann in der retroarch.cfg geändert werden. Die einzigen kompatiblen Auflösungen sind 1920, 2560 und 3840. Alle anderen Auflösungen werden ignoriert und die native Umschaltung wird aktiviert.
Wenn native Auflösungen aktiviert sind, benötigen Sie einen ganz neuen Satz an Modelines:
256 x 240 @ 50,006977 SNESpal
256 x 448 @ 50,006977 SNESpal
512 x 224 @ 50.006977 SNESpal
512 x 240 @ 50.006977 SNESpal
512 x 448 @ 50.006977 SNESpal
256 x 240 @ 60.098812 SNESntsc
256 x 448 @ 60.098812 SNESntsc
512 x 240 @ 60.098812 SNESntsc
512 x 224 @ 60.098812 SNESntsc
512 x 448 @ 60.098812 SNESntsc
256 x 192 @ 59,922745 MDntsc
256 x 224 @ 59,922745 MDntsc
320 x 224 @ 59,922745 MDntsc
320 x 240 @ 59,922745 MDntsc
320 x 448 @ 59,922745 MDntsc
320 x 480 @ 59,922745 MDntsc
256 x 192 bei 49,701458 MDpal
256 x 224 bei 49,701458 MDpal
320 x 224 bei 49,701458 MDpal
320 x 240 bei 49,701458 MDpal
320 x 288 bei 49,701458 MDpal
320 x 448 @ 49,701458 MDpal
320 x 480 bei 49,701458 MDpal
320 x 576 bei 49,701458 MDpal
256 x 288 @ 49,701458 MSYSpal
256 x 240 @ 60.098812 NESntsc
256 x 240 @ 50.006977 NESpal
640 x 237 @ 60.130001 N64ntsc
640 x 240 @ 60.130001 N64ntsc
640 x 480 @ 60.130001 N64ntsc
640 x 288 bei 50,000000 N64pal
640 x 480 bei 50,000000 N64pal
640 x 576 bei 50,000000 N64pal
256 x 252 bei 49,759998 PSXpal
320 x 252 bei 49,759998 PSXpal
384 x 252 bei 49,759998 PSXpal
640 x 252 bei 49,759998 PSXpal
640 x 540 bei 49,759998 PSXpal
384 x 240 bei 59,941002 PSXntsc
256 x 480 bei 59,941002 PSXntsc
352 x 240 @ 59,820000 Saturn/SGFX_NTSCp
704 x 240 @ 59,820000 SaturnNTSCp
352 x 480 bei 59,820000 SaturnNTSCi
704 x 480 bei 59,820000 SaturnNTSCi
352 x 288 @ 49.701458 SaturnPALp
704 x 288 @ 49.701458 SaturnPALp
352 x 576 @ 49.701458 SaturnPALi
704 x 576 @ 49.701458 SaturnPALi
240 x 160 bei 59,730000 GBA
320 x 200 bei 60,000000 Doom
// Arcade
Diese Modelllinien sind genauer und geben genaue Hz an. Allerdings kann es bei manchen Spielen zu unerwünschten Ergebnissen kommen. Dies ist auf Änderungen der Auflösung in der Mitte der Scanlinie der Originalhardware zurückzuführen. Für die besten Ergebnisse sind Superauflösungen der richtige Weg.
Einige Arcade-Auflösungen können sich stark von denen von Consumer-CRTs unterscheiden. Es gibt eine Auflösungserkennung, um sicherzustellen, dass MAME-Spiele in der nächstgelegenen verfügbaren Auflösung angezeigt werden, aber innerhalb dieser Auflösung mit ihrer nativen Auflösung gezeichnet werden. Das bedeutet, dass das MAME-Spiel genauso aussieht wie die Originalhardware.
MAME-ROMs, die in einem vertikalen Seitenverhältnis laufen, wie DoDonPachi, müssen innerhalb von MAME gedreht werden, bevor Auflösungsumschaltung und Seitenkorrektur funktionieren. Tun Sie dies, bevor Sie CRT SwitchRes aktivieren, damit RetroArch in Ihrer Desktop-Auflösung ausgeführt wird. Sobald Sie alle Spiele rotiert haben, die es möglicherweise benötigen, schalten Sie CRT SwitchRes ein.
Die folgenden Links gehören zu unseren offiziellen Kanälen. Andere als diese Links können von Fans, unabhängigen Mitgliedern oder Followern erstellt worden sein. Wir empfehlen dringend, unsere Originalressourcen zu verwenden.