Issues with audio devices in Bazzite

I have multiple issues with Pipewire in Bazzite.

The first is that switching to the the "pro audio" profile for my Arturia Audiofuse Studio USB interface in the control panel kills all sound. The interface has a "multichannel" profile, and that seems to work, so I've been using that instead. Pro Audio profiles for my HDMI connection work just fine, so it definitely seems like something about the hardware profile for my audio interface.

The second is that I cannot switch any audio device to a sample rate above 48khz. My audio interface, onboard soundcard, and HDMI output work with sample rates at least up 192khz, as I've used 96khz and 192khz in Windows for all. Using the PIPEWIRE_LATENCY environment variable when launching applications does not change the sample rate above 48khz, however the buffer size is successfully changed. Attempting to set the default clock rate in a pipewire config file simply kills audio playback system-wide. This happens for my onboard soundcard, HDMI, and USB interface.

Hardware:
CPU: AMD Ryzen 5950X
GPU: Nvidia RTX 3090 FE
RAM: 128GB DDR4 G.Skill Ripjaws V
Motherboard: ASUS TUF Gaming X570-PRO WIFI II
Audio Interface: Arturia Audiofuse Studio
Solution
The primary issue was my Arturia Audiofuse Studio interface. Disconnecting it entirely from the computer made most of the issues go away. I replaced it with a Black Lion Audio REVOLUTION 6x6 and can now set the sample rate higher and use oversampling within my DAW without sound dying.

However, PIPEWIRE_LATENCY is still not working for me. I will list several workarounds below:

Use PIPEWIRE_QUANTUM=X/Y environment variable. It forces the buffer size and sample rate, whereas PIPEWIRE_LATENCY=X/Y seems to function more like a suggested buffer size and sample rate. The arguments passed to PIPEWIRE_QUANTUM are the same as PIPEWIRE_LATENCY.

Using the pw-jack cli tool pw-jack -p <buffer> -s <samplerate> <application>

Using a pipewire-jack config file located at /home/$USER/.config/pipewire/jack.conf.d/your-conf-file-here.conf with something like the following:
jack.rules = [
    {
        matches = [
            {
                client.name                = "REAPER"
            }
        ]
        actions = {
            update-props = {
                node.latency       = 64/48000
                node.rate          = 1/48000
                node.quantum       = 64/48000
                node.lock-quantum  = true
                node.force-quantum = 64
            }
        }
    }
]
Was this page helpful?