Nagi's AMD Graphics Infrastructure, the driver project also known as amdgpu-wddm.
Yes, the N is Nagi again. We borrowed the recursive acronym from GNU and took it to Windows. Linux fans, please send complaints to /dev/null (here it is called NUL).
Nagi is an open Windows driver for AMD GPUs, made first for the ASRock BC-250 (AMD Cyan Skillfish APU, gfx1013). The Windows desktop, Direct3D 12, Direct3D 11 and Vulkan games run on the GPU of the board. Inside, the kernel driver uses AMD's own amdgpu code, and Mesa RADV, DXVK and vkd3d-proton work behind the standard Windows runtimes. The driver is experimental and has a test signature. Not affiliated with or endorsed by AMD, ASRock or Microsoft.
You need an ASRock BC-250 with Windows 11 x64, version 23H2 or newer, and an internet connection.
- Download the setup program from the latest release.
- Run it and click Install. It checks the board, downloads the AMD GPU firmware, turns on the test mode of Windows and restarts the computer.
- After the restart, Nagi Control App shows the driver, the clocks, the temperature and the fan.
The installer stops on a computer that is not a BC-250 and changes nothing there. Secure Boot must be off. The stock BC-250 BIOS has no Secure Boot, so it is off already. Removal, settings and what to do when something fails: installation guide. Report a problem in Issues and attach the support file that the installer or the control app makes.
| Area | Works | Not yet |
|---|---|---|
| Desktop | DWM composes on the GPU. DisplayPort, and HDMI through a passive adapter | Recovery from a GPU hang: a hang stops Windows |
| Direct3D 12 | System runtime, feature level 12_1, DXR 1.1. The Witcher 3 Remaster with ray tracing | Conformance suites |
| Direct3D 11 | System runtime, feature level 12_1 | Direct3D 10.0 programs run on the CPU |
| Direct3D 9 | D3D9On12 of Windows on our Direct3D 12 driver | Window picture of some games (in work) |
| Vulkan | Mesa RADV with ray tracing. Quake II RTX path-traces | Full conformance (CTS) run |
| OpenGL | - | Registered OpenGL driver (in work) |
| Compute and video | Vulkan compute (llama.cpp), an early HIP runtime of our own, H.264 encoding through Media Foundation | Recording by a standard Windows application, measured |
| Clocks and cooling | Automatic GPU clock up to 2000 MHz, fan control, unlock of all 40 compute units | - |
| Other AMD GPUs | - | The driver starts only on a BC-250 today |
Each measured result and its evidence: facts. The milestone criteria and their state: reconciliation. The changes of each release: release notes.
- Architecture: the design, the driver layers and their measured limits.
- Facts and evidence rules: every hardware claim has a status and a link to raw results.
- Linux (
amdgpuand RADV) on the same unit is the reference for every Windows measurement. - Register addresses come from AMD's MIT-licensed code, never from hand calculation
(
tools/regcalc, addressing). - Contributing and the writing standard.
docs/build.md builds the kernel-mode driver, LLVM, the Mesa components, DXVK and vkd3d-proton from pinned sources. Register lookups need only Python:
python tools/regcalc/regcalc.py lookup mmGRBM_STATUS mmSPI_PG_ENABLE_STATIC_WGP_MASK
python tools/regcalc/regcalc.py reverse 0x5C3C
python -m unittest discover -s tools/regcalc
| Repository | What it holds |
|---|---|
| D-Ogi/amdgpu-wddm (this one) | Kernel-mode driver, UMD shells, contracts, installer, control app, tools, evidence and facts |
| D-Ogi/mesa-amdgpu-wddm | RADV with the WDDM winsys, and the Mesa UMD builds (llvmpipe, Zink) |
| D-Ogi/dxvk | DXVK as the Direct3D 11 engine of the driver |
| D-Ogi/vkd3d-proton | vkd3d-proton as the Direct3D 12 engine of the driver |
| D-Ogi/dxil-spirv, D-Ogi/dxbc-spirv | The shader compilers that the two engines pin |
The branch and the commit of each file of a release are in tools/release/release-sources.json.
| Path | Contents |
|---|---|
docs/ |
Goal and roadmap, evidence rules, ADRs (adr/), design notes (design/), research notes, hardware notes and what the gfx1013 silicon really does |
docs/facts.md, docs/facts/ |
The only list of established facts, generated from the facts graph in docs/facts/data/ |
experiments/, evidence/ |
Experiments Exx (hypothesis, procedure, expected result, result). Raw results from hardware, immutable once added |
regs/ |
Generated register tables (never edited by hand) |
driver/kmd/, driver/contract/ |
The WDDM kernel-mode driver bc250kmd and the private KMD/UMD contract |
driver/shim/, driver/amdgpu-import/ |
AMD's imported, unmodified amdgpu code and the slice of the Linux API it needs |
driver/icd/, driver/umd/ |
RADV WDDM winsys patches, the Direct3D 10/11 shell over DXVK and the Direct3D 12 shell |
tools/release/, tools/win/ |
Installer and release build. Control app, measurement and lab tools |
tools/build/, tools/quality/ |
Build recipes and build quality gates |
third_party/ |
Foreign code kept in the repo, with provenance and license |
Copyright (c) 2026 D-Ogi. Source-available under the PolyForm Noncommercial License 1.0.0 (LICENSE.md): free for noncommercial use, modification and sharing, provided the Required Notice lines in NOTICE stay attached. No commercial use, including bundling with hardware or OS images for sale. Reasons: docs/adr/0004-polyform-noncommercial.md.
Third-party code keeps its own license (THIRD-PARTY.md). AMD firmware blobs are not part of this repo.
Beware of fakes. This project publishes its source and its releases on GitHub only, never Windows images, installers from file hosts or BIOS files. See SECURITY.md.

