New PipeASIO is now in the AUR: paru -S pipeasio on Arch, CachyOS and friends. More distros to follow. Star it on GitHub.

PipeASIO

Low-latency ASIO audio for Windows DAWs on Linux. Runs under Wine and Proton, native to PipeWire.

v1.0.0 x86_64 PipeWire 1.6+ Wine 10+ GPL-3.0

New: PipeASIO is now packaged in the AUR. paru -S pipeasio installs the driver, the settings panel and its menu entry in one go. Other distros build from source.

Straight to PipeWire

PipeASIO is a native PipeWire client. Audio gets from your host to the graph in one hop, instead of detouring through Wine's audio layer or a JACK bridge that the Proton container does not even ship.

PipeASIO
FL Studio PipeASIO PipeWire Audio device
One hop, native, via libpipewire-0.3 shared memory.
FL Studio ASIO (built in)
FL Studio Wine audio pipewire-pulse PipeWire Audio device
Works, but rides Wine's audio backend and the PulseAudio compatibility layer.
WineASIO (upstream)
FL Studio WineASIO libjack.so.0
Needs libjack.so.0, which is absent in the steamrt4 container, so it crashes on load.

How it compares

FL Studio's built-in ASIO does work under Wine, but it is just a stereo stream handed to Wine's audio layer. PipeASIO is a first-class node in the PipeWire graph.

CapabilityPipeASIOFL Studio ASIOWineASIO
Loads in Proton / steamrt4YesYesNo, needs libjack
Path to PipeWireDirect, native clientThrough Wine audioThrough JACK
Routable per-channel node in the graphYesNo, one streamVia JACK only
Graph clock locked to the host bufferYesNoPartial
Live settings panel with a load monitorYesNoNo
Extra runtime dependencyNoneWine audiolibjack.so.0

What you get

A focused, modern bridge between ASIO hosts and PipeWire, with a native settings panel.

PipeWire native

Talks to libpipewire-0.3 directly through a pw_filter DSP node. No JACK, no libjack.so.0 at runtime.

Runs under Proton

Loads inside the Steam Runtime steamrt4 container that Proton uses, via a host-provided WINEDLLPATH.

Sample-accurate clock

Locks the PipeWire quantum to the host's negotiated buffer with PW_KEY_NODE_FORCE_QUANTUM for tight, glitch-free timing.

Qt6 settings panel

A native pipeasio-settings app: channels, buffer size, device routing, plus a live Monitor tab with quantum, rate, xruns, and a DSP-load graph.

Bluetooth friendly

A follow-device-clock mode lets the target device drive the cycle, which Bluetooth sinks require since their clock is the radio link.

Live config reload

The driver re-reads its INI while running, so saving in the panel applies within about a second. No reselecting the driver or restarting the host.

The settings panel

Configure channels and routing, then watch the graph live. Shown here running under FL Studio.

PipeASIO Settings tab over FL Studio
Settings: channels, buffer, devices, follow-device clock.
PipeASIO Monitor tab over FL Studio
Monitor: live quantum, rate, DSP-load graph, xruns.

Quick start

x86_64 only. Building from source needs CMake 3.20+, the Wine SDK, pkg-config, libpipewire-0.3-dev, and (for the panel) qt6-base-dev.

Arch Linux / CachyOS: skip the build
# driver + settings panel, from the AUR
paru -S pipeasio   # or: yay -S pipeasio
pipeasio-register

Plain Wine users are done. For Proton the system-wide install is invisible inside the container, so follow steps 1-2 (user-local) and step 4 instead. Everyone else, build from source:

1 / Build
# clone and build (Release)
git clone https://github.com/M0n7y5/pipeasio.git && cd pipeasio
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
2 / Install
# user-local, required for Proton / Faugus / Steam
cmake --install build --prefix "$HOME/.local"

# ...or system-wide for a normal Wine setup
sudo cmake --install build --prefix /usr
3 / Register into a wineprefix
env WINEPREFIX="$HOME/Faugus/<game>" pipeasio-register
4 / Proton and Steam Runtime

Proton runs Wine in a container that cannot see /usr/lib/wine, so install under $HOME (above) and point Proton's Wine at the ELF half by setting this in your launcher's per-game environment:

WINEDLLPATH=/home/<you>/.local/lib/wine

Use the absolute path (Faugus does not expand ~). Then pick PipeASIO as the ASIO device inside your host. The full config reference and environment overrides live in the README.

5 / Configure with the panel

The same install drops a native settings app, pipeasio-settings (built whenever qt6-base-dev is present). Launch it to set channels, buffer size and device routing, and to watch the live Monitor. Saves apply within about a second, with no host restart.

pipeasio-settings

Configuration

A flat INI at ~/.config/pipeasio/config.ini (written by the panel). Every key also has an environment-variable override, and the defaults work out of the box.

KeyDefaultWhat it does
inputs / outputs2 / 2Number of PipeWire ports the driver opens.
buffer_size1024Preferred ASIO buffer size (power of two, 16 to 8192).
fixed_buffer_sizeonLock the size, or let the host change PipeWire's quantum.
sample_ratefollow0 follows the graph, a non-zero value pins the rate.
auto_connectonAuto-wire channels to a hardware device on start.
follow_device_clockoffLet the target device drive the cycle (needed for Bluetooth).

Questions and troubleshooting

PipeASIO is at 1.0.0, verified with FL Studio under Proton-CachyOS and with the VB-Audio ASIO Test utility (64-bit). Other ASIO hosts (Reaper, Ableton Live) should work but are not yet confirmed. Reports are very welcome.

No sound, or the driver does not load under Proton?
Proton's container cannot see /usr/lib/wine. Install under $HOME, set WINEDLLPATH=$HOME/.local/lib/wine in your launcher's per-game environment, then register in that prefix.
Registering fails with status c0000135?
Wine could not find the unified PE name. The install creates pipeasio.dll symlinks next to pipeasio64.dll for Wine 10+, so re-run cmake --install to create them, then register again.
Bluetooth headphones produce no sound?
Turn on follow device clock in the panel (or set PIPEASIO_FOLLOW_DEVICE_CLOCK=on). A Bluetooth sink's clock is the radio link and cannot be slaved to the host, so the driver follows it instead.
Does it conflict with WineASIO?
No. PipeASIO has its own CLSID and registry identity, so it installs side by side with WineASIO and hosts list them as separate drivers.
How do I select it in my DAW?
After registering, pick PipeASIO from the host's ASIO device list. In FL Studio that is Options > Audio settings > Device.