Freedom251 › Game Compatibility Layers
FAudio

What FAudio is
FAudio is a free reimplementation of XAudio for open platforms, with an emphasis on accuracy. It implements DirectX Audio runtime libraries: XAudio2, X3DAudio, XAPO, and XACT3. The project was written for the FNA project's Audio and Media namespaces, and applications access it through FAudio#. Its stated host platforms are Windows, GNU/Linux, macOS, and iOS/tvOS.
FAudio 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 project directs Unix-like builds to CMake, Windows builds to the visualc directory, Xbox GDK builds to visualc-gdk, and Apple builds to Xcode. It also includes unit tests intended to check whether its XAudio2 behavior matches XAudio2, though those tests are not built by default. FAudio uses the zlib license, which permits commercial use subject to its stated conditions. The listed plan costs nothing, and the README directs users to GitHub Issues to report problems and patches.
Who it suits
FAudio is intended for developers working with FNA's Audio and Media namespaces who need an XAudio reimplementation for open platforms. Its build instructions cover several desktop, mobile, and console development environments, and its zlib license permits commercial use subject to its conditions.
What it does well
- Implements XAudio2, X3DAudio, XAPO, and XACT3.
- Provides build instructions for Unix-like systems, Windows, Xbox GDK, and Apple platforms.
- Includes tests intended to check XAudio2 behavior.
- Zlib licensing permits commercial use subject to its conditions.
What to know first
- Requires SDL 3.2.0 or newer.
- Compatibility tests are not built by default.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| FAudio | zlib-licensed · commercial use permitted · SDL 3.2.0 or newer required | Free |
As github.com lists them, read 7 Oct 2026. The maker's own page has the final word.
Getting started
- Open the project at https://github.com/FNA-XNA/FAudio.
- Install SDL 3.2.0 or newer.
- For a Unix-like build, use the project's CMake instructions.
- For Windows, Xbox GDK, or Apple builds, follow the instructions in visualc, visualc-gdk, or Xcode respectively.
- Report problems or patches through GitHub Issues.
FAudio is a free audio runtime implementation for developers working with FNA. It suits projects that need FNA’s Audio and Media namespaces on several supported hosts; its SDL dependency and focused remit make it a less natural fit for unrelated audio applications.
Overview
FAudio implements XAudio2, X3DAudio, XAPO and XACT3, and FNA accesses it through FAudio#. That makes it a targeted way to provide familiar DirectX audio runtime behavior in an open-platform FNA project, not a general audio toolkit for every application.
The project’s unit tests are intended to check whether its XAudio2 behavior matches XAudio2. They are not built by default, so teams that want those checks need to incorporate them into their build process. FAudio depends on SDL 3.2.0 or newer, while stating that it never explicitly uses the C runtime; projects unable to accommodate SDL’s version requirement should choose another approach.
Key features
- Four audio runtime APIs: XAudio2, X3DAudio, XAPO and XACT3 cover multiple parts of the DirectX audio runtime within one FNA-oriented implementation.
- Compatibility tests: The XAudio2 tests provide a route to check behavioral matching, but their non-default build status means they are not an automatic part of every build.
- Multiple build routes: Instructions direct Unix-like builds to CMake, Windows builds to the visualc directory, Xbox GDK builds to visualc-gdk, and Apple builds to Xcode. This gives target-specific entry points, though the build process varies by platform.
- Commercial-use licensing: The zlib license allows use for any purpose, including commercial applications, subject to its conditions.
Pricing
FAudio costs nothing. Its free plan is the project itself under the zlib license, with commercial use permitted subject to the license conditions. There is no free trial because no paid tier is involved; the practical requirements are SDL 3.2.0 or newer and a compatible build setup.
Platforms
FAudio’s host platforms are Windows, GNU/Linux, macOS and iOS/tvOS. The project also provides build instructions for Unix-like systems, Windows, Xbox GDK, iOS, tvOS and macOS universal binaries. That breadth is useful for FNA teams targeting several environments, but platform support does not remove the need to follow the corresponding build path and SDL dependency.
Who it's for
FAudio is best suited to developers building with FNA who need its Audio and Media namespaces backed by XAudio-compatible runtime components across supported platforms. Its free, commercially usable license is also appealing to projects that need to avoid licensing fees. It is a weaker choice for developers seeking a standalone audio framework unrelated to FNA, or for a build that cannot use SDL 3.2.0 or newer.
Pros and cons
- Pro: It brings XAudio2, X3DAudio, XAPO and XACT3 together for FNA’s audio and media code, matching a clear development use case.
- Pro: The zlib license permits commercial use, making it viable for both personal and commercial projects.
- Pro: Build instructions address desktop, Apple and Xbox GDK targets, giving multi-platform FNA projects concrete platform-specific routes.
- Con: SDL 3.2.0 or newer is required, which can rule it out where that dependency cannot be adopted.
- Con: Compatibility tests are not built by default, so teams that rely on them must add that step themselves.
- Con: The project is purpose-built for FNA’s Audio and Media namespaces; it is not the obvious choice for unrelated audio development.
Alternatives
For related projects, see Game Compatibility Layers.
- cnc-ddraw is a free option for Android, Linux, macOS and Windows, but it requires a game with a DirectDraw (Software) renderer rather than targeting FNA audio namespaces.
- GameHub offers free platform access on Android, iOS and macOS; choose it for cloud gaming and streaming, which require a stable network.
- Bannerlator is a free Android alternative, though compatibility varies with GPU, Android version and game, and it carries no support commitment or guarantee on other devices.
- Box86 is a free Linux and self-hosted option when the requirement is running 32-bit software, provided a 32-bit Linux subsystem and 32-bit libraries are available.
- DXVK is a free Linux and Windows option when Vulkan is available; Linux/Wine use also requires a compatible Vulkan driver.
- PlayOnLinux is free on Linux and macOS, but not all games are supported and performance can occasionally decrease.
- Sober is a free unofficial project for Linux desktop users.
- TDF is free for GNU/Linux on x86_64, with a GPU supporting Vulkan 1.3 or newer required.
Verdict
Choose FAudio for an FNA project that needs XAudio2, X3DAudio, XAPO or XACT3 across its supported host platforms: it is free, commercially usable and built for that specific role. Look elsewhere if SDL 3.2.0 or newer is unsuitable, or if the project needs an audio layer beyond FNA’s intended namespaces.
Verdict
Choose FAudio if you are building for FNA's Audio and Media namespaces and need an XAudio reimplementation on its stated host platforms. Developers should account for the SDL 3.2.0 or newer dependency and the fact that compatibility tests are not built by default.
Questions
How much does FAudio cost?
The listed FAudio plan costs nothing.
What license does FAudio use?
FAudio is released under the zlib license, which permits use for any purpose, including commercial applications, subject to its stated conditions.
Which platforms does FAudio support?
Its stated host platforms are Windows, GNU/Linux, macOS, and iOS/tvOS. Build instructions also cover Xbox GDK.
What does FAudio implement?
It implements the DirectX Audio runtime libraries XAudio2, X3DAudio, XAPO, and XACT3.
What does FAudio require?
FAudio depends on SDL 3.2.0 or newer.
Where can developers report a problem?
The README directs users to GitHub Issues for problem reports and patches.
Facts from FAudio's own pages
- Audience
- The project describes itself as an audio reimplementation for the FNA project. · github.com, 7 Oct 2026
- Audio APIs
- Its runtime covers XAudio2, X3DAudio, XAPO and XACT3 functionality. · github.com, 15 Oct 2026
- Build platforms
- The project gives build instructions for Unix-like systems, Windows, Xbox GDK, iOS, tvOS, and macOS universal binaries. · github.com, 7 Oct 2026
- Build systems
- Unix-like systems use CMake, Windows uses the visualc directory, Xbox GDK uses visualc-gdk, and Apple targets use Xcode. · github.com, 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. · github.com, 7 Oct 2026
- CMake requirements
- Its CMake configuration requires CMake 3.10 or newer and identifies the project version as 0.26.10. · github.com, 15 Oct 2026
- Commercial use
- The license permits commercial use, modification and redistribution. · github.com, 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. · github.com, 7 Oct 2026
- C# wrapper
- The repository includes FAudio#, a C# interop wrapper for the native library. · github.com, 15 Oct 2026
- Debian packaging
- Debian builds libfaudio-dev development files and libfaudio0 runtime packages from its faudio source package. · packages.debian.org, 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. · github.com, 15 Oct 2026
- Documentation
- FNA documentation provides a stepwise guide for bringing existing or new games onto FNA, including optimization, debugging and contribution sections. · fna-xna.github.io, 15 Oct 2026
- Effects headers
- The public headers include F3DAudio, FACT, FACT3D, FAPO, FAPOFX and FAudioFX interfaces. · github.com, 15 Oct 2026
- Fedora packaging
- Fedora publishes libFAudio plus development and MinGW variants, with zlib recorded as the package license. · packages.fedoraproject.org, 15 Oct 2026
- FNA integration
- FAudio supplies the audio and media functionality used by the FNA project. · github.com, 15 Oct 2026
- Homebrew availability
- Homebrew provides a faudio formula installable with brew install faudio, with stable version 26.10. · formulae.brew.sh, 15 Oct 2026
- Homebrew platforms
- Homebrew lists binary bottles for Apple Silicon macOS and Linux ARM64 and x86_64. · formulae.brew.sh, 15 Oct 2026
- Homebrew usage
- Homebrew reports 3,338 installs over the preceding year and zero build errors. · formulae.brew.sh, 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. · phoronix.com, 15 Oct 2026
- Intended use
- FAudio was written for FNA's Audio and Media namespaces and is accessed through FAudio#. · github.com, 7 Oct 2026
- Issue reporting
- The README directs users to GitHub Issues to report problems and patches. · github.com, 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. · github.com, 15 Oct 2026
- License
- FAudio is distributed under the zlib license. · github.com, 15 Oct 2026
- License conditions
- Redistributors must preserve the notice, identify altered sources and avoid falsely claiming original authorship. · github.com, 15 Oct 2026
Where FAudio stands on Freedom251
- Game Compatibility Layers#2 of 27