-
Notifications
You must be signed in to change notification settings - Fork 5
DAX on Linux with PipeWire
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.
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.
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 | bashAll 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
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.
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.
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.
In the Audio tab of the Settings dialog, for Modulation Soundcard, use "DAX RX 1" as the Input and "DAX TX" as the Output.
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":
And on the Transmit tab, use dax_tx as the "Output From Computer To Radio":