Skip to content

About

An open-source USB driver for the Axe-Fx II on current Windows, in pure Rust. MIDI, audio for DAWs, control panel and installer, with no kernel code.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

AxeTwoDriver

An open-source USB driver for the Axe-Fx II on current Windows, rebuilt from scratch in pure Rust.
No kernel code, no certificates to trust: Windows' own drivers underneath,
and the part that is specific to the unit in ordinary, readable Rust.

100% Rust Windows 10 and 11 License: MIT Status: experimental CI

Status · Why · How it works · Install · Roadmap · Contributing

Important

Status: experimental. Today AxeTwoDriver gets the unit's USB MIDI working on Windows 11 and gives a DAW an audio device through the companion project AxeTwoDriver-DAW. It adds no Windows sound device, and it contains no firmware: Fractal Audio's own driver package must be installed, because the unit's USB firmware is taken from it. It has been run on one Axe-Fx II XL on one computer. ROADMAP.md says exactly where things stand.

Where it stands

State
USB MIDI (editors, librarians, MIDI control) Works, using Windows' own class driver
Audio capture, 4 channels, 24-bit, 48 kHz Works in the test tool, verified on hardware
Audio playback, 2 channels Works: a test tone plays cleanly on the unit
ASIO driver for DAWs Works in one DAW so far, from AxeTwoDriver-DAW; 64-bit hosts
Control panel Status, USB streaming mode, buffer size
Installer One download, one double-click; uninstalls from Installed apps
Windows sound device (browser, media players) Not possible without a kernel driver; not planned
USB firmware loading at power-on Own user-mode loader; it sends the firmware the original package installed and ships none itself

Why the original stopped working

The original audio driver dates from 2014. Current Windows refuses to start it because it no longer accepts the driver's signature (Device Manager shows code 52). With that driver removed, Windows tries its own USB Audio 2.0 driver, which runs the unit's MIDI but rejects its audio: the unit times its playback stream by implicit feedback, which Microsoft's driver does not support.

The details, each tagged with how it was verified, are in spec/SPEC.md.

How it works

A new kernel driver would hit the same signing wall as the old one. AxeTwoDriver avoids kernel code entirely:

  • MIDI is left to Windows' own USB audio class driver.
  • Audio goes through WinUSB, a generic driver that ships with Windows and is signed by Microsoft. axetwo setup selects it for the unit's audio function; nothing is installed and no certificate is added.
  • The streaming itself, including implicit feedback, is user-mode Rust in axetwo-stream. An ASIO driver is a user-mode library too, so the planned DAW support needs no kernel signature either.

More in docs/architecture.md.

Install

Download the zip from the latest release, unzip it, and double-click axetwo-setup.exe. The guide is docs/install.md. Fractal Audio's own driver package must be installed first: the unit's USB firmware comes from it.

Build from source

You need Rust 1.95 or newer and Windows 10 or 11.

git clone https://github.com/RamonWide/AxeTwoDriver
cd AxeTwoDriver
cargo build --release
.\target\release\axetwo status

scripts\package.ps1 builds the download, including the DAW library when its checkout sits next to this one. The command-line tool has a few test commands:

axetwo probe                  # the unit's USB descriptors, decoded
axetwo capture 5 take.wav     # record five seconds from the unit
axetwo tone 3 -30             # play a quiet test tone to it

Under the hood

  • Three small crates in layers: descriptor parsing, Windows system calls, the streaming loop; the command-line tool, control panel and installer are thin programs on top.
  • unsafe in one place: only axetwo-win, which calls the operating system, may use it, and every block says why it is sound.
  • Checked before streaming: the unit's descriptors are parsed and compared with the layout the code supports; anything unexpected is refused with a message.
  • Never crash: no unwrap, expect or panic! outside tests.
  • Clean-room: written from the device's own descriptors, the public USB specifications and a functional spec (docs/clean-room.md). No file from the original driver is in this repository.

Documentation

For Read
Installing and first steps docs/install.md
Where the project stands ROADMAP.md, docs/gaps.md, CHANGELOG.md
How it is built docs/architecture.md, spec/SPEC.md, docs/clean-room.md
Contributing CONTRIBUTING.md, AGENTS.md, CODE_OF_CONDUCT.md
Security SECURITY.md

Looking for an editor? Axe-Grid is the sister project.


License and credits

AxeTwoDriver is released under the MIT License. Copyright (c) 2026 The AxeTwoDriver contributors. Every file not written for this project is listed in ATTRIBUTION.md.

Axe-Fx and Fractal Audio are trademarks of Fractal Audio Systems, LLC. ASIO is a trademark of Steinberg Media Technologies GmbH. AxeTwoDriver is an independent, open-source project and is not affiliated with, sponsored by or endorsed by either company; these names are used only to describe what it works with. AxeTwoDriver comes with no warranty: you use it with your own equipment at your own risk.

About

An open-source USB driver for the Axe-Fx II on current Windows, in pure Rust. MIDI, audio for DAWs, control panel and installer, with no kernel code.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages