Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 04:13, 10 May 2026 by Hyatt (talk | contribs)
VitaRPS5
General
AuthorAAGaming00, ywnico, mauricio-gg
TypeUtilities
Version3.0.1
LicenseAGPL-3.0
Last Updated2026/05/05
Links
Download
Website
Source
Support Author

VitaRPS5 is a fork of ywnico's Vitaki Fork, which itself is based on AAGaming's original Chiaki port Vitaki. This project provides PlayStation 5 Remote Play functionality on the PS Vita.

This is an enhanced version with modern UI, optimized performance, and quality-of-life improvements.

Features

  • Modern UI — Card-based console selection, wave navigation sidebar, tabbed settings, PlayStation-themed design.
  • Low-Latency Streaming — Tuned thread priorities, 500Hz input polling, optimized network buffers.
  • Controller Customization — 3 custom preset slots, fullscreen interactive controller diagram with front and back views.
  • Smart Connection Flow — Auto-discovery, animated wake-up with progress countdown, automatic streaming start.
  • PSN Internet Remote Play — Sign in with PSN to stream from outside your home network via UPnP NAT traversal (works on most home networks; falls back gracefully on restrictive ones).
  • Packet-Loss Recovery — Reconnecting overlay, automatic bitrate adjustment, seamless retry without crashing.
  • Flexible Video Settings — Latency presets (ultra-low to max), fill/letterbox toggle, 30/60 FPS control.
  • Full Control Support — All buttons mapped including L2/R2/L3/R3, touchpad, and motion controls.

Installation

  1. Download the latest .vpk from Releases.
  2. Transfer the VPK to your PS Vita.
  3. Install using VitaShell or your preferred installer.

For usage please see Vitaki Fork.

Screenshots

VitaRPS5-01.png

VitaRPS5-02.png

VitaRPS5-03.png

Changelog

v3.0.1

  • fix(psn): prevent crash when selecting PS5 card with holepunch active (#174 regression) (#175) (75750e4)

v3.0.0

  • fix(psn): unbreak prod build and enable PSN holepunch by default (#174) (f5d2abd)
  • fix(psn): unbreak prod build and enable PSN holepunch by default (#174) (5bfb020)
  • fix(ctrl): add missing #include <chiaki/random.h> to fix build (#173) (169b454)
  • fix(config): write host->server_mac instead of rhost->server_mac when serializing registered hosts (#172) (97f4256)
  • fix(psn): unify auth status color and label from single state snapshot (#167) (a26c246)
  • docs(readme): update screenshots, move support button, fix CI badge for 3.0.0 (#168) (385e40d)
  • fix(build): bump nanopb 0.4.6 → 0.4.9.1 to fix CI submodule fetch (#166) (6bac341)
  • fix(psn): enforce PONG < PING interval with _Static_assert (#165) (1a5caa6)
  • fix(psn): auto-refresh token on startup and during idle, persist on every refresh (#161) (d6b6ca5)
  • fix(psn): throttle WebSocket ping interval + reduce NAT socket burst (#150) (6cc979a)
  • fix(psn): lower default bitrate to 3.5 Mbps on PSN/internet path (#149) (24e99f0)
  • refactor(vita-dns): replace forward-decl blocks with vita_resolve.h include (#159) (8e04c9f)
  • fix(vita-dns): extend sceNetResolverStartNtoa bypass to STUN UDP sockets (#158) (500c444)
  • fix(psn): copy device UID when deduplicating LAN+PSN_REMOTE hosts (37ed9d5)
  • fix(vita-dns): bypass broken getaddrinfo in libcurl 8.17+ on PS Vita (2c83f07)
  • fix(net): SO_SNDBUF symmetric tuning + Senkusha 1ms RTT fallback fix (f73f7dd)
  • fix(build): bump cmake_minimum_required to 3.5 for CMake 4.1 compat (3295c79)
  • chore: bump version to 0.1.739 (e338a5c)
  • fix(build): complete GCC 15 compatibility for miniupnpc stub headers (1808b1f)
  • fix(build): replace -Dgai_strerror=strerror macro with netdb.h stub (796ff48)
  • fix(vita2d): null-check malloc result in texture_atlas_insert (#147) (39187cc)
  • fix(ui): 2x supersampled atlas + LINEAR for smooth text at all sizes (#146) (0fa03de)
  • fix(ui): prevent force_psn_holepunch leak on early return (#144) (8c9368d)
  • fix(ui): dedup PSN remote cards + LAN/Internet connection choice (#143) (55b1e7c)
  • fix(ui): shrink QR margin, wrap login URL to 2 lines (#134) (#142) (b6ddc44)
  • feat(ui): batch 3 — migrate 82 text draws to ui_text_* helpers (#127) (#141) (98a649a)
  • feat(ui): batch 4 — migrate video_overlay.c text draws + UI_LOSS_INDICATOR_DOT_TEXT_GAP (#127) (#140) (4182ac6)
  • refactor(ui): mint FONT_SIZE_CARD_TITLE / FONT_SIZE_HOME_HEADER (#138) (#139) (e3d1027)
  • feat(ui): batch 2 — migrate 49 text draws to ui_text_* helpers (#127) (#137) (d46d32e)
  • feat(ui): batch 1 — migrate text draws to ui_text_* helpers (#127) (#136) (f9e5e98)
  • feat(ui): pre-warmed FreeType glyph atlases per pt size (#127) (#135) (1c0dfc4)
  • feat(ui): MSAA 4x + linear filtering on UI textures (#123, #124) (#132) (81a3b23)
  • fix(psn_auth): guard UTF-8 helpers against out-of-range codepoints (#120) (#131) (f7c8d35)
  • fix(ui): PR #121 follow-up cleanup (#129) (#130) (215096b)
  • feat(ui): explicit PSN log-out button + Connection card declutter (#92) (#121) (44d0e86)
  • psn_auth: decode \uXXXX JSON escapes to UTF-8 (#109) (#117) (eb10f08)
  • feat: encrypt persisted PSN OAuth tokens on Vita (#81) (#118) (2a8f878)
  • holepunch: bundled hardening follow-ups (#111, #112, #113) (#116) (3c94a82)
  • Internet remote play: PSN OAuth & holepunch security hardening (#108) (777932e)
  • chore: add clang-format + cppcheck CI gate, normalize vita/ (#107) (8938fcd)
  • Redact PSN OAuth credentials in logs + fix auth_write_cb (#106) (f7cfa38)
  • feat: enable PSN internet remote play on Vita (UPnP + holepunch fixes) (#95) (32dac1c)
  • Revamp README as standalone VitaRPS5 product page (#80) (c2b02fb)

v2.1.2

  • Fix production log writes and add UI logging toggle (#79) (fb34cc1)

v2.1.1

  • Fix random video freeze in cascade-skip recovery (#76) (2095e98)

v2.1.0

  • Consolidate front-touch control mapping helpers into shared set_ctrl_l2pos/set_ctrl_r2pos (#75) (d14a455)
  • Fix connection startup by restoring credential hydration and host merge integrity (#74) (912c993)
  • Fix touchpad mapping by emitting touch events (#71) (98416d7)
  • Fix host list compaction stall in update_context_hosts (#72) (d64d7f9)
  • UI cleanup wave 2: simplify ui_screens flow (#70) (ef037c4)
  • Codebase cleanup wave 1: simplify inflated non-UI modules (#69) (794c65d)
  • Unify stream stability path and remove recovery profile toggle (#68) (7fe4ebf)
  • Multi-console discovery: carousel polish + touch swipe (#67) (5aec16f)
  • FPS health investigation: root cause analysis and P0-P2 recovery improvements (#66) (e17249b)
  • Startup burst rework: robust streaming pipeline with deferred finalization (#65) (f5ac7d9)
  • Feat/stability baseline packet path (#63) (5d7da67)
  • Refactor UI modal ownership to remove scattered guard checks (#61) (a254b87)
  • UX cleanup, stream overlays, and periodic latency refresh (#60) (2989316)
  • Bugfixes UI and unrequired settings (#59) (e0859d0)
  • Fix settings persistence across restarts (#58) (fb72970)
  • feat: add L1/R1 shoulder remapping in controller mapping UI (#57) (90fcfae)

v2.0.3

  • fix: Complete back-panel controller mapping overhaul (#54) (2398148).

v2.0.2

  • fix: Prevent production builds from creating verbose logs (#51) (a9e65d9)

v2.0.1

  • feat: Graceful PS5 sleep/shutdown handling with thread cleanup (#50) (75c5763) ==
  • docs: Add IP_DONTFRAG experimental results to abandoned optimizations (#49) (b4f9f78)
  • docs: Document abandoned dual callback optimization investigation (#48) (0eb1baf)
  • feat: Add adaptive jitter buffer to eliminate head-of-line blocking (#46) (dfba574)
  • Replace local screenshot paths with new screenshots (#45) (fb5a362)
  • docs: Update README and TODO with latest improvements (#44) (49fa235)

v2.0.0

  • Thread Priority & CPU Affinity Tuning
    • Input thread priority increased to 96 (from default) and pinned to CPU 1 to avoid contention with media processing (vita/src/host.c:1194-1195)
    • Audio thread priority set to 64 and pinned to CPU 0 for consistent audio mixing without dropouts (vita/src/audio.c:144-145)
    • Video decoder thread priority 64 and pinned to CPU 0 for optimal hardware acceleration (vita/src/video.c:691-692)
    • Result: Input processing now takes precedence over all other tasks, reducing controller-to-network latency
  • Input Polling Optimization
    • Reduced input polling interval from 5ms to 2ms - effectively 500Hz sampling rate (vita/src/host.c:1203)
    • Adaptive sleep alignment prevents CPU waste while maintaining tight sampling
    • Controller state changes are detected and transmitted 2.5× faster than before
  • Network Receive Queue Optimization
    • Trimmed Takion reorder queue from 128 to 64 packets on Vita builds to reduce buffering latency (lib/src/takion.c:47)
    • Added overflow logging with rate limiting to monitor packet loss without spam
    • Implemented automatic drop detection and recovery for degraded network conditions
    • Result: Lower end-to-end network latency, especially on clean connections
  • Packet Loss Fallback System
    • Automatic bitrate reduction when frame drops detected (Ultra Low → 800 Kbps emergency mode)
    • "Reconnecting..." overlay with seamless resume instead of crashing to menu
    • Keeps controller input flowing during recovery to avoid input gaps (vita/src/host.c:1248-1252)
    • Up to 2 automatic retry attempts before returning to menu
  • Video Pipeline Optimizations
    • VBlank wait disabled during streaming to eliminate vsync latency (vita/src/video.c:872)
    • Frame presentation uncapped for minimal display lag
    • 30 FPS lock by default reduces bandwidth and decode workload (configurable to 60 FPS in settings)
  • Measured Impact
    • According to docs/LATENCY_QUICK_WINS.md, these optimizations deliver:
      • 20-40ms latency reduction (realistic estimate)
      • Input lag reduced from ~20-30ms to ~10ms (controller polling improvements)
      • Network handling optimized for both local and remote connections
  • VitaRPS5-Style Interface
    • Clean card-based console selection with PS5/PS4 visual indicators
    • Professional PlayStation-themed color scheme (blues, whites, sophisticated grays)
    • Wave-animated navigation sidebar with collapsible menu
    • Individual digit PIN entry screen for console pairing
  • Enhanced Console Management
    • Automatic console discovery on local network
    • Manual remote host configuration with static IP support
    • Console wake flow with animated progress and 30-second timeout
    • One-tap streaming start when console wakes (no double-press required)
  • Settings & Configuration
    • Tabbed settings page (Streaming, Controller) with L/R navigation
    • 3 fully customizable controller preset slots (Custom 1, Custom 2, Custom 3)
    • Immersive fullscreen controller mapping screen with procedural Vita diagrams
    • Latency mode selection: Ultra Low, Low, Balanced, High, Max (targeting 1.2-3.8 Mbps)
    • Fill Screen toggle and Force 30 FPS option
  • Controller Input Fixes
    • Resolved race condition preventing controller input during streaming
    • Properly separated UI and input thread buffer access
    • D-pad navigation no longer double-processes when nav bar focused
    • Focus manager prevents input leaking between UI zones
  • Connection Reliability
    • Fixed instant disconnection bug from upstream
    • Console re-pairing now properly deletes old registration data
    • Remote Play crash/in-use detection with user-friendly hints
    • Improved error handling for network timeouts
  • UI Polish
    • Fixed content overlap with navigation pill
    • Profile page layout corrected (Y=60 → Y=80)
    • Triangle icon in menu pill matches PlayStation conventions
    • 48px navigation icons with optional text labels
  • Latency Breakdown (estimated)
    • Total latency: ~100-140ms remote (down from 150-200ms), ~50-70ms local (down from 80-100ms)
    • Input lag: <10ms (down from 20-30ms)
    • Video decode-to-display: ~30ms
    • Network RTT: Variable (depends on connection)
  • Platform Constraints
    • PS Vita: 960×544 display, quad-core ARM Cortex-A9, 512MB RAM
    • Hardware H.264 decoder (SceVideodec) for video
    • vita2d for all rendering
    • Dual CPU cores: CPU 0 for media, CPU 1 for input sampling
  • Chiaki Protocol Enhancements
    • Fast restart mechanism for packet-loss recovery
    • Cached controller state preservation across reconnects
    • Session restart API for bitrate negotiation without full disconnect
    • FEC error concealment from Chiaki base library

v1.0.2

  • What's Changed- Latency Optimization - Phase 1 Improvements (#8) (48a0b1b)
    • UI Fixes: Main Screen Improvements and VitaRPS5 Branding (#4) (439e514)

v1.0.1

  • First Release.

External links

Advertising: