VitaRPS5: Difference between revisions
From GameBrew
More actions
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=2025/ | |lastupdated=2025/12/28 | ||
|type=Utilities | |type=Utilities | ||
|version= | |version=2.0.0 | ||
|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 62: | Line 62: | ||
==Changelog== | ==Changelog== | ||
'''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 (<code>vita/src/host.c:1194-1195</code>) | |||
** '''Audio thread priority set to 64''' and '''pinned to CPU 0''' for consistent audio mixing without dropouts (<code>vita/src/audio.c:144-145</code>) | |||
** '''Video decoder thread priority 64''' and '''pinned to CPU 0''' for optimal hardware acceleration (<code>vita/src/video.c:691-692</code>) | |||
** 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 (<code>vita/src/host.c:1203</code>) | |||
** 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 (<code>lib/src/takion.c:47</code>) | |||
** 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 (<code>vita/src/host.c:1248-1252</code>) | |||
** Up to 2 automatic retry attempts before returning to menu | |||
*Video Pipeline Optimizations | |||
** '''VBlank wait disabled''' during streaming to eliminate vsync latency (<code>vita/src/video.c:872</code>) | |||
** '''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 <code>docs/LATENCY_QUICK_WINS.md</code>, 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''' | '''v1.0.2''' | ||
* What's Changed- Latency Optimization - Phase 1 Improvements ([https://github.com/mauricio-gg/vitaki-vitarps5/pull/8 #8]) ([https://github.com/mauricio-gg/vitaki-vitarps5/commit/48a0b1b037e3fbdcddf01e7f8a74c8502b19bfaa <code>48a0b1b</code>]) | * What's Changed- Latency Optimization - Phase 1 Improvements ([https://github.com/mauricio-gg/vitaki-vitarps5/pull/8 #8]) ([https://github.com/mauricio-gg/vitaki-vitarps5/commit/48a0b1b037e3fbdcddf01e7f8a74c8502b19bfaa <code>48a0b1b</code>]) | ||
Revision as of 04:31, 28 December 2025
| VitaRPS5 | |
|---|---|
| General | |
| Author | AAGaming00, ywnico, mauricio-gg |
| Type | Utilities |
| Version | 2.0.0 |
| License | AGPL-3.0 |
| Last Updated | 2025/12/28 |
| 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
- VitaRPS5-Style UI Redesign
- Modern card-based console selection interface.
- Professional PlayStation-themed color scheme.
- Redesigned PIN entry screen with individual digit display.
- Improved visual feedback and animations.
- Enhanced Console Wake Flow
- "Waking up console..." screen with animated progress.
- 30-second timeout with visual countdown.
- 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
Download VitakiFork.vpk.
Transfer to your PS Vita (via USB or FTP).
Install using VitaShell (press X on the VPK file).
Launch from LiveArea.
For usage please see Vitaki Fork.
Screenshots
Changelog
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.