Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

VitaRPS5: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 4: Line 4:
|description=Mod of ywnico's Vitaki fork with enhanced UI and QOL improvements.
|description=Mod of ywnico's Vitaki fork with enhanced UI and QOL improvements.
|author=AAGaming00, ywnico, mauricio-gg
|author=AAGaming00, ywnico, mauricio-gg
|lastupdated=2026/03/06
|lastupdated=2026/05/05
|type=Utilities
|type=Utilities
|version=2.1.2
|version=3.0.1
|license=AGPL-3.0
|license=AGPL-3.0
|download=https://dlhb.gamebrew.org/vitahomebrews/VitaRPS5.7z
|download=https://dlhb.gamebrew.org/vitahomebrews/VitaRPS5.7z
Line 19: Line 19:
|image_alt=VitaRPS5
|image_alt=VitaRPS5
}}
}}
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.  
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.
This is an enhanced version with modern UI, optimized performance, and quality-of-life improvements.


==Features==
==Features==
* '''VitaRPS5-Style UI Redesign'''
* '''Modern UI''' — Card-based console selection, wave navigation sidebar, tabbed settings, PlayStation-themed design.
** Modern card-based console selection interface.
* '''Low-Latency Streaming''' — Tuned thread priorities, 500Hz input polling, optimized network buffers.
** Professional PlayStation-themed color scheme.
* '''Controller Customization''' — 3 custom preset slots, fullscreen interactive controller diagram with front and back views.
** Redesigned PIN entry screen with individual digit display.
* '''Smart Connection Flow''' — Auto-discovery, animated wake-up with progress countdown, automatic streaming start.
** Improved visual feedback and animations.
* '''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).
* '''Enhanced Console Wake Flow'''
* '''Packet-Loss Recovery''' — Reconnecting overlay, automatic bitrate adjustment, seamless retry without crashing.
** "Waking up console..." screen with animated progress.
* '''Flexible Video Settings''' — Latency presets (ultra-low to max), fill/letterbox toggle, 30/60 FPS control.
** 30-second timeout with visual countdown.
* '''Full Control Support''' — All buttons mapped including L2/R2/L3/R3, touchpad, and motion controls.
** Automatic streaming start when console wakes up.
** No need to press X twice.
* '''Fixed Controller Input Issues'''
** Resolved race condition that prevented controller input during streaming.
** Properly separated UI and input thread buffer access.
** Controllers now work reliably during remote play.
* '''Improved Console Management'''
** Re-pairing now properly deletes registration data from storage.
** Better console name and IP display formatting.
** Circle button for cancel (PlayStation convention).


==Installation==
==Installation==
Download VitakiFork.vpk.
# Download the latest <code>.vpk</code> from [https://github.com/mauricio-gg/vitaki-vitarps5/releases/latest Releases].
 
# Transfer the VPK to your PS Vita.
Transfer to your PS Vita (via USB or FTP).
# Install using [[VitaShell]] or your preferred installer.
 
Install using [[VitaShell]] (press X on the VPK file).
 
Launch from LiveArea.


For usage please see [[Vitaki Fork]].
For usage please see [[Vitaki Fork]].
Line 62: Line 48:


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

Revision as of 04:13, 10 May 2026

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: