GitHunt
SE

Senryoku/necromach-gpu-dawn

Google's Dawn WebGPU implementation, cross-compiled with Zig into a single static library. The fork is used for experimenting how things works and searching for improvements to make updating less painful.

Deprecated

This project has been deprecated and is no longer maintained.

Rationale: https://github.com/hexops/mach/issues/1166

OR IS IT?

Since the deprecation of the Mach project while the status of Mach is unknown, we shall bring this project back to live because zgpu and zgui relies on a dawn binary built originally from one of the Mach repo.

Requirement

Due to the deprecation of Mach,the dependency of using tool from Mach is decoupled due to the outdated and hard to update codebase (stopped at ~zig 0.10.x). We have replaced the build system natively to the original dawn requirement, so you will need the following tools to make it work for the current iteration:

To build the library, all you need is to run:

zig build

To use as a dependency

If webgpu_dawn is the name of the dependency in your build.zig.zon:

try @import("webgpu_dawn").link(b, "webgpu_dawn", your_module);

If the build script fails

It basically does this:

git clone -c core.longpaths=true https://github.com/Senryoku/necromach-dawn libs/dawn
cmake -DCMAKE_TOOLCHAIN_FILE="zig-toolchain.cmake" -DCMAKE_BUILD_TYPE=Release -G Ninja -B ./build
cmake --build ./build --config Release

Add these to the cmake configure command on Linux:

	-DDAWN_USE_WAYLAND=ON
	-DDAWN_USE_X11=ON

Languages

CMake43.4%Zig29.2%C12.7%C++9.4%Shell4.5%Python0.8%
Other
Created January 5, 2026
Updated March 2, 2026