Saffire Pro 24 firewire audio interface recognized but loss of sound and system crash after audio playback

I have a Saffire Pro 24 firewire audio interface that is connected using a firewire pcie card. The device is recognized and I can get audio out of it, however after a short amount of audio playback (between 30s and 2m on different occasions), I lose all sound, firefox stops streaming and I am unable to open any windows in qubes, sometimes a loss of mouse control. After I restart my machine things are back to normal until I play audio again.

I have tried using Fedora 39 and Debian 12 templates, both have the same issue.

Any help would be much appreciated.

Hi. Are you using HVM PCI Passtrough for your Firewire PCI card? or a dedicated Audio Qube? Or Qubes OS 44Khz 16 bit audio virtualization pass-through? And is it Qubes OS 4.2 or 4.1?

P.S.: And what is your intended final use case? Only using it as a general output device for Firefox, VLC, … and day to day general usage? Or you need to use all 16-in/8-out 24bit/96Khz ADC/DAC channels and the DSP processor in a proper DAW such as Ardour or Reaper?

1 Like

Hello. Thanks for the reply. Sorry for the delay.

I had only connected the audio interface to the computer and selected it as the output through PulseAudio Volume Control. I am using Qubes OS 4.2.

I have, since your reply, tried HVM PCI Passthrough and setting up a dedicated audio qube.

The HVM PCI passthrough gives me an error of ‘qube has failed to start: internal error: Non-endpoint PCI devices cannot be assigned to guests’ when launching the qube. I haven’t tried any of the additional attach options due to security issues (I’m not sure if this step is necessary or the implications of doing so).

When setting up an audio qube using this guide, I am unable to create a file in dom0 at the ‘configuring policy’ section with ‘Directory separator illegal in file name’ error and so am unable to complete the setup.

I need to use the audio interface with full capabilities in a DAW.

Just to note, the only devices I am able to attach in the qube settings are ‘PCI Bridge’ and ‘Firewire IEEE 1394’. There is nothing for the audio interface, however it does show up in the pulse audio volume control settings.

With the default setting out of the box, Firewire (IEEE 1394) PCI interface is connected to dom0 of Qubes OS and dom0 functions as audiovm/sys-audio, providing audio I/O to other Qubes. It will have a lot of problems in your case. Qubes intervm Audio system is currently only 44.1Khz 16 bit 2 channels which is ancient Audio CD quality from the early 80s. There is an open issue on github bug tracker from May 2022 with minor discussions about upgrading it to 48Khz 16 bit stereo. Even that would be a waste of your Focusrite interface powers and laughable in DAW industry. I would run Ardour, Reaper or any other DAW with full access to Saffire Pro HW. Fortunately there are workarounds.

You do not want to install Ardour in dom0. It is absolutely against Qubes philosophy. An HVM qube with PCI passthrough is the way to go. Here is what would differ a lot with the audio-qube guide you mentioned.

Creating the Qubes

  1. Clone debian-12 or debian-12-xfce for your audio-template. Most resources you would find on fixing issues would be based on Debian (like Venn Stone videos and guides).
  2. Skip step two of that guide. You do not want your DAW Qube to be disposable. All your recording should persist there. You can physically turn down gain volume, turn of phantom power (if you use condenser Mics) or even turn of this interface. Security is not that much a concern with it.
  3. Create and AppVM named DAW or something similar.

This interface is nothing like an Intel ich7. When Saffire Pro 24 was introduced in 2009, the recommended memory was specified as 1GB. But that was 2009 when DAW software where much simpler. I would recommend 2GB, 4GB or even 6GB for DAW qube. As Ardour says, more is always better. I assume that you have attached this interface to a powerful desktop PC in a studio with a setup for recording from multiple Mics or instruments. Hopefully dropping some resource at it would not be an issue. Again for the CPU Core count, 2 was suggested in 2009. But I would recommend 4 or 6 cores for DAW qube. You are going to mix 16 inputs for 8 individual outputs at 24bit/96Khz. That is a lot of CPU power. And for private drive storage, you will need half a gigabyte per hour. So do you calculations and expand private storage as much as needed. Recording data rate would be roughly 150MB/s for 16 channels.

Install Ardour, Audacity or any other audio processing software you need on audio-template. That is in addition to pipewire-qubes, pavucontrol, alsa-utils, linux-firmware and pasystray. You do not want to setup this qube to provide audio to other qubes for now. Skip qubes-audio-daemon, qubes-core-admin-client, qubes-usb-proxy, blueman, cairo-dock.

Configuring PCI Pass-through

Only and only passthrough the Firewire IEEE 1394 card to DAW qube. Definitely no memory balancing.

Configuring sys-audio as the default audiovm

Skip this step. You could attach a cheap speaker to the output of your motherboard card to monitor audio from other VMs, letting dom0 to handle it. Or you could use a stereo 3.5mm male to dual 1/4" male audio cable to physically pass audio from motherboard output to Saffire input and then from there to studio audio monitors. This will sacrifice two of 16 inputs. Of course using DAW qube as audiovm is possible. I am doing that myself at the moment. But lets get the interface running 1st.

Testing sound

Run alsamixer, aplay or something similar to see if the interface is properly initialized and detected.

Final work.

Watch Venn Stones video I shared earlier and follow his guide. It is for Saffire Pro 40. But there would be a lot of similarities. Run Ardour and see if everything works.