FAudio
FAudio is a free reimplementation of XAudio for open platforms, developed for the FNA project.
What FAudio is
FAudio is a free reimplementation of XAudio for open platforms, developed for the FNA project. It implements DirectX Audio runtime libraries including XAudio2, X3DAudio, XAPO, and XACT3, and was written for FNA's Audio and Media namespaces. Applications access it through FAudio#. The project depends on SDL 3.2.0 or newer and says it never explicitly uses the C runtime. Build instructions cover Unix-like systems, Windows, Xbox GDK, iOS, tvOS, and macOS universal binaries. The README directs Unix-like builds to CMake, Windows builds to the visualc directory, Xbox GDK builds to visualc-gdk, and Apple builds to Xcode. FAudio includes unit tests intended to check whether its XAudio2 behavior matches XAudio2, but those tests are not built by default. It is released under the zlib license, which permits commercial use subject to its stated conditions. The project lists Windows, GNU/Linux, macOS, and iOS/tvOS among its host platforms, and directs users to GitHub Issues to report problems and patches.
Good
- Implements XAudio2, X3DAudio, XAPO, and XACT3.
- Build instructions cover Windows, Unix-like systems, and Apple platforms.
- Zlib license permits commercial use subject to its conditions.
- Includes XAudio2 behavior compatibility tests.
Watch out
- Requires SDL 3.2.0 or newer.
- Compatibility tests are not built by default.
- Access is through FAudio# for FNA's Audio and Media namespaces.
Who it suits
FAudio is intended for developers working with FNA's audio and media functionality or building for the listed open platforms. Users should be prepared to work with its build instructions and SDL dependency.
Verdict
FAudio provides an XAudio reimplementation for the FNA project, with build guidance for several platforms. Its SDL dependency and intended FNA use are important fit considerations.
Plans and prices
From FAudio's own pricing page, checked 7 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| FAudio | Free | zlib-licensed · commercial use permitted · SDL 3.2.0 or newer required |
The facts
Each one read from FAudio's own pages, with the date it was checked.
What it does
- Audience
- The project describes itself as an audio reimplementation for the FNA project.checked 7 Oct 2026
- Audio APIs
- Its runtime covers XAudio2, X3DAudio, XAPO and XACT3 functionality.checked 15 Oct 2026
- Build systems
- Unix-like systems use CMake, Windows uses the visualc directory, Xbox GDK uses visualc-gdk, and Apple targets use Xcode.checked 15 Oct 2026
- Build tools
- The README directs Unix-like builds to CMake, Windows builds to the visualc directory, Xbox GDK builds to visualc-gdk, and Apple builds to Xcode.checked 7 Oct 2026
- CMake requirements
- Its CMake configuration requires CMake 3.10 or newer and identifies the project version as 0.26.10.checked 15 Oct 2026
- Commercial use
- The license permits commercial use, modification and redistribution.checked 15 Oct 2026
- Compatibility tests
- FAudio includes unit tests intended to check that its XAudio2 behavior matches XAudio2, and the tests are not built by default.checked 7 Oct 2026
- Debian packaging
- Debian builds libfaudio-dev development files and libfaudio0 runtime packages from its faudio source package.checked 15 Oct 2026
- Dependency
- The project states that SDL 3.2.0 or newer is its sole dependency and that it does not explicitly use the C runtime.checked 15 Oct 2026
- Documentation
- FNA documentation provides a stepwise guide for bringing existing or new games onto FNA, including optimization, debugging and contribution sections.checked 15 Oct 2026
- Effects headers
- The public headers include F3DAudio, FACT, FACT3D, FAPO, FAPOFX and FAudioFX interfaces.checked 15 Oct 2026
- Fedora packaging
- Fedora publishes libFAudio plus development and MinGW variants, with zlib recorded as the package license.checked 15 Oct 2026
- FNA integration
- FAudio supplies the audio and media functionality used by the FNA project.checked 15 Oct 2026
- Homebrew availability
- Homebrew provides a faudio formula installable with brew install faudio, with stable version 26.10.checked 15 Oct 2026
- Homebrew usage
- Homebrew reports 3,338 installs over the preceding year and zero build errors.checked 15 Oct 2026
- Industry adoption
- Phoronix reported in January 2019 that Proton already shipped FAudio for running Windows games on Linux and that CodeWeavers discussed integration.checked 15 Oct 2026
- Intended use
- FAudio was written for FNA's Audio and Media namespaces and is accessed through FAudio#.checked 7 Oct 2026
- Issue reporting
- The README directs users to GitHub Issues to report problems and patches.checked 7 Oct 2026
- Latest release
- Release 26.09 on 1 September 2026 fixed FACT cue replacement limits and avoided COM when creating WMA decoders on Wine or Win32.checked 15 Oct 2026
- License
- FAudio is distributed under the zlib license.checked 15 Oct 2026
- License conditions
- Redistributors must preserve the notice, identify altered sources and avoid falsely claiming original authorship.checked 15 Oct 2026
Where it runs
- Build platforms
- The project gives build instructions for Unix-like systems, Windows, Xbox GDK, iOS, tvOS, and macOS universal binaries.checked 7 Oct 2026
- C# wrapper
- The repository includes FAudio#, a C# interop wrapper for the native library.checked 15 Oct 2026
- Homebrew platforms
- Homebrew lists binary bottles for Apple Silicon macOS and Linux ARM64 and x86_64.checked 15 Oct 2026
The full review of FAudio
FAudio is a developer-focused audio runtime for FNA projects that need XAudio-compatible components across multiple platforms. Its strongest case is that focused role, paired with a permissive license; projects outside FNA or unable to use SDL 3.2.0 or newer have a weaker reason to choose it.
Overview
FAudio reimplements DirectX audio runtime libraries, including XAudio2, X3DAudio, XAPO, and XACT3. It was written for FNA’s Audio and Media namespaces and is accessed through FAudio#, so its value is clearest to developers building in that ecosystem rather than to anyone seeking a general-purpose audio framework.
The project includes unit tests meant to check whether its XAudio2 behavior matches XAudio2. Because those tests are not built by default, teams that rely on them need to include them deliberately in their build process. FAudio depends on SDL 3.2.0 or newer and states that it never explicitly uses the C runtime.
Key features
- Several audio runtime APIs: Support for XAudio2, X3DAudio, XAPO, and XACT3 gives FNA projects access to multiple DirectX audio components through one implementation.
- Compatibility-oriented tests: The XAudio2 unit tests offer a way to check behavioral matching, but their exclusion from the default build makes that check an intentional workflow step.
- Permissive licensing: The zlib license permits use for any purpose, including commercial applications, subject to its conditions.
- Platform-specific build guidance: Unix-like systems use CMake, Windows builds use the visualc directory, Xbox GDK uses visualc-gdk, and Apple builds use Xcode. That gives developers distinct entry points for supported targets, though the appropriate build path depends on the platform.
Pricing
FAudio is free at no cost. The single plan covers the zlib-licensed software, permits commercial use, and requires SDL 3.2.0 or newer. There is no free trial because the software itself is free; no paid tier is needed to access the stated plan.
Platforms
FAudio supports Windows, GNU/Linux, macOS, and iOS/tvOS. Its build guidance also covers Xbox GDK and macOS universal binaries. Those options make it relevant to teams targeting a range of desktop and Apple platforms, while the SDL dependency remains a prerequisite across the project’s use.
Who it's for
FAudio is best suited to developers working on FNA who need an implementation of XAudio-compatible audio APIs and are comfortable with the relevant platform build tools. The license also makes it viable for commercial applications. It is a poor fit for projects unrelated to FNA or environments that cannot meet the SDL 3.2.0-or-newer requirement.
Pros and cons
- Pro: Multiple DirectX audio runtime components serve FNA’s audio and media namespaces through one implementation.
- Pro: The zlib license permits commercial use, giving developers flexibility to incorporate it into commercial projects.
- Pro: Build instructions address Unix-like, Windows, Xbox GDK, and Apple targets.
- Con: SDL 3.2.0 or newer is required, which rules it out for projects that cannot use that dependency.
- Con: The compatibility tests are not built by default, so teams must take an extra step to run them.
- Con: Its intended FNA integration limits its appeal as a general audio layer for unrelated software.
Alternatives
For other approaches to game compatibility, browse Game Compatibility Layers. Consider these options when their platform or stated requirements better match your project:
- cnc-ddraw is a free alternative for Android, Linux, macOS, and Windows; choose it when the game has a DirectDraw (Software) renderer.
- GameHub is free on Android, iOS, and macOS; it is a better fit for cloud gaming and streaming when a stable network is available.
- Bannerlator is a free Android option, but compatibility varies by GPU, Android version, and game, with no support commitment or guarantee on other devices.
- umu-launcher is a free, GPL-3.0-licensed Linux option.
- DXVK is a free Linux and Windows alternative when Vulkan is available; Linux/Wine use also needs a compatible Vulkan driver.
- PlayOnLinux is a free option for Linux and macOS, though not all games are supported and performance can sometimes decrease.
- TDF is a free Linux or self-hosted option for GNU/Linux on x86_64 with a GPU supporting Vulkan 1.3 or newer.
- vkd3d-proton is another free open-source option for Linux and Windows.
Verdict
Choose FAudio if you are building with FNA and need its XAudio-compatible audio runtime components across supported targets. Its focused integration, broad API coverage, and commercial-use zlib license make a clear case for that audience. Look elsewhere if your project is not built around FNA or cannot meet the SDL 3.2.0-or-newer dependency.
Getting started
- Visit the FAudio GitHub project.
- Check that your build can use SDL 3.2.0 or newer.
- Use the build route for your platform: CMake for Unix-like systems, visualc for Windows, visualc-gdk for Xbox GDK, or Xcode for Apple builds.
- Access FAudio through FAudio# in an application using FNA’s Audio and Media namespaces.
- Use GitHub Issues to report problems or patches.
Limits worth knowing
The free plan is FAudio, listed as free. It requires SDL 3.2.0 or newer, and its compatibility tests are not built by default.
Questions
How much does FAudio cost?
FAudio is free: its listed plan is free.
Is FAudio open source?
It is released under the zlib license, which permits use for any purpose, including commercial applications, subject to its conditions.
Which platforms are supported?
Listed host platforms are Windows, GNU/Linux, macOS, and iOS/tvOS. Build instructions also cover Xbox GDK.
What does FAudio implement?
It implements XAudio2, X3DAudio, XAPO, and XACT3.
What does it require?
FAudio depends on SDL 3.2.0 or newer.
How can I report an issue?
The project README directs users to GitHub Issues for problems and patches.
Alternatives to FAudio
- 1
cnc-ddraw
Free planOpen sourceAndroidLinuxmacOSSelf-hosted7.4Free plan - 2

CrossOver
Free planLinuxmacOS7.4From $74 a year - 3
PlayOnLinux
Free planOpen sourceLinuxmacOS7.2Free plan - 4
GameHub
Free planAndroidiOSmacOS6.7Free plan - 5
Bannerlator
Free planAndroid6.4Free plan - 6
umu-launcher
Free planLinux6.2Free plan
