Scarlett 18i20 gen 3 Linux - Crackling Audio

Talk about your MIDI interfaces, microphones, keyboards...

Moderators: MattKingUSA, khz

puleglot
Established Member
Posts: 135
Joined: Thu Jan 23, 2020 3:14 pm
Has thanked: 3 times
Been thanked: 13 times

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by puleglot »

argh1969 wrote: Thu Apr 16, 2020 6:44 pm So glad I found this ! Thanks so much to all those involved. Any chance we can get these patches:

1. Into github for easy access.
2. Into the mainstream Linux kernel.
3. To include USB ID 1235:8213 - Focusrite Scarlett 8i6 (3rd Gen).
1. I feel uncomfortable to upstream these patches until implicit feedback support is fixed in the driver. When I did this for MOTU M2/M4, several people wrote me that I broke full duplex support.
2. Ideally implicit feedback endpoint should be autodetected, so no quirks for specific devices would be needed in the driver. I already implemented a simplified approach for this. But I need lsusb -v output for 18i8 3rd Gen, because there are chances that this device is special and I need to rework my patches.
User avatar
skobkin
Established Member
Posts: 12
Joined: Mon Apr 13, 2020 6:58 pm
Location: Arkhangelsk, Russia
Been thanked: 1 time
Contact:

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by skobkin »

puleglot wrote: Fri Apr 17, 2020 10:25 am I've improved debug output. Could you try the new patch?

Code: Select all

Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:1 : max rate validation failed: 33629200 / 2012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:2 : max rate validation failed: 16909321 / 1020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 1:3 : max rate validation failed: 33686537 / 2020409
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:1 : max rate validation failed: 369173520 / 16012410
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:2 : max rate validation failed: 58918151 / 3830507
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
Apr 17 22:13:13 skobkin-pc kernel: usb 5-2: 2:3 : max rate validation failed: 151912962 / 90e0202
argh1969 wrote: Thu Apr 16, 2020 6:44 pm Any chance we can get these patches:
1. Into github for easy access.
These patches are potentially dangerous. There is no point in publishing them on github until they're thoroughly tested. And even then it's probably better to send them to the LKML to schedule merge to the upstream.
puleglot
Established Member
Posts: 135
Joined: Thu Jan 23, 2020 3:14 pm
Has thanked: 3 times
Been thanked: 13 times

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by puleglot »

argh1969 wrote: Thu Apr 16, 2020 6:44 pm 3. To include USB ID 1235:8213 - Focusrite Scarlett 8i6 (3rd Gen).
I've attached updated patch.
Attachments
scarlett_gen3_implicit_fb.txt
Scarlett 3rd Gen implicit feedback quirk
(1.11 KiB) Downloaded 154 times
User avatar
lilith
Established Member
Posts: 1698
Joined: Fri May 27, 2016 11:41 pm
Location: bLACK fOREST
Has thanked: 117 times
Been thanked: 57 times
Contact:

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by lilith »

Sorry for spamming. I think I have a similar issue (zoom r8 in this case). Is it possible that it occurs only with Jack and not with Alsa and even depends on the used DAW?
puleglot
Established Member
Posts: 135
Joined: Thu Jan 23, 2020 3:14 pm
Has thanked: 3 times
Been thanked: 13 times

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by puleglot »

lilith wrote: Sat Apr 18, 2020 12:02 am Sorry for spamming. I think I have a similar issue (zoom r8 in this case).
Zoom R8 have adaptive endpoints for playback and capture, so you definitely have a different issue.
I found lsusb -v output here:
viewtopic.php?p=100787#p100787
User avatar
lilith
Established Member
Posts: 1698
Joined: Fri May 27, 2016 11:41 pm
Location: bLACK fOREST
Has thanked: 117 times
Been thanked: 57 times
Contact:

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by lilith »

puleglot wrote: Sat Apr 18, 2020 12:47 am
lilith wrote: Sat Apr 18, 2020 12:02 am Sorry for spamming. I think I have a similar issue (zoom r8 in this case).
Zoom R8 have adaptive endpoints for playback and capture, so you definitely have a different issue.
I found lsusb -v output here:
viewtopic.php?p=100787#p100787
Hi, thanks for responing. Yes, that was me one year ago. I described the actual issue here: viewtopic.php?f=27&t=21314

I checked lsusb -v once again and compared to last year I have " Synch Type Synchronous" instead of "Synch Type Adaptive" with the Zoom R8. Maybe that 's a hint? On the other hand side I cannot guarantee that the issue is new.
puleglot
Established Member
Posts: 135
Joined: Thu Jan 23, 2020 3:14 pm
Has thanked: 3 times
Been thanked: 13 times

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by puleglot »

@lilith lets move this discussion in the linked thread. :)
argh1969
Posts: 2
Joined: Thu Apr 16, 2020 6:39 pm

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by argh1969 »

puleglot wrote: Fri Apr 17, 2020 11:58 pm
argh1969 wrote: Thu Apr 16, 2020 6:44 pm 3. To include USB ID 1235:8213 - Focusrite Scarlett 8i6 (3rd Gen).
I've attached updated patch.
Got it. Compiled against 5.6.5, Seems to be working thus far:

Code: Select all

$ cat /proc/asound/USB/stream0
Focusrite Scarlett 8i6 USB at usb-0000:00:1d.7-5, high speed : USB Audio

Playback:
  Status: Running
    Interface = 1
    Altset = 1
    Packet Size = 432
    Momentary freq = 96000 Hz (0xc.0000)
  Interface 1
    Altset 1
    Format: S32_LE
    Channels: 6
    Endpoint: 1 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24

Capture:
  Status: Running
    Interface = 2
    Altset = 1
    Packet Size = 720
    Momentary freq = 96000 Hz (0xc.0000)
  Interface 2
    Altset 1
    Format: S32_LE
    Channels: 10
    Endpoint: 1 IN (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
    Bits: 24

lapsio
Established Member
Posts: 39
Joined: Thu Sep 01, 2016 7:34 am

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by lapsio »

skobkin wrote: Thu Apr 16, 2020 12:26 pm
puleglot wrote: Thu Apr 16, 2020 12:18 pm Note that full duplex mode will work only with jack due to some limitations in the driver.
So if I'm using PulseAudio right now there is nothing for me to improve in the current situation by these patches?

I was planning to check if wiring PulseAudio through Jack would work but hadn't much time to properly research it.

P.S. I can still check if these patches solve crackling for me.
But unfortunately I couldn't use them on a daily basis at least until I move to Jack+PulseAudio or until USB Audio driver is fixed in the kernel (which is not going to be soon as far as I understand).

Thanks for the info anyway!
idk if you had time to test it but in case not - yes, those patches do work for PulseAudio duplex if you wire it using pulseaudio jack-sink/source. I'm using such setup for years and it does still work with those 18i20 g3 patches on my machines, nothing changed.
zinigor
Established Member
Posts: 3
Joined: Wed Apr 29, 2020 4:43 pm

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by zinigor »

First of all, gotta say, thanks for the patch - the crackling audio problem has been gone, the interface works properly now, the sound is amazing. But there's a problem that has started coming up several days ago.

I'm using the patch on a git checkout of 5.6.10-xanmod1 tag (https://github.com/xanmod/linux/release ... 10-xanmod1), with some device modules removed from the config. And every once in a while the device would get "stuck", any process trying to play sound would just pause, like it can't get audio frames out. Switching the device off and on works sometimes, sometimes it doesn't. I'd really appreciate if y'all could take a look at the dmesg logs and tell me if you think this is related to the patch or not:

Code: Select all

[21563.689549] usb 5-1.1: USB disconnect, device number 9
[21564.203057] usb 5-1.6: reset high-speed USB device number 6 using xhci_hcd
[21588.218243] usb 5-1.1: new high-speed USB device number 10 using xhci_hcd
[21588.317572] usb 5-1.1: New USB device found, idVendor=1235, idProduct=8212, bcdDevice= 6.45
[21588.317577] usb 5-1.1: New USB device strings: Mfr=1, Product=3, SerialNumber=2
[21588.317581] usb 5-1.1: Product: Scarlett 4i4 USB
[21588.317584] usb 5-1.1: Manufacturer: Focusrite
[21588.317587] usb 5-1.1: SerialNumber: D8GW3HG97074AB
[21588.496765] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.497179] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.497578] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.498118] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.498706] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.502173] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.502756] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.503352] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.503818] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.504305] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.507197] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.507724] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.508173] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.508740] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.509289] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.512487] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.513179] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.513834] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.514492] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.515048] usb 5-1.1: Unable to change format on ep #81: already in use
[21588.533786] xhci_hcd 0000:0a:00.0: WARN Event TRB for slot 5 ep 2 with no TDs queued?
[21588.546632] xhci_hcd 0000:0a:00.0: WARN Event TRB for slot 5 ep 2 with no TDs queued?
[21588.559008] xhci_hcd 0000:0a:00.0: WARN Event TRB for slot 5 ep 2 with no TDs queued?
[21588.571697] xhci_hcd 0000:0a:00.0: WARN Event TRB for slot 5 ep 2 with no TDs queued?
That happens after a reconnect ^. The "Event TRB for slot 5 ep 2" floods the log afterwards.
puleglot
Established Member
Posts: 135
Joined: Thu Jan 23, 2020 3:14 pm
Has thanked: 3 times
Been thanked: 13 times

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by puleglot »

These errors: "Unable to change format on ep ..." should be fixed by the following patch:
https://git.kernel.org/pub/scm/linux/ke ... 80c63bf77f
But it is not fixing all the problems with implicit feedback AFAIS.
puleglot
Established Member
Posts: 135
Joined: Thu Jan 23, 2020 3:14 pm
Has thanked: 3 times
Been thanked: 13 times

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by puleglot »

Updated patch. Added Scarlett 18i8 3rd Gen. Also slightly changed the way to get altsetting.
Attachments
scarlett_gen3_implicit_fb.txt
(1.21 KiB) Downloaded 133 times
alex
Established Member
Posts: 7
Joined: Fri May 08, 2020 5:13 am

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by alex »

puleglot wrote: Sun Mar 15, 2020 10:58 pm
lapsio wrote: Sun Mar 15, 2020 6:36 pm EDIT:
`/usr/src/linux-x.x.x/sound/usb/pcm.c` file on my desktop from kernel 4.6 looks significantly different and path is not applicable directly. However I found pcm.c file on my laptop (kernel 5.3.7) to be similar so I applied source patch here.
The 4.6 kernel is pretty old and the code in set_sync_ep_implicit_fb_quirk() was reorganized since then. So it is better to try 5.4 or newer, but 5.3 should be also fine I guess.
lapsio wrote: Sun Mar 15, 2020 6:36 pm Can I compile this module now in some relatively automated way? I mean I'd like to preserve as many settings as possible in order to not break something else in system.
To preserve configuration of the running kernel:
# cd /usr/src/linux-x.x.x/
# zcat /proc/config.gz > .config
# make oldconfig
I'm running Ubuntu Studio 20.04 and it looks like I've only got the headers source. I'm having no luck with #apt install linux-$(uname -r). Would unpacking release v5.4 directly into /usr/src do the trick, or is there a better route?
Last edited by alex on Wed May 27, 2020 4:44 am, edited 1 time in total.
Martin79
Posts: 1
Joined: Mon May 25, 2020 6:15 am

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by Martin79 »

triiif wrote: Wed Mar 25, 2020 10:41 pm
puleglot wrote: Mon Mar 23, 2020 7:42 am OK, that should at least not crash the kernel:

Code: Select all

diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index bd258f1ec2dd..4f6709dc8b9f 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -365,6 +365,10 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
 		ep = 0x81;
 		ifnum = 2;
 		goto add_sync_ep_from_ifnum;
+	case USB_ID(0x1235, 0x8215): /* Focusrite Scarlett 18i20 3rd Gen */
+		ep = 0x81;
+		ifnum = 2;
+		goto add_sync_ep_from_ifnum;
 	case USB_ID(0x0582, 0x01d8): /* BOSS Katana */
 		/* BOSS Katana amplifiers do not need quirks */
 		return 0;
@@ -387,10 +391,11 @@ static int set_sync_ep_implicit_fb_quirk(struct snd_usb_substream *subs,
 add_sync_ep_from_ifnum:
 	iface = usb_ifnum_to_if(dev, ifnum);
 
-	if (!iface || iface->num_altsetting < 2)
+	if (!iface || subs->altset_idx == 0 ||
+	    subs->altset_idx >= iface->num_altsetting)
 		return -EINVAL;
 
-	alts = &iface->altsetting[1];
+	alts = &iface->altsetting[subs->altset_idx];
 
 add_sync_ep:
 	subs->sync_endpoint = snd_usb_add_endpoint(subs->stream->chip,
Hello i have applied this patch to a 5.5.11 , but tweaking the line
case USB_ID(0x1235, 0x8212): // focusrite 4i4 gen3
for the focusrite 4i4 gen3 and i can confirm it removes the cracks from Bitwig !! so happy :D thank you

48000Hz, 2048frames, 3buffer --> 128ms
if i lower the frames number, i can get cracks on complex songs.
now that it is solved, i saw also you mention complex edit to quirks-table.h . I would love to know if with the right edit, i could go lower in frames and get better latency. I tried one build to adapt to the 4i4 without knowing what i was doing :D so it failed ...

best regards
Hi, first post :-)

I Have a 4i4, too, and i would like to become happy like you.

I have no idea, what to do! Would you explain to me, step by step? I have a lenovo laptop, ubuntu studio 20.04. Do I have to build a kernel?
User avatar
skobkin
Established Member
Posts: 12
Joined: Mon Apr 13, 2020 6:58 pm
Location: Arkhangelsk, Russia
Been thanked: 1 time
Contact:

Re: Scarlett 18i20 gen 3 Linux - Crackling Audio

Post by skobkin »

@Martin79, @alex, this topic (and forum) is not about kernel building.
You should probably start with some docs about building the kernel in your distro. For example I've found some links in the Google ("ubuntu build kernel with patches"):

https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
https://help.ubuntu.com/community/Kernel/Compile
https://www.howtoforge.com/kernel_compilation_ubuntu

Just don't forget to apply the patch somewhere in between unpacking the sources and compiling them.

Also be sure that you know what you're doing and read notes from these links. Especially this:
Reasons for NOT compiling a custom kernel
  • You merely need to compile a special driver. For this, you only need to install the linux-headers packages.
  • You have no idea what you are doing, and if you break something, you'll need help fixing it. Depending on what you do wrong, you might end up having to reinstall your system from scratch.
  • You got to this page by mistake, and checked it out because it looked interesting, but you don't really want to learn a lot about kernels.
P.S. Also make sure that you understand the basics about how bootloader works. In different cases you may or may not need an initramfs and additional bootloader (Grub, rEFInd, systemd-boot) configuration.
Post Reply