Skip to content

About

Live render debugger for emulators and ports: a Vulkan layer and a C SDK with a web UI to pick a pixel's draw, scrub a frame and compare draws while the game runs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

Fixframe

Live render debugger for emulators and ports. It sits inside a running game's renderer and lets you find and fix a rendering bug while the game runs.

  • Vulkan layer: hooks GPU work with no change to the game (emulators, ports; macOS/MoltenVK and Linux).
  • C SDK (sdk/fixframe_sdk.h): for custom renderers a layer can't see (used with a Metal renderer).
  • Web UI and CLI: list a frame's draws, click a pixel to find the draw behind it, scrub the frame to draw N, compare two draws, and save a capture (.ffcap) that opens without the game.

Where RenderDoc captures a frame and lets you study it, Fixframe works on the live game: you change a draw and see the result at once. Use both. Credits: CREDITS.md.

Status: early. The layer captures, picks and scrubs; overrides, shader editing and rule export are in progress. Expect rough edges.

Build and run

cmake -S . -B build -G Ninja && cmake --build build
VK_LAYER_PATH=$PWD/build VK_INSTANCE_LAYERS=VK_LAYER_FIXFRAME_debug <your Vulkan app>

Log lines start with [fixframe] on stderr; the UI is at http://127.0.0.1:7700 (next free port per process). A saved capture opens with no game: cli/fixframe open x.ffcap.

Third-party code

Vendored under third_party/, each with its source and commit in SOURCE: vkroots, Vulkan-Utility-Libraries, cpp-httplib, nlohmann/json, stb. See each folder's LICENSE.

MIT licence, see LICENSE.

More projects

About

Live render debugger for emulators and ports: a Vulkan layer and a C SDK with a web UI to pick a pixel's draw, scrub a frame and compare draws while the game runs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages