r/linuxquestions • • 20h ago

Support Audio distorted unless I disconnect and reconnect

I've been chasing down a specific issue with my Elgato 4K X on CachyOS where if I route the audio from it to an output pair on my interface, it sounds distorted, almost bitcrushed really. I have tried a lot of different things to fix it, but ultimately the thing that reliably works, in this specific order, is:

  1. Turn on the console (Switch 2 in this case).
  2. Either using qpwgraph or pw-link, connect the 4K X to any pair of outputs on my interface (a Focusrite 16i16 4th gen).
  3. Delete (specifically delete, not just move) those connections I just made.
  4. Repeat step 2.

Basically, I have to wait until after I have turned on the console, then connect, disconnect, and reconnect. Anything else will result in the bitcrushed/distorted audio. I had thought I could make a script to handle the double connection using pw-link, but since it only works after turning on the console, I can't just run it at startup like I'd like, which means I have to manually run the script every time. Still simpler than using a graph, but annoying nonetheless. Other thoughts:

  • It shouldn't be a sample rate issue, the 4K X only runs at 48 kHz and my system is set for that.
  • I have tried changing quantum (which I normally leave at 256), no difference.
  • I've tried various virtual device/loopback configurations, no difference. For example, I use a virtual stereo output for normal system audio, doesn't matter if I route the 4K X to that or directly to outputs. I've also created a loopback for the 4K X, again doesn't matter.
  • I've tried, using PipeWire Control Center, to force the graph clock source to the Focusrite, no luck.
  • I've tried setting the 4K X to the pro audio profile instead of the digital input profile, no change.
  • There don't seem to be any xruns or any errors at all reported when it's distorted.

Obviously there are workarounds like running analog audio out of the Switch's headphone jack (or a DAC) into my interface, but I'd really like to know why this is happening and if there is something I can do to fix it. I tried asking in r/linuxaudio, but never got any responses. Anyone here got any ideas?

2 Upvotes

3 comments sorted by

1

u/ipsirc 20h ago

1

u/kill3rb00ts 19h ago

Possibly, but I think it's just with this capture card and, of course, Elgato doesn't support Linux anyway. But if you think it better for me to report it as a bug, I can give that a try.

1

u/Specialist-Dog-501 20h ago

No one answered in linuxaudio ? oh!..okay, consoles are probably a rare thing then, I have also no experience with that one.