Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
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

  • Download the latest .vpk from Releases.
  • Transfer the VPK to your PS Vita.
  • 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: