[WIP] PlayStation Vita to Horizon OS (Nintendo Switch OS) translation layer
[WIP] PlayStation Vita to Horizon OS (Nintendo Switch OS) translation layer
A PlayStation Vita to Horizon OS (Nintendo Switch OS) translation layer (not an emulator)
vita2hos is a translation layer that enables native execution of PlayStation Vita executables (ARMv7), to run natively on the Nintendo Switch's ARMv8 CPU in AArch32 (32-bit) mode.
It achieves this by redirecting the module imports of the PlayStation Vita executable to corresponding routines that utilize native Nintendo Switch Horizon OS services, effectively replicating the behavior of the original PlayStation Vita OS modules.
Transfer the NSP File:
vita2hos.nsp to your microSD card, e.g., sd:/vita2hos/vita2hos.nsp.Configure Atmosphère:
Create an override_config.ini file in the sd:/atmosphere/config/ directory with the following content:
[hbl_config]
override_any_app=true
override_any_app_key=R
override_any_app_address_space=32_bit
; Adjust the path according to the location of your file
path=vita2hos/vita2hos.nspNote: With this configuration, the homebrew menu will be overridden by vita2hos. To restore the homebrew menu, rename or remove the override_config.ini file and restart your Switch. Currently, multiple path entries are not supported in override_config.ini.
Add PlayStation Vita Executable:
.velf, .self, or eboot.bin) in the sd:/vita2hos/ directory and rename it to executable (without any file extension).sd:/vita2hos/executable.Launch vita2hos:
R button.Enjoy!
Prepare the PlayStation Vita Executable:
Place your PlayStation Vita executable (.velf, .self, or eboot.bin) into the sd:/vita2hos/ directory and rename it to executable (without any file extension).
For Yuzu-based Emulators:
sdmc/.For Ryujinx-based Emulators:
sdcard/.Run vita2hos:
vita2hos.nsp.Enjoy!
vita2hos is in its early development stages and currently supports running simple CPU-rendered PlayStation Vita homebrew applications. Additionally, initial 3D graphics support is available—including texturing, depth, and stencil—enabling the execution of vitasdk's GXM samples.
Clone the Repository with Submodules:
Ensure you clone the repository along with its submodules to include all necessary components:
git clone --recurse-submodules https://github.com/xerpi/vita2hos.gitConfigure vita2hos:
For a Debug build:
cmake --preset DebugFor a Release build:
cmake --preset ReleaseBuild vita2hos:
For a Debug build:
cmake --build --preset DebugFor a Release build:
cmake --build --preset ReleaseOutput:
vita2hos.nsp file will be generated in the corresponding build directory upon successful compilation.Note: The CMakePresets.json file defines the build configurations, including the generator (e.g., Ninja), build directories, toolchain file, and other cache variables. Ensure that your environment variable DEVKITPRO is set correctly, as it's referenced in the CMAKE_TOOLCHAIN_FILE path within the presets.
Special acknowledgments to @PixelyIon and @SciresM for their assistance, and to all testers, especially @TSRBerry.
No open issues yet, or sync has not completed.