Entwickler präsentiert ein PoC der PlayStation Vita Übersetzungsschicht vita2hos für die Nintendo Switch, die intern wie Wine funktioniert.
Der aus der PS-Vita-Scene bekannte Entwickler xerpi hat kürzlich sein vita2hos Projekt auf Github veröffentlicht. Dabei handelt es sich um eine PlayStation Vita Übersetzungsschicht für die Nintendo Switch, die intern in etwa wie Wine funktioniert.
vita2hos in einer frühen Entwicklungsphase
vita2hos befindet sich aktuell noch in einer frühen Entwicklungsphase. Zum jetzigen Zeitpunkt ist es mit der Lösung nur möglich, einfache CPU-gerenderte Vita Demos abzuspielen. Dazu gehören zum Beispiel das Spinning-Cube-Beispielcoding aus dem Vita Homebrew SDK. Kommerzielle PlayStation Vita Spiele sind nicht spielbar.
Was ist vita2hos für die Nintendo Switch?
Bei vita2hos (Vita 2 HorizonOS) handelt es sich um eine PlayStation Vita Übersetzungsschicht für die Nintendo Switch, die intern in etwa wie Wine funktioniert. Dabei handelt es sich nicht um einen Emulator, sondern es werden die Systemaufrufe der Vita-Anwendungen auf existierende oder noch zu implementierende Switch-Pendants umgeleitet.
Die Nintendo Switch verwendetet einen ARMv8 64-Bit Prozessor, die PlayStation Vita verwendet einen ARMv7 32-Bit Prozessor. Das bedeutet, dass die Nintendo Switch, wenn sie im 32-Bit Modus läuft, zumindest prozessortechnisch die ELF-Anwendungen der Vita ausführen könnte. Dazu ist keine Emulation notwendig.
Ausführbare Programme für die PlayStation Vita (ARMv7-CPU) können nativ auf der Nintendo Switch ARMv8-CPU im 32-Bit-Ausführungsmodus gestartet werden.
Beim Laden einer ausführbaren PlayStation Vita-Datei leitet vita2hos die Modul-Importe der besagten ausführbaren Datei um, damit sie zu Funktionen springen, die das gleiche Verhalten implementieren, indem sie native Horizon OS-Services nutzen, wie die, die von den ursprünglichen PlayStation Vita OS-Modulen bereitgestellt werden.
Übersetztes Zitat aus dem vita2hos GitHub
Weitere Herausforderungen bei dem Projekt
Die größte Herausforderung wird die Shader Implementierung sein. Die Shader der Vita (SGX USSE) sind nicht mit dem Shader-System der Nintendo Switch (Nvidia Maxwell) kompatibel. Dazu muss man die Shader der Vita-Anwendungen dynamisch für die Switch rekompilieren.
Als ersten Ansatz verwendet xerpi dafür den Shader Recompiler des Emulators Vita3K und UAM (deko3d), einem Open-Source Grafik-SDK für die Switch.
Wie kann man vita2hos ausprobieren?
Vita2hos lässt sich entweder direkt auf der Nintendo Switch Konsole oder auf den Emulatoren yuzu / Ryujinx ausführen.
Um vita2hos auf einer Konsole zu nutzen, muss die Custom-Firmware Atmosphère installiert sein. Die genauen Schritte sind im GitHub des Projektes zu finden.
Fazit
Es bleibt abzuwarten, wie aktiv xperi und eventuelle Mitstreiter an dem sehr aussichtsreichen vita2hos Projekt arbeiten. Und selbst dann wird noch einige Zeit vergehen, bis komplexere Vita Software auf der Nintendo Switch damit lauffähig wird. Bisher ist das Projekt ein Proof-of-Concept.
Werdet ihr das Projekt verfolgen? Ich auf jeden Fall!