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
- Host: GitHub
- URL: https://github.com/xyzz/vita-moonlight
- Owner: xyzz
- License: gpl-3.0
- Fork: true (moonlight-stream/moonlight-embedded)
- Created: 2016-08-15T13:18:13.000Z (almost 10 years ago)
- Default Branch: vita
- Last Pushed: 2023-04-26T13:29:15.000Z (about 3 years ago)
- Last Synced: 2024-09-26T01:47:12.858Z (over 1 year ago)
- Language: C
- Homepage:
- Size: 11 MB
- Stars: 631
- Watchers: 46
- Forks: 75
- Open Issues: 69
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-PlayStation-Vita - Vita Moonlight - NVIDIA Gamestream (or [Sunshine](https://github.com/LizardByte/Sunshine)) client for Vita (🎞️ Media / 📶 Remote Play)
- awesome-sunshine - PS Vita - Moonlight client for PS Vita. (📺 Clients / ✴️ Third-Party Moonlight Clients)
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 a Steam app using Moonlight
Host waiting for IP update (yellow)
Host online (green)
Host offline/disconnected (red)
IP change confirmation dialog (shows old/new IP)
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!