Xbox Cloud Gaming on PlayStation Vita.
A native Rust client with an egui/SDL2 interface and hardware H.264 decoding.
Note
Local console streaming has not been tested because I do not have a modern Xbox console available for validation.
You need a homebrew-enabled PS Vita with VitaShell and an Xbox account that has access to Xbox Cloud Gaming.
- Download
green-vita.vpkfrom the latest release. - Transfer the VPK to the Vita.
- Install it with VitaShell.
- Launch GreenVita and complete the device-code sign-in.
Important
Enable Unsafe Homebrew in HENkaku Settings. GreenVita needs access to the Vita hardware video-decoder module.
GreenVita follows the official VitaSDK/VDPM setup. On Arch Linux, install the host tools first:
sudo pacman -S --needed base-devel git cmake python wget patch p7zip tar pkgconf rustupThen bootstrap VitaSDK and its port libraries:
git clone https://github.com/vitasdk/vdpm
cd vdpm
./bootstrap-vitasdk.sh
export VITASDK=/usr/local/vitasdk
export PATH="$VITASDK/bin:$PATH"
./install-all.shinstall-all.sh installs the Vita port libraries used by this project,
including SDL2 and Opus. The old vitaGL/vitaShaRK dependency list is not needed.
Add these exports to your shell profile so future terminals can find VitaSDK:
export VITASDK=/usr/local/vitasdk
export PATH="$VITASDK/bin:$PATH"Tip
On Windows, VitaSDK recommends following the Linux instructions through WSL2. MSYS2 is also supported by VDPM, but WSL2 is the simpler route.
rustup toolchain install nightly
cargo +nightly install cargo-vitaSee the official cargo-vita documentation
for its complete command reference.
From the GreenVita repository:
make vpkThe Makefile supplies the required Vita Rust flags. The resulting package is:
target/armv7-sony-vita-newlibeabihf/release/green-vita.vpk
Building without Make
Unix-like shell:
RUSTFLAGS="-C target-feature=-neon" cargo +nightly vita build vpk --releaseWindows PowerShell:
$env:RUSTFLAGS = "-C target-feature=-neon"
cargo +nightly vita build vpk --releaseThe repository contains platform wrappers under tools/ so Cargo can
find the Vita compiler, archiver, and pkg-config implementation on Unix and Windows.
For the commands below, install
vitacompanion on the Vita and
leave its FTP server running.
make upload-vpk VITA_IP=192.168.0.103This uploads the package to ux0:/data/green-vita.vpk; it does not install it.
Open VitaShell and install that file once. To choose another upload directory:
make upload-vpk VITA_IP=192.168.0.103 VITA_UPLOAD_DIR=ux0:/downloads/After the VPK is installed:
make update-run-vita VITA_IP=192.168.0.103This rebuilds eboot.bin, replaces ux0:/app/GREENVITA/eboot.bin, and starts
the application. make run-vita VITA_IP=... is an alias for the same command.
Caution
The update command replaces only eboot.bin. Reinstall the complete VPK
whenever package metadata or files under static/ change.
FTP error 550: File not found
The destination directory must already exist. Install the VPK before using
update-run-vita, and make sure the upload directory passed through
VITA_UPLOAD_DIR exists on the Vita memory card.
- Greenlight, an open-source xCloud and Xbox home-streaming client that served as a protocol and UX reference
- xbox-xcloud-player, the WebRTC streaming library used by Greenlight and a key reference for xCloud and xHome session handling
- Vita Moonlight, a major reference for low-latency streaming and hardware video decoding on the PS Vita
- PS Vita icon used in the GreenVita logo: "PS Vita" by Mark Davis from The Noun Project
- VitaSDK and the vita-rust ecosystem
GreenVita is an independent homebrew project and is not affiliated with or endorsed by Microsoft, Xbox, Sony, or PlayStation.
GreenVita is licensed under the Mozilla Public License 2.0.