{"id":15115044,"url":"https://github.com/xyzz/vita-moonlight","last_synced_at":"2025-09-27T19:31:27.676Z","repository":{"id":40499338,"uuid":"65733661","full_name":"xyzz/vita-moonlight","owner":"xyzz","description":"NVIDIA Gamestream client for PlayStation Vita, based on moonlight-embedded","archived":false,"fork":true,"pushed_at":"2023-04-26T13:29:15.000Z","size":11566,"stargazers_count":631,"open_issues_count":69,"forks_count":75,"subscribers_count":46,"default_branch":"vita","last_synced_at":"2024-09-26T01:47:12.858Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"moonlight-stream/moonlight-embedded","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xyzz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-15T13:18:13.000Z","updated_at":"2024-09-05T21:04:16.000Z","dependencies_parsed_at":"2023-02-16T17:31:13.556Z","dependency_job_id":null,"html_url":"https://github.com/xyzz/vita-moonlight","commit_stats":null,"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyzz%2Fvita-moonlight","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyzz%2Fvita-moonlight/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyzz%2Fvita-moonlight/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xyzz%2Fvita-moonlight/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xyzz","download_url":"https://codeload.github.com/xyzz/vita-moonlight/tar.gz/refs/heads/vita","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234453724,"owners_count":18835113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-26T01:43:39.838Z","updated_at":"2025-09-27T19:31:27.669Z","avatar_url":"https://github.com/xyzz.png","language":"C","funding_links":[],"categories":["others","🎞️ Media","📺 Clients"],"sub_categories":["📶 Remote Play","✴️ Third-Party Moonlight Clients"],"readme":"# Vita Moonlight\n\nVita 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.\n\n## Highlights (0.13.0)\n\n- **Touchscreen Modes Unified:** Select between three touchscreen modes from the settings menu:\n  - **DS4 Touchpad:** Emulates a DualShock 4-style multitouch touchpad, compatible with gestures and Steam Input advanced controls.\n  - **Absolute Mouse:** Use the Vita screen as a true absolute mouse (with improved gesture support).\n  - **Tablet (Sunshine):** Native multitouch for Sunshine streaming, with true multi-finger gestures.\n- **DS4 Touchpad Sensitivity:** DS4 mode is now more sensitive and precise for a smoother experience.\n- **Wake-on-LAN (WOL) Integration:** Power on your remote PC directly from the Vita, with robust MAC address handling and cross-platform compatibility.\n- **Host MAC Management:** MAC addresses are now saved/loaded correctly, with all ARP/legacy logic removed.\n- **WOL Packet Debugging:** Includes a Python script (`tools/wol_sniffer.py`) to verify WOL packets on your network.\n- **UI Improvements:**\n  - Host Management menu: improved navigation (O/cancel returns), clearer visual feedback, and unified status display.\n  - Special button overlays no longer interfere with absolute touch input.\n- **Combo Fixes:** L1+L2 and R1+R2 combos now work correctly, even with touchscreen or backtouch enabled.\n- **Robustness:** Many bugfixes, code cleanups, and internal refactors for stability and maintainability.\n- **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.\n- **Gamepad Type Selection:** Choose Xbox or PlayStation controller layout directly from the settings menu.\n\n## Documentation\n\nMore information can find [moonlight-docs][1], [moonlight-embedded][2], and our [wiki][3].\nIf you need more help, join the #vita-help channel in [discord][4].\n\n[1]: https://github.com/moonlight-stream/moonlight-docs/wiki\n[2]: https://github.com/irtimmer/moonlight-embedded/wiki\n[3]: https://github.com/xyzz/vita-moonlight/wiki\n[4]: https://discord.gg/atkmxxT\n\n## Upcoming Features\n\n- **Artemis/Apollo compatibility:** Planned support for Artemis/Apollo (a modified Sunshine host), to allow streaming from more sources and custom servers.\n\nStay tuned for more improvements!\n\n## How to open the Pause Menu\n\n\u003e **To open the pause menu at any time (even in any touch mode), press:**\n\u003e \n\u003e **START + L + R**\n\u003e\n\u003e This shortcut works regardless of the selected touch mode (Absolute Mouse or Touchscreen). Use it to access the in-game pause/options menu quickly.\n\n---\n\n## How to open the Floating Keyboard\n\n\u003e **To open the elevated floating keyboard at any time, press:**\n\u003e\n\u003e **START + LEFT**\n\u003e\n\u003e This shortcut will always open the virtual keyboard in elevated mode, never covering the main screen. Works in all touch modes.\n\n---\n\n\n## What's New in 0.13.0\n\n- **Unified Touchscreen Modes:** Choose between DS4 Touchpad, Absolute Mouse, and Tablet (Sunshine) modes from the settings menu.\n- **DS4 Touchpad Mode:** Vita screen acts as a DS4-style multitouch touchpad, supporting gestures and advanced controls in games and Steam Input.\n- **Improved DS4 Sensitivity:** Smoother and more precise touchpad emulation.\n- **Wake-on-LAN (WOL) Fully Integrated:** Power on your PC from the Vita, with robust MAC address handling and cross-platform support.\n- **Host MAC Address Management:** MAC addresses are now saved/loaded correctly; all ARP/legacy logic removed.\n- **WOL Packet Debugging:** Python script (`tools/wol_sniffer.py`) included to verify WOL packets on your network.\n- **UI Improvements:**\n  - Host Management menu: O/cancel returns to previous menu, improved feedback, unified status display.\n  - Special button overlays no longer interfere with absolute touch input.\n- **Combo Fixes:** L1+L2 and R1+R2 combos now work correctly, even with touchscreen or backtouch enabled.\n- **Many bugfixes, code cleanups, and internal refactors for stability and maintainability.\n\n---\n\n---\n\n## Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/keyboard.jpg\" alt=\"Floating keyboard in Steam app\" width=\"400\"/\u003e\n  \u003cbr\u003e\u003cb\u003eFloating keyboard in a Steam app using Moonlight\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ip1.png\" alt=\"Host waiting for IP update (yellow)\" width=\"400\"/\u003e\n  \u003cbr\u003e\u003cb\u003eHost waiting for IP update (yellow)\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ip2.png\" alt=\"Host online (green)\" width=\"400\"/\u003e\n  \u003cbr\u003e\u003cb\u003eHost online (green)\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ip3.png\" alt=\"Host offline/disconnected (red)\" width=\"400\"/\u003e\n  \u003cbr\u003e\u003cb\u003eHost offline/disconnected (red)\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ip4.png\" alt=\"IP change confirmation dialog\" width=\"400\"/\u003e\n  \u003cbr\u003e\u003cb\u003eIP change confirmation dialog (shows old/new IP)\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/ip5.png\" alt=\"Search device function\" width=\"400\"/\u003e\n  \u003cbr\u003e\u003cb\u003eSearch device function showing a found local device\u003c/b\u003e\n\u003c/p\u003e\n\n---\n\n\n## Build Requirements\n\n- **VitaSDK** installed and configured on your system ([guide here](https://vitasdk.org/)).\n- **Submodules updated:**\n  ```sh\n  git submodule update --init\n  ```\n\n---\n\n## Quick Build\n\n1. Install dependencies with [vdpm](https://github.com/vitasdk/vdpm) if you haven't already.\n2. Make sure VitaSDK is installed and in your $PATH.\n3. Run:\n   ```sh\n   ./makepsv\n   ```\n   This will generate a VPK file ready to install on your PS Vita.\n\n---\n\n## Manual Build (optional)\n\nIf you prefer to build manually:\n\n```sh\n# If you do git pull, make sure to update submodules first\n git submodule update --init\n mkdir build \u0026\u0026 cd build\n cmake ..\n make\n```\n\n---\n\n## Note about colors in vita2d\n\n\u003e **Important:** The vita2d library interprets colors in BGRA format (not RGBA). For example:\n\u003e - 0xFF00FFFF will appear **yellow** (not cyan)\n\u003e - 0xFFFFFF00 will appear **blue** (not yellow)\n\u003e - 0xFF00FF00 will appear **green** (correct)\n\u003e - 0xFFFF0000 will appear **red** (correct)\n\u003e\n\u003e If the color does not look as expected, swap the byte order (use BGR instead of RGB).\n\n\nThanks to all contributors and the Moonlight community!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxyzz%2Fvita-moonlight","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxyzz%2Fvita-moonlight","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxyzz%2Fvita-moonlight/lists"}