KytyPlus v3.3 Release Notes
Overview
v3.3 focuses on stability improvements, better timeout handling, and improved debugging capabilities.
Changes
🔧 GPU & Rendering Improvements
- Fence wait timeouts: Added 10-second timeout to fence waits in
CommandBuffer::WaitForFenceOnly()to prevent infinite hangs on driver issues or fence signaling problems. - Master semaphore timeouts: Added 30-second timeout to
MasterSemaphore::Wait()to prevent hanging indefinitely on semaphore wait issues. - Command buffer reuse: Improved
BeginNext()logic with progressive fallback attempts before growing the command buffer pool. Added last-resort wait for master semaphore before creating new buffers.
🔊 Audio Improvements
- Tighter audio buffering: Reduced target latency from 40ms to 30ms for more responsive audio.
- Faster buffer management: Reduced max queued buffers from 16 to 8, decreased wait timeout from 200ms to 100ms, and increased check frequency (500μs sleep vs 1000μs).
- Improved audio underrun handling: More aggressive clearing of queued audio when waiting too long to prevent stutter during heavy GPU load.
🛡️ Debugging & Validation
- Vulkan validation enabled by default: Vulkan validation layers are now enabled by default to catch spec violations, resource state errors, and synchronization issues. This helps identify problems earlier and provides better diagnostic information in logs.
- To disable validation for performance testing, use
--vulkan-validation false.
🌐 HTTP/HTTPS
- HTTP busy-loop fix (v3.1, maintained):
HttpWaitRequestnow sleeps 10ms between polls instead of returning immediately, preventing CPU spinning and excessive log growth. Deadline-based timeout support added.
Known Limitations
- Some games may still not boot or may crash - emulation is beta software
- Vulkan validation adds overhead; may impact performance on some systems
- HTTPS/HTTP functionality is functional but may not work for all game-specific network requests
- Oodle/Kraken decompression remains unsupported in self-contained builds
Upgrade Notes
- Vulkan validation is now enabled by default. If you experience performance issues and your games work fine, you can disable it with
--vulkan-validation false. - The timeout changes should prevent hangs but may change timing slightly in edge cases.
Testing
Tested HTTPS connectivity to:
- google.com ✅
- github.com ✅
- api.github.com ✅
- kytyps5.github.io ✅
TLS 1.2/1.3 support confirmed via mbedTLS configuration
Thank you to all testers and contributors!