Archive of https://github.com/blackbearreloaded/ps5-vulkan — Experimental Vulkan graphics and compute API for native PlayStation 5 homebrew (gfx1013). https://github.com/blackbearreloaded/ps5-vulkan
  • C 64.5%
  • Python 31.8%
  • GLSL 1.5%
  • C++ 1.3%
  • Makefile 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-05 15:11:50 -04:00
.github/workflows Record fork provenance and keep the host workflow manual 2026-09-26 20:36:47 -04:00
assets/branding docs: refresh README with original branding and concise overview (#582) 2026-09-26 09:46:47 +02:00
conformance_inventory fix: judge the DXVK profile ledger on the current Vulkan 1.3 probe (#590) 2026-09-26 12:13:10 +02:00
cts Freeze the 50 T09 focused CTS leaves into acceptance (#503) 2026-09-25 07:23:34 +02:00
docs fix: judge the DXVK profile ledger on the current Vulkan 1.3 probe (#590) 2026-09-26 12:13:10 +02:00
examples Add a native GPU ceiling benchmark 2026-09-28 10:48:17 -04:00
experiments Ship extended dynamic state with dynamic topology and stride, fans and adjacency (#579) 2026-09-26 08:43:33 +02:00
include/ps5vk Gate bounded WSI swapchain negotiation on native support (#521) 2026-09-25 10:42:39 +02:00
native Find the colour-target register defaults by key, on any system software 2026-10-05 15:11:50 -04:00
src Find the colour-target register defaults by key, on any system software 2026-10-05 15:11:50 -04:00
tests Find the colour-target register defaults by key, on any system software 2026-10-05 15:11:50 -04:00
third_party/bcdec T07: qualify cube arrays, BC, gather and precise queries (#441) 2026-09-24 20:43:25 +02:00
tools Add a native GPU ceiling benchmark 2026-09-28 10:48:17 -04:00
.gitignore Move FSR4 runtime notes and targets to ps5-fsr4 2026-09-28 10:05:01 -04:00
API.md Rename the FSR4 storage profile to the extended compute profile 2026-09-28 10:05:01 -04:00
BUILDING.md Add a native GPU ceiling benchmark 2026-09-28 10:48:17 -04:00
LICENSE Adopt GPLv3 project license (#32) 2026-09-14 00:16:41 +02:00
LICENSING.md Move FSR4 runtime notes and targets to ps5-fsr4 2026-09-28 10:05:01 -04:00
Makefile Find the colour-target register defaults by key, on any system software 2026-10-05 15:11:50 -04:00
PHYSICAL_DEVICE_REPORTING.md Report 1024 sampled images per stage and set, with a texel-buffer capacity pass (#575) 2026-09-26 08:04:38 +02:00
project.json Adopt GPLv3 project license (#32) 2026-09-14 00:16:41 +02:00
README.md Standardize the README footer and third-party notices 2026-09-29 18:19:07 -04:00
requirements-dev.txt feat: runtime compute compilation, bounded pipeline cache, and reusable SDK 2026-09-12 12:35:38 +02:00
TESSELLATION_STATUS.md fix: judge the DXVK profile ledger on the current Vulkan 1.3 probe (#590) 2026-09-26 12:13:10 +02:00
THIRD_PARTY_NOTICES.md Standardize the README footer and third-party notices 2026-09-29 18:19:07 -04:00
UPSTREAM_CTS.md Freeze the 50 T09 focused CTS leaves into acceptance (#503) 2026-09-25 07:23:34 +02:00
VALIDATION.md fix: judge the DXVK profile ledger on the current Vulkan 1.3 probe (#590) 2026-09-26 12:13:10 +02:00
VERTEX_INPUT.md Advance the Vulkan 1.0 runtime and adopt GPLv3 (#31) 2026-09-14 13:33:38 +02:00

ps5-vulkan — Graphics and compute for the PlayStation 5 GPU

Host and compiler checks License: GPL-3.0-or-later Experimental GitHub stars Open pull requests Open issues

Build the SDK · Supported API · Hardware validation · Report an issue

Fork note. This fork is maintained by BlackBearReloaded for the PS5 FSR4 port, which uses it as a submodule. It adds compute subgroup size control (wave32/wave64), chained compute submission with resident code and shared scratch, compute shader code prefetch (GL2 and instruction prefetch), fused compute FMAs in the PSBC compiler, larger command buffers and the extended compute profile. See LICENSING.md.

An experimental, hardware-accelerated Vulkan 1.3 implementation for native PlayStation 5 homebrew, targeting the console's gfx1013 GPU. It provides a static SDK, runtime SPIR-V compilation and native 1080p presentation. The instance and device report Vulkan 1.3. This is a non-conformant experimental implementation; the supported features, formats and resource limits are documented in API.md.

What works

  • Graphics: indexed and indirect draws, multiview, geometry and tessellation, clip/cull distances, depth testing, multiple viewports, dynamic topology and vertex stride, plus geometry-stage transform feedback and stream queries.
  • Pixels and textures: independent and dual-source blending, fragment storage writes/atomics, 2x/4x colour multisampling with per-sample shading and resolve, cube arrays, bounded BC textures, depth sampling and extended gather. The ledger records 61 sampled texture formats: 40 filterable rows and 20 integer rows restricted to nearest filtering.
  • Compute and shaders: runtime SPIR-V compilation through pinned PSBC/ACO, shader/pipeline caches, up to four compute descriptor sets, push and specialization constants, 8/16-bit storage access and wave32 compute BASIC.
  • Memory and resources: a 1.25 GiB graphics heap, a 1 GiB single-buffer allocation limit, layout-sized sets of up to 1024 descriptors, and a driver-maintained host-coherent buffer memory type. Other resource limits remain narrower.
  • Execution: synchronization2, timeline semaphores, dynamic rendering with depth/stencil resolve, imageless framebuffers, descriptor update templates, bounded robustness2, and precise occlusion queries.
  • Presentation: native surface/swapchain acquisition and two-buffer 1080p VideoOut presentation, with measured Close Game and relaunch behavior.

Supported formats, stages and resource shapes are deliberately bounded. See API.md for the exact contracts and VALIDATION.md for artifact-identified native witnesses and deterministic GPU readback. Host CI alone does not establish hardware correctness.

Current runtime milestone

The Vulkan 1.3 route exposes promoted feature queries and commands directly, including synchronization2, dynamic rendering and maintenance4. The pinned DXVK 2.6.2 D3D11/DXGI workload no longer needs the old version-filter bypass, feature-level relaxation, or payload-side core/extension translation. Platform build and WSI adaptations remain separate from DXVK's rendering logic.

The acceptance workload creates a feature-level 11_0 device, renders and reads back 4096 pixels, and checks clean teardown. Its artifact-bound status is in the native result. An offscreen result is not a presented DXVK frame or general game compatibility.

Read the runtime backlog for the remaining work. There is no Vulkan loader/ICD. Focused CTS results are diagnostic evidence, not a full conformance claim or a blanket delivery gate.

Build and develop

Host checks require Python 3, Make, a C11 compiler and Git:

make vulkan-headers
make compiler-deps
make check
make check-sanitize

Native builds also need the PS5 payload SDK and the companion graphics support library. Follow BUILDING.md for dependencies and SDK staging. Development uses targeted host checks and artifact-identified native witnesses; the historical requirement matrix is available through make check-dxvk-ledger, not used as a build or promotion gate.

Credits

Built with the PS5 Payload SDK by John Törnblom (ps5-payload-dev). Third-party components, authors and licenses are listed in THIRD_PARTY_NOTICES.md.

License

Copyright © 2026 BlackBearReloaded. Licensed under GPL-3.0-or-later; see LICENSE. Third-party components keep their own licenses. Applications distributed with the static libps5vk.a must provide the corresponding source under GPL-compatible terms. Upstream licensing and source provenance are documented in LICENSING.md.

Disclaimer

  • No affiliation. This is an independent homebrew project. It is not affiliated with, endorsed by, or sponsored by Sony Interactive Entertainment. "PlayStation", "PS5" and related marks are trademarks of Sony Interactive Entertainment Inc. Vulkan is a registered trademark of the Khronos Group Inc.
  • No proprietary material. No Sony SDK, firmware, encryption keys or decrypted system modules are included.
  • No warranty. This project is provided "as is", without warranty of any kind, to the extent permitted by law. See sections 15 and 16 of the GPL.
  • Use at your own risk. Running homebrew requires a modified console, which may void its warranty, breach the platform's terms of service, or cause data loss.
  • Legal use only. Use it only with hardware, accounts and content you own. This project does not support or enable piracy.

AI assistance

This project was developed with AI assistance from OpenAI and/or Anthropic tools.