Request for help in setting up the output device

Hello.
My problem is configuring the program correctly. When I try to set both input and output to the U22XT USB I get a message that, when closed, the program shuts down.

Ardour_02

The only functioning configuration is the one with the output set to HDA Intel PCH, which I would prefer to avoid.
My configuration:

majoballs@Optiplex390:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20641 Analog [CX20641 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: USB [U22 XT USB], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

majoballs@Optiplex390:~$ uname -a
Linux Optiplex390 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux

Ardour versiom: ardour (1:7.3.0+ds0-1)

My goal is to connect my guitar and headphones to the interface so that I can hear the sound from Ardour on the headphones. I will mention that when I am not using Ardour, I can listen to music etc. through the interface.

If you need any more information, I will be happy to add it.

What buffersize do you use for USB audio?

One reason might be that it is too low, constantly causes dropouts and the device eventually disconnects.

Another reason could be that the USB soundcard is behind a hub, or shares the USB bus with other devices (on Linux you can check with lsusb -t). Perhaps try another USB port.

While Ardour is running and uses the U22XT, open a terminal window and run

cd /tmp && wget https://community.ardour.org/files/adevices.sh && bash ./adevices.sh

That lists all soundcards, applications using them, and their current hardware settings, etc (and does not modify the system). Then copy/paste the output of the script here. That may help to shed some light.

Thank you very much for your answer.

> Sample Rate: 48kHz
> Buffer Size: 128 samples (2,7ms)

But I don’t think it’s a problem, the interface should be able to handle such settings without any problems.

majoballs@Optiplex390:~$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 6: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 6: Dev 3, If 1, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 6: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 12M
        |__ Port 6: Dev 3, If 3, Class=Audio, Driver=snd-usb-audio, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 1: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 4: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
========================================
Part I: ALSA
Advanced Linux Sound Architecture Driver Version k6.1.0-17-amd64.

Card 0 (USB):
  * Playback Device 0 (USB Audio):
    - Subdevice 0 (hw:USB,0,0):
      closed

  * Recording Device 0 (USB Audio):
    - Subdevice 0 (hw:USB,0,0):
      used by: ArdourGUI (PID 5494)
      access: MMAP_INTERLEAVED
      format: S24_3LE
      subformat: STD
      channels: 2
      rate: 48000 (48000/1)
      period_size: 128
      buffer_size: 256

Card 1 (PCH):
  * Playback Device 0 (CX20641 Analog):
    - Subdevice 0 (hw:PCH,0,0):
      used by: ArdourGUI (PID 5494)
      access: MMAP_INTERLEAVED
      format: S32_LE
      subformat: STD
      channels: 2
      rate: 48000 (48000/1)
      period_size: 128
      buffer_size: 256

  * Recording Device 0 (CX20641 Analog):
    - Subdevice 0 (hw:PCH,0,0):
      closed

  * Recording Device 2 (CX20641 Alt Analog):
    - Subdevice 0 (hw:PCH,2,0):
      closed

Card 2 (HDMI):
  * Playback Device 3 (HDMI 0):
    - Subdevice 0 (hw:HDMI,3,0):
      closed

========================================
Part II: jack processes

Try at least 256 with USB devices.

The interface yes, your system however, probably not.

Very low latency with USB devices require dedicated tuning and likely a realtime (preemt-rt) kernel but at the very least threadirq (and rtirq).

Does it work if you pick 1024? if so, lower it. and repeat. Also prefer 3 periods per cycle, see
https://linuxmusicians.com/viewtopic.php?f=47&t=10707

So. After starting the program, I can change the input and output settings to USB and run it.
Unfortunately until I try to add AudioTrack. Then this message is displayed.

Ardour_05

I tried changing buffer and period to different variants, unfortunately to no avail.

Of course, this cannot be ruled out, but I can make such settings using only the integrated card and everything works fine. The problem only occurs with the USB interface.

After many attempts with different configurations, I gave up.

I’m switching to Windows and Cakewalk. This is the first time since I’ve been using Linux that I haven’t been able to do something on it, and I’ve been using it for almost 20 years. This problem applies not only to Ardor but also to other DAW programs (Bitwig, Ocenaudio, etc.). The only program that I managed to run successfully is Tenacity.

Thank you for your advice and help.

Linux and Ardour are VERY stable once set up properly. Windows had suprise updates and other systems scans that would re-enable themself (because I disabled them) whenever there was an ‘update’; causing occasional high CPU usage at unknown times.

My Linux system had strange USB audio issues until I disabled pipewire and pulse-audio. I spent some time looking for a way NOT to disable pulse-audio and have everything work, but was unsuccessful.

Disabling certain audio services created a very stable ALSA system for me.

from a CLI / BASH prompt for Debian-ish distro (Ubuntu 22.04 LTS):

$ systemctl --user stop pipewire.socket
$ systemctl --user stop pulseaudio.socket
$ systemctl --user stop pulseaudio.service

I created a script and run it at startup when I want to use a DAW.

Performance mode is important as well:
$ echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor;

After this, it has been very reliable and stable using my USB Audio and MIDI devices.

1 Like

Thank you for your suggestions. Unfortunately, this is not it. I hope to return to this issue in the future.