FAudio
github.com
What it is
FAudio is a free reimplementation of XAudio for open platforms, made for the FNA project. It implements the DirectX Audio runtime libraries XAudio2, X3DAudio, XAPO, and XACT3, and is intended for FNA's Audio and Media namespaces through FAudio#. It depends on SDL 3.2.0 or newer and says it does not explicitly use 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. FAudio includes unit tests intended to check whether its XAudio2 behavior matches XAudio2, but those tests are not built by default. The project lists Windows, GNU/Linux, macOS, and iOS/tvOS among its host platforms. It is released under the zlib license, which permits commercial use subject to its stated conditions. The project directs users to GitHub Issues to report problems and patches.
Spec sheet
- What it does
- FAudio reimplements XAudio for open platforms with an accuracy focus.Read 15 Oct 2026 · github.com
- Purpose
- FAudio is an accuracy-focused reimplementation of XAudio for open platforms.Read 7 Oct 2026 · github.com
- Audience
- The project describes itself as an audio reimplementation for the FNA project.Read 7 Oct 2026 · github.com
- License
- FAudio is distributed under the zlib license.Read 15 Oct 2026 · github.com
- Audio APIs
- Its runtime covers XAudio2, X3DAudio, XAPO and XACT3 functionality.Read 15 Oct 2026 · github.com
- Build platforms
- The project gives build instructions for Unix-like systems, Windows, Xbox GDK, iOS, tvOS, and macOS universal binaries.Read 7 Oct 2026 · github.com
- Build systems
- Unix-like systems use CMake, Windows uses the visualc directory, Xbox GDK uses visualc-gdk, and Apple targets use Xcode.Read 15 Oct 2026 · github.com
- 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.Read 7 Oct 2026 · github.com
- C# wrapper
- The repository includes FAudio#, a C# interop wrapper for the native library.Read 15 Oct 2026 · github.com
- CMake requirements
- Its CMake configuration requires CMake 3.10 or newer and identifies the project version as 0.26.10.Read 15 Oct 2026 · github.com
- Commercial use
- The license permits commercial use, modification and redistribution.Read 15 Oct 2026 · github.com
- Compatibility tests
- FAudio includes unit tests intended to check that its XAudio2 behavior matches XAudio2, and the tests are not built by default.Read 7 Oct 2026 · github.com
- Debian packaging
- Debian builds libfaudio-dev development files and libfaudio0 runtime packages from its faudio source package.Read 15 Oct 2026 · packages.debian.org
- 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.Read 15 Oct 2026 · github.com
- Documentation
- FNA documentation provides a stepwise guide for bringing existing or new games onto FNA, including optimization, debugging and contribution sections.Read 15 Oct 2026 · fna-xna.github.io
- Effects headers
- The public headers include F3DAudio, FACT, FACT3D, FAPO, FAPOFX and FAudioFX interfaces.Read 15 Oct 2026 · github.com
- Fedora packaging
- Fedora publishes libFAudio plus development and MinGW variants, with zlib recorded as the package license.Read 15 Oct 2026 · packages.fedoraproject.org
- FNA integration
- FAudio supplies the audio and media functionality used by the FNA project.Read 15 Oct 2026 · github.com
- Homebrew availability
- Homebrew provides a faudio formula installable with brew install faudio, with stable version 26.10.Read 15 Oct 2026 · formulae.brew.sh
- Homebrew platforms
- Homebrew lists binary bottles for Apple Silicon macOS and Linux ARM64 and x86_64.Read 15 Oct 2026 · formulae.brew.sh
- Homebrew usage
- Homebrew reports 3,338 installs over the preceding year and zero build errors.Read 15 Oct 2026 · formulae.brew.sh
- Industry adoption
- Phoronix reported in January 2019 that Proton already shipped FAudio for running Windows games on Linux and that CodeWeavers discussed integration.Read 15 Oct 2026 · phoronix.com
- Intended use
- FAudio was written for FNA's Audio and Media namespaces and is accessed through FAudio#.Read 7 Oct 2026 · github.com
- Issue reporting
- The README directs users to GitHub Issues to report problems and patches.Read 7 Oct 2026 · github.com
- 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.Read 15 Oct 2026 · github.com
- License conditions
- Redistributors must preserve the notice, identify altered sources and avoid falsely claiming original authorship.Read 15 Oct 2026 · github.com
- Limit: crackling and stutter
- An EndeavourOS report describes Proton game crackling; installing FAudio fixed sound but a particular kernel combination introduced micro-stuttering.Read 15 Oct 2026 · forum.endeavouros.com
- Limit: desktop-specific silence
- A Cosmic desktop issue report describes no audio samples in a Proton game even though the same hardware and session worked under GNOME.Read 15 Oct 2026 · github.com
- Limit: echo and attenuation
- A ProtonSCR Skyrim report records echo in buildings and occasional abnormal attenuation or panning after using FAudio.Read 15 Oct 2026 · protonscr.com
- Limit: manual installation
- A ProtonSCR Fallout 76 report says FAudio had to be installed manually through protontricks to restore most game audio.Read 15 Oct 2026 · protonscr.com
- Limit: WMA licensing
- An FAudio issue says a permissively licensed WMA or xWMA decoder is unlikely, leaving some commercial projects dependent on alternatives such as FFmpeg.Read 15 Oct 2026 · github.com
- Praise: replacement audio
- A ProtonSCR Final Fantasy XIV report says replacing Proton's library with a self-built FAudio made audio work perfectly for that user.Read 15 Oct 2026 · protonscr.com
- Public API
- Public C headers expose device management, reference counting, callbacks, voice operations and version constants.Read 15 Oct 2026 · github.com
- Recent bug fixes
- Release 26.07 reworked resampling taps and fixed small SIMD requests, mono ADPCM offsets and WMA bitrate handling.Read 15 Oct 2026 · github.com
- Recent performance work
- Release 26.08 added AArch64 NEON sample mixing.Read 15 Oct 2026 · github.com
- Security posture
- The GitHub security page reports no SECURITY.md policy and no published security advisories.Read 15 Oct 2026 · github.com
- Static or shared
- The build configuration can produce shared or static libraries and leaves utility and test builds disabled by default.Read 15 Oct 2026 · github.com
- Unit tests
- FAudio ships XAudio2 behavior tests, but they require BUILD_TESTS=1 because they are not enabled by default.Read 15 Oct 2026 · github.com
- vcpkg documentation
- The vcpkg listing says documentation is unavailable and that the port is not used by another package.Read 15 Oct 2026 · vcpkg.io
- vcpkg package
- Microsoft vcpkg lists faudio 26.8, with SDL3 and vcpkg CMake tooling as dependencies and no package features.Read 15 Oct 2026 · vcpkg.io
- Warranty
- The license supplies the software without warranty and disclaims author liability for damages.Read 15 Oct 2026 · github.com
- Windows test prerequisite
- Building the Windows comparison test executable requires mingw-w64 and a Windows machine to run it.Read 15 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Implements XAudio2, X3DAudio, XAPO, and XACT3
- Free under a license permitting commercial use
- Build instructions cover Unix, Windows, Xbox, and Apple platforms
Limits
- Requires SDL 3.2.0 or newer
- Compatibility tests are not built by default
- Intended for the FNA project
Who it suits
FAudio suits developers working with the FNA project who need its audio and media support on open platforms. Its build instructions cover several operating systems and toolchains.
FAudio in depth
Read the full write-up
FAudio is a free audio runtime implementation aimed at developers working with FNA. Its strongest case is bringing several XAudio runtime libraries to FNA projects across supported targets; the SDL 3.2.0-or-newer dependency is a firm constraint.
Overview
FAudio implements XAudio2, X3DAudio, XAPO and XACT3 for FNA’s Audio and Media namespaces, and FNA applications access it through FAudio#. That makes it a focused compatibility component, not a general-purpose audio framework for unrelated projects. The project describes itself as an audio reimplementation for FNA, so teams outside that ecosystem have little reason to choose it on the basis of this feature set alone.
FAudio requires SDL 3.2.0 or newer and says it does not explicitly use the C runtime. Its zlib license permits use for any purpose, including commercial applications, subject to the license conditions. Problems and patches are directed to GitHub Issues.
Key features
Four audio runtime libraries: XAudio2, X3DAudio, XAPO and XACT3 cover several DirectX audio components in one implementation, which is useful to FNA developers needing those interfaces together.
XAudio2 compatibility tests: Unit tests are intended to check whether FAudio’s XAudio2 behavior matches XAudio2. They are not built by default, so teams that rely on them must add a separate test-building step.
Multiple build routes: Unix-like builds use CMake, Windows builds use the visualc directory, Xbox GDK uses visualc-gdk, and Apple builds use Xcode. This gives developers target-specific starting points, though it also means the build process differs by platform.
Pricing
FAudio — free. The free plan covers the zlib-licensed software, allows commercial use under that license’s conditions, and requires SDL 3.2.0 or newer. There is no trial period because FAudio is free. No paid tier or seat-based pricing is part of this plan.
Platforms
FAudio’s host platforms are Windows, GNU/Linux, macOS, and iOS/tvOS. Build instructions also cover Unix-like systems, Windows, Xbox GDK, iOS, tvOS, and macOS universal binaries. The range is useful for cross-platform FNA work, but actual builds still need to follow the platform-specific tool path and satisfy the 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 libraries. It is also a reasonable fit when commercial use is required and the zlib license’s conditions work for the project. It is not the right choice for teams unable to use SDL 3.2.0 or newer, or for projects seeking a broad audio framework unrelated to FNA.
Pros and cons
Pro: broad runtime coverage for FNA. Four implemented audio libraries give FNA applications more than XAudio2 alone.
Pro: permissive commercial-use terms. The zlib license allows commercial applications subject to its conditions.
Con: SDL is mandatory. Projects that cannot adopt SDL 3.2.0 or newer are ruled out.
Con: compatibility tests need deliberate setup. They are not built by default, which makes verification an extra build task.
Con: its purpose is narrow. The FNA orientation limits its appeal for developers seeking an independent, general audio layer.
Alternatives
These tools address neighboring compatibility and game-running needs, but they are not direct substitutes for FAudio’s FNA-focused audio runtime:
cnc-ddraw is free for Windows, Linux, macOS and Android; choose it instead when the game uses a DirectDraw software renderer.
GameHub offers free platform access on Android, iOS and macOS; choose it for cloud gaming and streaming if a stable network is available.
Bannerlator is free on Android, but device support is not guaranteed and compatibility varies by GPU, Android version and game. It fits readers specifically seeking an Android option who can accept those limitations.
DXVK is free on Linux and Windows and requires Vulkan; Linux/Wine use also needs a compatible Vulkan driver. Choose it for a Vulkan-based compatibility layer rather than FAudio’s audio-runtime role.
PlayOnLinux is free on Linux and macOS, with some games unsupported and occasional performance decreases. It is the alternative to consider when those trade-offs are acceptable.
Sober is a free unofficial project for Linux desktop; consider it when that platform and project status suit the use case.
TDF is free for Linux and self-hosted use, but requires GNU/Linux, an x86_64 CPU and a GPU with Vulkan 1.3 or newer. Choose it only when that hardware and platform requirement fits.
umu-launcher is free, GPL-3.0 licensed software for Linux; consider it as a Linux alternative.
For a broader category view, see Game Compatibility Layers.
Verdict
Choose FAudio when an FNA project needs XAudio2, X3DAudio, XAPO or XACT3 support across its target platforms and can meet the SDL 3.2.0-or-newer requirement. Its focused runtime coverage and commercial-use zlib license are the case for adopting it. Look elsewhere if the project is not built around FNA, or if SDL cannot be part of the dependency stack.
Verdict
FAudio provides FNA-oriented implementations of several XAudio runtime libraries across multiple build targets. Developers should account for its SDL dependency and the fact that compatibility tests require separate building.
Where Specifiction places it
- Game Compatibility Layers#3 of 278.8