Skip to content

DAX on Linux with PipeWire

Dave Hayes edited this page Jun 8, 2026 · 2 revisions

Setting up virtual audio devices for DAX operation in Linux is a bit of a double-edged sword. On one hand, most Linux distributions have the functionality built in, so there's no need for extra software like Windows and macOS. On the other hand, configuring virtual audio devices on Linux can be very confusing and difficult. Since most modern Linux distributions use PipeWire by default, we can provide a baseline config that should get you operating with DAX.

Before Starting

This configuration is needed on any Linux computer where you are using the SolidSDR web interface. You do not need to do this on the machine that's running solid-sdr-server unless you are also going to be using the web interface on the same machine.

This guide is intended for people who are using PipeWire, which should be on most modern distributions. Firefox is typically the default browser these days, and it should work OK in most cases, but I have noticed that it has some problems in some distributions when trying to work with DAX (errors about sample rate), so Chromium-based browsers (Chromium, Google Chrome, Brave, etc) are generally preferred.

Install the Config

There's not actually any software we need to install, it's just a configuration file. We have a script to simplify this. At a terminal, just run:

curl -fsSL https://raw.githubusercontent.com/daveisadork/solid-sdr/main/scripts/install-pipewire-dax.sh | bash

All the script does is download the config file to the correct location and restart a few services so the change gets picked up. Once it's finished, restart your browser and any apps that are using audio (WSJT-X, FreeDV, etc) so they pick up the changes.

The config will create 5 devices for you:

  • DAX TX
  • DAX RX 1
  • DAX RX 2
  • DAX RX 3
  • DAX RX 4

Setting up SolidSDR

In SolidSDR, open the DAX Settings dialog by clicking the gear icon in the lower right and choosing "DAX Settings" and choose the relevant audio devices. Firefox may show some extra devices like "Monitor of..." which you can ignore. Just choose "DAX TX" for DAX TX, "DAX RX 1" for DAX RX 1 and so on. Then enable whichever DAX channels you need. Chromium browser users may need to refresh the tab after changing the DAX TX input device.

image

Setting Up Other Applications

In general, for other applications you would use "DAX RX 1" or dax_rx1_source (depending on how the application displays device names) as the input, and "DAX TX" or dax_tx as the output. Below are some specific configurations for a few popular applications that worked for me.

WSJT-X

In the settings, under the audio tab, choose dax_rx1_source (or whichever DAX channel you're using) as the input and dax_tx as the output.

image

JS8Call

In the Audio tab of the Settings dialog, for Modulation Soundcard, use "DAX RX 1" as the Input and "DAX TX" as the Output.

image

FreeDV

If you're using the FreeDV GUI, open the advanced audio config. On the Receive tab, use dax_rx1_source for "Input To Computer From Radio":

image

And on the Transmit tab, use dax_tx as the "Output From Computer To Radio":

image

Clone this wiki locally