You are not logged in.

#1 2025-08-17 14:44:12

nuftes
Member
Registered: 2025-08-17
Posts: 3

RME Hammerfall Multiface I, HDSPe, Linux: Distorted Sound

Hello,

I've recently aquired a used RME Hammerfall Multiface I and a RME HDSPe PCIe (PCI Express) Rev. 1.2 IMM which I put in a suitable chassis (an OWC Mercury Helios 3S), connected to my computer via Thunderbolt. I'm using Arch Linux with Pipewire installed. Within Pipwire I've installed JACK support as I wanted low latency support for audio.

Basically I got sound working with my setup (in the beginning I couldn't set the sample rate to a value higher than 48 kHz but after disabling "Sample Clock Source Locking" in alsamixer I could set the sample rate to 96 kHz, however, losing microphone support sad ).

But what's worrying me much more is that I can't set the buffersize ("Frames/Period" in QjackCtl) for JACK to anything else than 1024. Any other value generates totally distorted audio!

I've posted this to the RME forum before and someone from RME suspected it might have to do with the fact that, according to the manufacturer's description, the chassis isn't necessarily Linux compatible (however, I couldn't find any other chassis that mentioned the their chassis to be Linux compliant with an RME PCIe card...). So far I can only say it it *kind of* works but realtime audio isn't (which was really why I went this direction...).

So, if it's not the hardware's fault (which I'm not exactly sure of), what could I try e.g. within Pipewire or ALSA configs?

Thanks very much for any hints!

My machine:

OS: Arch Linux x86_64
Host: 20HGS1R90U ThinkPad T470s
Kernel: 6.6.87-rt54-arch1-2-rt-lts
CPU: Intel i7-7600U (4) @ 3.900GHz
Memory: 5672MiB / 23910MiB

Here's some output from various commands

$ lsmod | grep snd_hdsp
snd_hdsp               94208  0
snd_rawmidi            53248  4 snd_seq_midi,snd_usbmidi_lib,snd_hdsp,snd_ump
snd_hwdep              20480  3 snd_usb_audio,snd_hda_codec,snd_hdsp
snd_pcm               200704  15 snd_soc_avs,snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,soundwire_intel,snd_sof,snd_hdsp,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_soc_skl,snd_hda_core,snd_pcm_dmaengine
snd                   155648  25 snd_ctl_led,snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_hdsp,snd_timer,snd_compress,thinkpad_acpi,snd_soc_core,snd_ump,snd_pcm,snd_rawmidi

# lspci -k -v
06:00.0 Multimedia audio controller: Xilinx Corporation RME Hammerfall DSP (rev 3c)
        Subsystem: Xilinx Corporation Device 0000
        Flags: bus master, fast devsel, latency 0, IRQ 18
        Memory at c4000000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [48] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [58] Express Endpoint, IntMsgNum 0
        Capabilities: [100] Device Serial Number 00-00-00-01-01-00-0a-35
        Kernel driver in use: snd_hdsp
        Kernel modules: snd_hdsp

07:00.0 USB controller: Intel Corporation JHL7440 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] (rev 06) (prog-if 30 [XHCI])
        Subsystem: OWC Device 001d
        Flags: fast devsel, IRQ 132
        Memory at c4100000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [80] Power Management version 3
        Capabilities: [88] MSI: Enable+ Count=1/8 Maskable- 64bit+
        Capabilities: [c0] Express Endpoint, IntMsgNum 0
        Capabilities: [100] Device Serial Number d3-2a-dc-a9-b5-e9-07-00
        Capabilities: [200] Advanced Error Reporting
        Capabilities: [300] Virtual Channel
        Capabilities: [400] Power Budgeting <?>
        Capabilities: [500] Vendor Specific Information: ID=1234 Rev=1 Len=100 <?>
        Capabilities: [600] Vendor Specific Information: ID=8086 Rev=2 Len=04c <?>
        Capabilities: [700] Secondary PCI Express
        Capabilities: [800] Latency Tolerance Reporting
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci

$ boltctl
 ● Other World Computing Mercury Helios 3S
   ├─ type:          peripheral
   ├─ name:          Mercury Helios 3S
   ├─ vendor:        Other World Computing
   ├─ uuid:          00b5a9dc-2ad3-5a00-ffff-ffffffffffff
   ├─ generation:    Thunderbolt 3
   ├─ status:        authorized
   │  ├─ domain:     be030000-0082-8088-207e-61045661c91e
   │  ├─ rx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  ├─ tx speed:   40 Gb/s = 2 lanes * 20 Gb/s
   │  └─ authflags:  boot
   ├─ authorized:    Sun Aug 17 13:11:09 2025
   ├─ connected:     Sun Aug 17 13:11:09 2025
   └─ stored:        Tue Aug  5 15:48:19 2025
      ├─ policy:     auto
      └─ key:        no

Last edited by nuftes (2025-08-17 14:45:54)

Offline

#2 2025-08-19 17:58:44

nuftes
Member
Registered: 2025-08-17
Posts: 3

Re: RME Hammerfall Multiface I, HDSPe, Linux: Distorted Sound

Just one more observation - I've created some sound using SuperCollider. The following code plays a sine wave at 220 Hz in the left speaker and another sine wave at 221 Hz in the right speaker:

{ SinOsc.ar([220, 221], mul: 0.4} }.play

While this was playing I switched the "Frames/Period" parameter in QjackCtl from 1024 to 512 and other values unequal to 1024. Any value other than 1024 produced distorted sound. At the same time I did a recording (while switching buffer sizes back and forth). To my surprise, when listening to the recordings there were no distortions at all!
So, I was was wondering what would happen if I I record some analog input (e.g. a microphone, routed through my mixer to an analog input on the back of my card). I've accomplished this in SuperCollider with this code (which is also playing the input to the speakers):

// first analog input of the soundcard, routed to speakers left and right
{ SoundIn.ar(0!2) }.play

... some thing as in the first example: when switching to any other buffer size than 1024 the sound coming out of the speaker was completely distorted. I suspected that this time the distortions would also be audible in the recording  but to my surprise - recording was clean!
My conclusion: It's not the converters that cause distortion. There's something else going on that I don't understand at all. I pretty clueless on how to debug this (besides various commandline calls and my SuperCollider tests). I understand too little about ALSA to say if there could be some remedy for my problem. Anyone else has some hints?

Thanks very much for your attention!

Offline

#3 2025-09-22 19:06:01

nuftes
Member
Registered: 2025-08-17
Posts: 3

Re: RME Hammerfall Multiface I, HDSPe, Linux: Distorted Sound

Just wanted to return to this thread briefly as I've been able to solve my problem. The key to the solution was pipewire-jack, respectively, not using pipewire-jack with PipeWire. I have meanwhile reinstalled my OS completely but this time I didn't install pipewire-jack, only Jack2 which I start from QjackCtl with JACK D-Bus interface activated. And - voilà! - I got PipeWire running on top of JACK. I can now do pro-audio work at 96 kHz sample rate at a latency of less than 0.7 ms and pretty decent CPU usage. Pipewire-jack and RME hdsp don't seem to be best friends...

Offline

Board footer

Powered by FluxBB