RYU6Recomp
Rehosting a console binary as a native Windows application
Apr – Jul 2026

Native PCshadPS4 emulation
Drawn in-frameMesh region
Drawn in-frameMayu regions




The problem
A console binary assumes its home platform: a fixed GPU command format, a shader bytecode no desktop driver understands, and a display pipeline whose timing guarantees the OS makes implicitly. Running one on PC means rebuilding each of those assumptions explicitly, without access to any original source.
Approach
- Static analysis of the shipped executable in Ghidra to recover structure and entry points.
- Translation of the console GPU's shader bytecode into SPIR-V so desktop drivers can consume it.
- A Vulkan renderer for the frame replay and present path, debugged against the Khronos validation layers rather than against visible symptoms.
Outcome
Produced a write-up of a write-after-read hazard on the swapchain that was invisible on my development GPU and only surfaced under synchronization validation — including the fix and, honestly, the separate bug it did not fix.
Built with
- C++
- Vulkan
- SPIR-V
- Ghidra
- RenderDoc