Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
The main server is currently down. We are running on a backup server, so editing and search functionality are temporarily disabled. Please check back in a few hours.

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=2025/10/02
|lastupdated=2025/12/28
|type=Utilities
|type=Utilities
|version=1.0.2
|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)
** &quot;Reconnecting...&quot; 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 &amp; 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: &lt;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
AuthorAAGaming00, ywnico, mauricio-gg
TypeUtilities
Version2.0.0
LicenseAGPL-3.0
Last Updated2025/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

VitaRPS5-01.png

VitaRPS5-02.png

VitaRPS5-03.png

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