No description
  • C++ 62%
  • C 27.2%
  • Shell 5.4%
  • Python 3.1%
  • CMake 2%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-21 08:08:55 -06:00
.github fix(build): deploy noninteractive VPKs and validate dual-frontend packages 2026-10-21 08:08:55 -06:00
.vscode build(vita): unify VitaSDK host workflows 2026-08-25 09:05:26 -06:00
assets gui: Move to TTF font from pgf 2019-05-22 03:59:36 +09:00
cmake build(vita): ignore dirty nested Borealis submodules 2026-09-17 16:22:17 -06:00
docs chore(repo): remove obsolete project files 2026-08-24 03:31:14 -06:00
launcher feat(legacy): add first-run frontend welcome 2026-09-29 18:12:53 -06:00
legacy feat(release): version Legacy independently in combined VPK 2026-10-20 22:07:52 -06:00
mappings Add pstv mapping files & apply right mapping values 2016-10-15 02:42:46 +09:00
moonlight feat(vita): support selectable Legacy and Borealis frontends 2026-09-27 01:11:01 -06:00
patches/borealis build(ui): replace proprietary font assets 2026-09-17 14:09:52 -06:00
psv chore(release): prepare 1.0.0 2026-09-01 19:15:00 -06:00
resources feat(vita): support selectable Legacy and Borealis frontends 2026-09-27 01:11:01 -06:00
sce_sys chore(release): prepare 1.0.0 2026-09-01 19:15:00 -06:00
scripts fix(build): deploy noninteractive VPKs and validate dual-frontend packages 2026-10-21 08:08:55 -06:00
tests fix(build): deploy noninteractive VPKs and validate dual-frontend packages 2026-10-21 08:08:55 -06:00
third_party refactor(moonmic): use public protocol headers 2026-09-15 05:23:21 -06:00
tools refactor(tools): move Vita diagnostics and legacy MinGW scripts 2026-09-01 02:35:00 -06:00
.clang-format feat(ui): migrate the Vita client to Borealis while preserving legacy sources 2025-11-19 19:02:51 -06:00
.clangd build(vita): unify VitaSDK host workflows 2026-08-25 09:05:26 -06:00
.gitattributes perf(video): apply Borealis latency patch 2026-08-24 13:57:24 -06:00
.gitignore chore(repo): ignore local stream logs 2026-08-30 11:50:51 -06:00
.gitmodules build(vita): unify VitaSDK host workflows 2026-08-25 09:05:26 -06:00
build_libromfs_generator.sh feat(ui): migrate the Vita client to Borealis while preserving legacy sources 2025-11-19 19:02:51 -06:00
CHANGELOG.md docs(release): normalize release note style 2026-09-17 11:43:29 -06:00
CMakeLists.txt feat(legacy): add first-run frontend welcome 2026-09-29 18:12:53 -06:00
CONTRIBUTING.md ci(release): harden pull requests and verified releases 2026-09-17 21:11:58 -06:00
ip_vita.txt.example build(vita): unify VitaSDK host workflows 2026-08-25 09:05:26 -06:00
LICENSE Initial commit of Moonlight Embedded port to C 2015-05-10 18:23:36 +02:00
makefast build(vita): standardize package workflow 2026-09-01 15:05:00 -06:00
makepsv fix(build): deploy noninteractive VPKs and validate dual-frontend packages 2026-10-21 08:08:55 -06:00
moonlight-vita.conf.example perf(video): prefer next-frame presentation 2026-09-12 10:50:59 -06:00
README.md docs(repo): point development links upstream 2026-09-17 18:53:46 -06:00
release.py feat(release): version Legacy independently in combined VPK 2026-10-20 22:07:52 -06:00

Moonlight Vita Logo

Moonlight Vita

Moonlight Vita is a Moonlight client for PS Vita and PSTV, based on Moonlight Embedded. It streams games and applications from a Sunshine-compatible host.

Features

  • Hardware H.264 decoding on PS Vita
  • Low-latency GXM presentation
  • Host discovery, pairing and Wake-on-LAN
  • Touchscreen, rear touchpad, motion and configurable shortcuts
  • Optional microphone forwarding through Moonmic
  • Borealis interface with controller and touch navigation

Requirements

  • PS Vita or PSTV with homebrew support
  • VitaShell for VPK installation
  • A PC running Sunshine or another compatible GameStream host
  • A stable local network; Ethernet is recommended for the host PC

Installation

  1. Download moonlight.vpk from the release page and copy it to the Vita.
  2. Install the package with VitaShell.
  3. Start Moonlight from LiveArea and pair it with the host.

Building

Linux, WSL and Windows/MSYS2 use the same build scripts. Install VitaSDK first and make sure VITASDK/bin is available in PATH.

Clone the repository and its submodules:

git clone --recurse-submodules https://github.com/xyzz/vita-moonlight.git
cd vita-moonlight
git submodule update --init --recursive

Linux

Install the host tools. On Debian or Ubuntu:

sudo apt update
sudo apt install build-essential cmake ninja-build git curl wget unzip \
    libarchive-tools pkg-config fakeroot patch python3 bzip2 xz-utils

Install VitaSDK following the official VitaSDK instructions, then export its location:

export VITASDK=/usr/local/vitasdk
export PATH="$VITASDK/bin:$PATH"

WSL

Use a current WSL2 distribution and install the same packages listed for Linux. Install VitaSDK inside WSL, normally at /usr/local/vitasdk; do not reuse a Windows VitaSDK installation. Keeping the repository in the WSL filesystem (for example ~/src/vita-moonlight) avoids slow builds and permission issues on /mnt/c.

export VITASDK=/usr/local/vitasdk
export PATH="$VITASDK/bin:$PATH"

If the source must remain on a mounted Windows drive, place build outputs in the WSL filesystem:

export VITA_BUILD_ROOT="$HOME/.cache/vita-moonlight-build"

Windows/MSYS2

Run the commands from the MSYS2 MSYS shell. Install the required host tools:

pacman -S --needed make git curl wget unzip libarchive cmake ninja pkgconf \
    patch python diffutils sed grep findutils tar

Set VITASDK to the installed SDK. POSIX and Windows paths are both accepted:

export VITASDK=/usr/local/vitasdk
export PATH="$VITASDK/bin:$PATH"

Dependencies

Install the Vita libraries and the FFmpeg-vita fork:

./scripts/prepare/install_all.sh

The normal GXM build does not require PVR_PSP2. Install it only for the optional GLES backend:

./scripts/prepare/install_all.sh --with-pvr

Compile

To build a release VPK with GXM without deploying it:

./makepsv --gxm --release --no-deploy

Run ./makepsv without arguments to open the interactive builder. Build directory names include the host and graphics backend, such as cmake-build-psv-linux-gxm, cmake-build-psv-wsl-gxm or cmake-build-psv-msys2-gxm. Set VITA_BUILD_ROOT to place these directories outside the source tree.

For fast incremental builds and direct deployment, copy the IP template first:

cp ip_vita.txt.example ip_vita.txt
./makefast

makefast --no-deploy only builds the application and does not require an IP file. Deployment expects VitaShell FTP on port 1337 and Vita Companion control on port 1338.

See scripts/prepare/README.md for dependency details and troubleshooting.

Contributing

Keep changes focused and follow the existing code style. Update submodules after pulling changes that modify gitlinks, then run the relevant Vita build before submitting a pull request.

License

Moonlight Vita is licensed under the GNU General Public License v3.0. See LICENSE.

Credits

Moonlight Vita exists because of the work of the Moonlight community and the developers who maintained the Vita port over many years. Major historical contributors include:

  • Iwan Timmer, original Moonlight Embedded maintainer
  • xyzz, creator and maintainer of the Vita port
  • d3m3vilurr, long-term Vita maintenance and platform updates
  • Cameron Gutman, Moonlight protocol and streaming work

Thanks also to AorsiniYT, the Moonlight Vita contributors and the maintainers of moonlight-common-c.

The interface uses Borealis, created and maintained by Natinusala, xfangfang, XITRIX and its contributors. The toolchain and platform libraries are provided by the VitaSDK community. The bundled UI font is a subset of Noto Sans CJK, distributed under the SIL Open Font License 1.1.