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
 
(2 intermediate revisions by one other user not shown)
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/02/18
|lastupdated=2026/05/05
|type=Utilities
|type=Utilities
|version=2.1.1
|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'''
* 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])
'''v2.1.1'''
'''v2.1.1'''
* Fix random video freeze in cascade-skip recovery ([https://github.com/mauricio-gg/vitaki-vitarps5/pull/76 #76]) ([https://github.com/mauricio-gg/vitaki-vitarps5/commit/2095e988f2b5bf7859af3ae1a0f9d01f97cd1ca9 2095e98])
* Fix random video freeze in cascade-skip recovery ([https://github.com/mauricio-gg/vitaki-vitarps5/pull/76 #76]) ([https://github.com/mauricio-gg/vitaki-vitarps5/commit/2095e988f2b5bf7859af3ae1a0f9d01f97cd1ca9 2095e98])

Latest revision as of 03:20, 14 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

  • 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: