Skip to content

xyzz/vita-moonlight

 
 

Repository files navigation

Vita Moonlight

Vita Moonlight is a PlayStation Vita port of Moonlight, with major improvements for usability, pairing, device management, and now advanced touch, multitouch, and DS4 touchpad emulation.

Highlights (0.13.0)

  • Touchscreen Modes Unified: Select between three touchscreen modes from the settings menu:
    • DS4 Touchpad: Emulates a DualShock 4-style multitouch touchpad, compatible with gestures and Steam Input advanced controls.
    • Absolute Mouse: Use the Vita screen as a true absolute mouse (with improved gesture support).
    • Tablet (Sunshine): Native multitouch for Sunshine streaming, with true multi-finger gestures.
  • DS4 Touchpad Sensitivity: DS4 mode is now more sensitive and precise for a smoother experience.
  • Wake-on-LAN (WOL) Integration: Power on your remote PC directly from the Vita, with robust MAC address handling and cross-platform compatibility.
  • Host MAC Management: MAC addresses are now saved/loaded correctly, with all ARP/legacy logic removed.
  • WOL Packet Debugging: Includes a Python script (tools/wol_sniffer.py) to verify WOL packets on your network.
  • UI Improvements:
    • Host Management menu: improved navigation (O/cancel returns), clearer visual feedback, and unified status display.
    • Special button overlays no longer interfere with absolute touch input.
  • Combo Fixes: L1+L2 and R1+R2 combos now work correctly, even with touchscreen or backtouch enabled.
  • Robustness: Many bugfixes, code cleanups, and internal refactors for stability and maintainability.
  • L1/R1 and L2/R2 Swap: Swap the functions of the L1/R1 and L2/R2 buttons from the settings menu for greater comfort and customization.
  • Gamepad Type Selection: Choose Xbox or PlayStation controller layout directly from the settings menu.

Documentation

More information can find moonlight-docs, moonlight-embedded, and our wiki. If you need more help, join the #vita-help channel in discord.

Upcoming Features

  • Artemis/Apollo compatibility: Planned support for Artemis/Apollo (a modified Sunshine host), to allow streaming from more sources and custom servers.

Stay tuned for more improvements!

How to open the Pause Menu

To open the pause menu at any time (even in any touch mode), press:

START + L + R

This shortcut works regardless of the selected touch mode (Absolute Mouse or Touchscreen). Use it to access the in-game pause/options menu quickly.


How to open the Floating Keyboard

To open the elevated floating keyboard at any time, press:

START + LEFT

This shortcut will always open the virtual keyboard in elevated mode, never covering the main screen. Works in all touch modes.


What's New in 0.13.0

  • Unified Touchscreen Modes: Choose between DS4 Touchpad, Absolute Mouse, and Tablet (Sunshine) modes from the settings menu.
  • DS4 Touchpad Mode: Vita screen acts as a DS4-style multitouch touchpad, supporting gestures and advanced controls in games and Steam Input.
  • Improved DS4 Sensitivity: Smoother and more precise touchpad emulation.
  • Wake-on-LAN (WOL) Fully Integrated: Power on your PC from the Vita, with robust MAC address handling and cross-platform support.
  • Host MAC Address Management: MAC addresses are now saved/loaded correctly; all ARP/legacy logic removed.
  • WOL Packet Debugging: Python script (tools/wol_sniffer.py) included to verify WOL packets on your network.
  • UI Improvements:
    • Host Management menu: O/cancel returns to previous menu, improved feedback, unified status display.
    • Special button overlays no longer interfere with absolute touch input.
  • Combo Fixes: L1+L2 and R1+R2 combos now work correctly, even with touchscreen or backtouch enabled.
  • **Many bugfixes, code cleanups, and internal refactors for stability and maintainability.


Screenshots

Floating keyboard in Steam app
Floating keyboard in a Steam app using Moonlight

Host waiting for IP update (yellow)
Host waiting for IP update (yellow)

Host online (green)
Host online (green)

Host offline/disconnected (red)
Host offline/disconnected (red)

IP change confirmation dialog
IP change confirmation dialog (shows old/new IP)

Search device function
Search device function showing a found local device


Build Requirements

  • VitaSDK installed and configured on your system (guide here).
  • Submodules updated:
    git submodule update --init

Quick Build

  1. Install dependencies with vdpm if you haven't already.
  2. Make sure VitaSDK is installed and in your $PATH.
  3. Run:
    ./makepsv
    This will generate a VPK file ready to install on your PS Vita.

Manual Build (optional)

If you prefer to build manually:

# If you do git pull, make sure to update submodules first
 git submodule update --init
 mkdir build && cd build
 cmake ..
 make

Note about colors in vita2d

Important: The vita2d library interprets colors in BGRA format (not RGBA). For example:

  • 0xFF00FFFF will appear yellow (not cyan)
  • 0xFFFFFF00 will appear blue (not yellow)
  • 0xFF00FF00 will appear green (correct)
  • 0xFFFF0000 will appear red (correct)

If the color does not look as expected, swap the byte order (use BGR instead of RGB).

Thanks to all contributors and the Moonlight community!

About

NVIDIA Gamestream client for PlayStation Vita, based on moonlight-embedded

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 95.4%
  • CMake 1.9%
  • Shell 1.9%
  • Python 0.8%