VitaRPS5: Difference between revisions
From GameBrew
More actions
No edit summary |
No edit summary |
||
| (One intermediate revision 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/ | |lastupdated=2026/05/05 | ||
|type=Utilities | |type=Utilities | ||
|version= | |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== | ||
* ''' | * '''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== | ==Installation== | ||
Download | * 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 | * Install using [[VitaShell]] or your preferred installer. | ||
Install using [[VitaShell]] | |||
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 <chiaki/random.h> 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 < 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 & 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]) | ||
Latest revision as of 03:20, 14 May 2026
| VitaRPS5 | |
|---|---|
| General | |
| Author | AAGaming00, ywnico, mauricio-gg |
| Type | Utilities |
| Version | 3.0.1 |
| License | AGPL-3.0 |
| Last Updated | 2026/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
.vpkfrom Releases. - Transfer the VPK to your PS Vita.
- Install using VitaShell or your preferred installer.
For usage please see Vitaki Fork.
Screenshots
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
v2.1.1
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
v2.0.2
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 thread priority increased to 96 (from default) and pinned to CPU 1 to avoid contention with media processing (
- 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
- Reduced input polling interval from 5ms to 2ms - effectively 500Hz sampling rate (
- 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
- Trimmed Takion reorder queue from 128 to 64 packets on Vita builds to reduce buffering latency (
- 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)
- VBlank wait disabled during streaming to eliminate vsync latency (
- 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
- According to
- 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
v1.0.1
- First Release.