An open API service indexing awesome lists of open source software.

https://github.com/xyzz/vita-moonlight

NVIDIA Gamestream client for PlayStation Vita, based on moonlight-embedded
https://github.com/xyzz/vita-moonlight

Last synced: 9 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# 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][1], [moonlight-embedded][2], and our [wiki][3].
If you need more help, join the #vita-help channel in [discord][4].

[1]: https://github.com/moonlight-stream/moonlight-docs/wiki
[2]: https://github.com/irtimmer/moonlight-embedded/wiki
[3]: https://github.com/xyzz/vita-moonlight/wiki
[4]: https://discord.gg/atkmxxT

## 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](https://vitasdk.org/)).
- **Submodules updated:**
```sh
git submodule update --init
```

---

## Quick Build

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

---

## Manual Build (optional)

If you prefer to build manually:

```sh
# 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!