geoffreybennett / scarlett-gen2

Linux kernel source tree with additional Focusrite Scarlett and Clarett support ("Scarlett2 USB Protocol Mixer Driver")
200 stars 6 forks source link

Scarlett 2i2 3rd gen plays/records distorted audio #7

Closed Boudin closed 7 months ago

Boudin commented 8 months ago

I have a Focusrite Scarlett 2i2 Gen 3 setup with pipewire, pipewire-alsa, pipewire-pulse, pipewire-jack and wireplumber. I notice that, randomly, the sound quality is really bad, exactly like the recording provided in the first bug linked bellow.

Doing a bit of research, I found that the issue was raised and troubleshooted first on Pipewire's bug tracker: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2995 I think this one is relevant as well: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2718

And subsequently raised as a bug On Linux's bug tracker: https://bugzilla.kernel.org/show_bug.cgi?id=216976

I don't have much more information to give myself, but since I saw in my kernel logs that bugs should be raised here and I couldn't find a reference to this issue, I'm adding it here.

geoffreybennett commented 8 months ago

Hi @Boudin,

The mixer driver shouldn't be causing you audio issues, but let's try narrowing down the problem a bit. Can you let me know:

Thanks, Geoffrey.

Boudin commented 8 months ago

I do have a 2i2, I lazily copied the title from the bug report I mentioned... I updated the title to remove confusion.

Jorropo commented 7 months ago
> cat /etc/lsb-release
DISTRIB_ID="Arch"
DISTRIB_RELEASE="rolling"
DISTRIB_DESCRIPTION="Arch Linux"
> uname -r
6.8.5-arch1-1
> doas dmesg | grep -A 5 -B 5 -i focusrite
[   79.279045] rfkill: input handler disabled
[ 7924.295285] usb 1-8: new high-speed USB device number 5 using xhci_hcd
[ 7924.460161] usb 1-8: New USB device found, idVendor=1235, idProduct=8210, bcdDevice= 5.ff
[ 7924.460171] usb 1-8: New USB device strings: Mfr=1, Product=3, SerialNumber=2
[ 7924.460175] usb 1-8: Product: Scarlett 2i2 USB
[ 7924.460179] usb 1-8: Manufacturer: Focusrite
[ 7924.460183] usb 1-8: SerialNumber: Y8XU9R32745355
[ 7924.499911] mc: Linux media interface: v0.10
[ 7924.971144] usb 1-8: Focusrite Scarlett Gen 3 Mixer Driver enabled (pid=0x8210); report any issues to https://github.com/geoffreybennett/scarlett-gen2/issues
[ 7924.987138] usb 1-8: Firmware version 1535
[ 7925.060429] usbcore: registered new interface driver snd-usb-audio
[ 8459.490376] usb 1-8: USB disconnect, device number 5
[ 8464.600959] usb 1-8: 2:1: usb_set_interface failed (-110)

Hey I got same issue system wide (recording on the scarlett would distord intel gpu display port audio output). In the process of trying the suggested config I upgraded from pipewire-media-session to wireplumber but then I couldn't play any audio at all. Thx to lsofing the gpu's dev nodes I figured out I still had pulseaudio in parallel with pipewire, I replaced it with the pipewire-pulse and everything* works fine now (no config change needed). For completion sake I also checked my original pipewire-media-session without pulseaudio and it also works perfectly fine now.

*nothing works if I install pipewire-alsa shims but I don't care so I don't install it.


TL;DR: Had pulseaudio and pipewire running in parallel, was not aware of that. Removing pulseaudio and replacing it with pipewire's pulseaudio shims fixed audio distortion.


Thx for accidently solving my problem. :heart:

Boudin commented 7 months ago

I've been running my system without the workaround of setting the probe rate but haven't been able to reproduce the issue since.

At the rate it was happening, it should definitely have happened by now, so I think it must have been addressed upstream. As I'm on a rolling distro, I did get a few kernel and pipewire updates. My current kernel is '6.8.7-zen1-1-zen', I didn't keep track of pipewire versions though.

I'll set this issue as closed.