mihawk-99 / PS5_Vulkan
git clone https://github.com/mihawk-99/PS5_Vulkan.git
A Vulkan 1.4+ PS5 native driver, powered by Mesa/RADV and validated by CTS.
—
stars, 24h
—
stars, 7 days
+98
stars, 30 days · #2,355
98
★ total
12
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC
LicenseGPL-3.0
Created2026-09-20 (1mo ago)
Last push5d ago
Watchers0
OwnerUser
Links
README excerpt
# PS5Vulkan **Vulkan for the PlayStation 5: Mesa's RADV on a PS5 winsys, on its way to a conformant Vulkan 1.4 device; ps5vk, the first driver; and the hardware probe behind both.** This repository builds Vulkan drivers for the PS5's GPU, together with the probe harness that proves, one capability at a time on real hardware, what that GPU actually does. The driver going forward is **RADV**, Mesa's Vulkan driver for AMD GPUs, built from my Mesa fork with a PS5 winsys that allocates, submits and presents through the console's exported AGC, kernel and VideoOut functions (The RADV port). **ps5vk**, the first driver, is a Mesa-derived Vulkan 1.1 implementation that programs AGC and VideoOut itself. vkQuake and PS5 RetroArch have moved to RADV, and ProsperoEden's Vulkan renderer runs on it; ps5vk stays vkQuake's and RetroArch's `PS5_VULKAN_DRIVER=ps5vk` build option. It is a companion to the PS5 OpenGL SDK (release 0.3.0, adapted into `.deps/native/opengl-sdk` by `tools/adapt-opengl-sdk.sh`) and is developed with the public ps5-payload-dev/sdk toolchain. > RADV reports Vulkan **1.4** and runs the Khronos CTS on the console; its > `conformanceVersion` stays 0.0.0.0 until the pinned 1.4 CTS passes in full > there, and every case it does not pass yet, and every "not supported" the port > itself causes, is listed with its owner in docs/CTS_GAPS.md. > ps5vk reports Vulkan 1.1, documented by command, limit and format audits and > targeted console probes rather than by the CTS. **Contents:** The RADV port · Progress and roadmap · vkQuake and performance · What this is · How it works · Findings · Getting started · Gates · Credits · License --- ## The RADV port Route B of docs/VULKAN_1_4_PLAN.md: RADV stays whole, and only what the console does differently from Linux is new. The changes live in my Mesa fork (PS5_Mesa, checked out as `../PS5_Mesa`, branch `main`: Mesa 26.2.0 with `-Dradv-winsys=ps5`), pinned here by revision in `tools/build-radv.sh`; gaps in the console's platform (kernel declarations, libc, direct memory) go into the payload SDK fork's shared platform layer, not into the Mesa fork. docs/RADV_PHASE.md is the round-by-round record. [code] What stands on the console (2026-10-01, PS5 Mesa `504adad`): - **The full CTS runs on the console, and its second full run had no failure.** The first full run of the pinned 1.4 CTS (vulkan-cts-1.4.6.2, my fork `../PS5_VK-GL-CTS`, title PPSA99015), main-1, ended on 2026-09-27 with 2,786,062 cases: 1,098,388 pass, 12,005 did not pass and 1,675,626 were not supported. Every case it did not pass was then fixed or traced, and the port gained compute and transfer queue families (on the graphics ring), host-cached memory types, tessellation and geometry shaders run as compute where the fixed-function block cannot, ray queries and pipelines, sparse resources, calibrated timestamps and the VideoOut swapchain, each proved by a targeted CTS run of the groups behind it (docs/CTS_GAPS.md). The second full run, f