Focusrite Scarlett Gen 3 4i4 (and others)

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

Moderators: khz, MattKingUSA

User avatar
sadko4u
Established Member
Posts: 824
Joined: Mon Sep 28, 2015 9:03 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by sadko4u »

I've done set of changes to the Gen3 driver which significantly improves the work of the driver. Here's pull request to @geoffrey's repository:
https://github.com/geoffreybennett/scarlett-gen2/pull/1

Here's the full description:
This set of patches enhances support of Focusrite Scarlett 18i20 Gen3 and other Gen3 devices.

The list of changes:
* Fixed bug that moved clients (like alsamixer) into infinite loop when changing any control in the UI.
* Added proper INST button controlling and synchronization with audio device.
* Added proper PAD button controlling and synchronization with audio device.
* Added software 48V phantom power switching support.
* Implemented proper ALT button synchronization with audio device.
* Implemented TALKBACK button support and synchronization with device.
* Added myself to the list of authors.

So there are no buttons left on the 18i20 device (except power button) that can not be enabled by software. Also software now properly handles all manual button presses and triggers client mixer software to update.
LSP (Linux Studio Plugins) Developer and Maintainer.

User avatar
sadko4u
Established Member
Posts: 824
Joined: Mon Sep 28, 2015 9:03 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by sadko4u »

There is a change coming to Scarlett 18i20 driver which will allow to load the state of internal mixer!

But to test the compatibility with other devices, I need help from people who have their other gen3 devices and some time to compile kernel module or take the USB protocol dump from Windows.
This is important since I really need these dumps.
LSP (Linux Studio Plugins) Developer and Maintainer.

DneieSVb
Established Member
Posts: 5
Joined: Mon Sep 07, 2020 8:29 am

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by DneieSVb »

sadko4u wrote:
Mon Oct 05, 2020 11:29 pm
I've done set of changes to the Gen3 driver which significantly improves the work of the driver. Here's pull request to @geoffrey's repository:
https://github.com/geoffreybennett/scarlett-gen2/pull/1

Here's the full description:
This set of patches enhances support of Focusrite Scarlett 18i20 Gen3 and other Gen3 devices.

The list of changes:
* Fixed bug that moved clients (like alsamixer) into infinite loop when changing any control in the UI.
* Added proper INST button controlling and synchronization with audio device.
* Added proper PAD button controlling and synchronization with audio device.
* Added software 48V phantom power switching support.
* Implemented proper ALT button synchronization with audio device.
* Implemented TALKBACK button support and synchronization with device.
* Added myself to the list of authors.

So there are no buttons left on the 18i20 device (except power button) that can not be enabled by software. Also software now properly handles all manual button presses and triggers client mixer software to update.
Hi,
sounds very interesting! I'll test it as soon as possible, but I "only" have the 18i20.

Does it include this patch? viewtopic.php?p=122852#p122852
I compiled my current kernel from @geoffrey repo and included the mentioned patch. I have access to the mixer and no crackling which is present without the patch.

User avatar
sadko4u
Established Member
Posts: 824
Joined: Mon Sep 28, 2015 9:03 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by sadko4u »

DneieSVb wrote:
Mon Oct 12, 2020 5:46 am
Hi,
sounds very interesting! I'll test it as soon as possible, but I "only" have the 18i20.

Does it include this patch? viewtopic.php?p=122852#p122852
I compiled my current kernel from @geoffrey repo and included the mentioned patch. I have access to the mixer and no crackling which is present without the patch.
Added the patch to the Pull Request branch:
https://github.com/sadko4u/scarlett-gen ... 630c19e84f

The work is still in progress, probably I'll get the mixer save/restore solution within few days.
LSP (Linux Studio Plugins) Developer and Maintainer.

Ben Tyson
Established Member
Posts: 7
Joined: Sat Mar 21, 2020 1:13 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by Ben Tyson »

Hi folks

I just got a Gen 3 8i6, I'm keen to help if I can. I have basically no experience with development etc so I would need instructions but I'd like to do something to help if I can!

I'm running Ubuntu Studio 20.04, with the usual low latency 5.4.0-52 kernel it worked out of the box (once I'd plugged it into a Windows machine to take it out of MSD mode and set up the routing. To get it to work with Jack I had to set the nperiods to 3, and I did get some weird little clusters of xruns, seemingly at random times, a few dozen appearing rapidly over a few seconds.
I wanted to access the internal mixer and hoped that the kernel with the drivers might help with the xrun clusters, so I went to Geoffrey's GitHub and got the latest version. I've never built anything from source (recent convert from Windows and the only coding I've ever done was a few scientific programming courses at uni) so I used the .deb files. They didn't seem to work at first and it took me a while to work out that I needed to add a custom entry in my grub bootloader. Once I'd worked out how to do that, however, and put the necessary line in the scarlett.conf file, everything's working pretty nicely. I did still notice a few clusters of xruns but there seemed to be fewer.

So yeah, if there's anything I can do to provide useful info I'm happy to, if someone wants to tell me how!
Massive thanks to Geoffrey and everyone else working on this, y'all are inspiring.

User avatar
sadko4u
Established Member
Posts: 824
Joined: Mon Sep 28, 2015 9:03 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by sadko4u »

Ben Tyson wrote:
Thu Oct 29, 2020 8:45 pm
Hi folks

I just got a Gen 3 8i6, I'm keen to help if I can. I have basically no experience with development etc so I would need instructions but I'd like to do something to help if I can!

So yeah, if there's anything I can do to provide useful info I'm happy to, if someone wants to tell me how!
Massive thanks to Geoffrey and everyone else working on this, y'all are inspiring.
Hello! The latest driver you can get from my fork of @geoffrey's repository:
https://github.com/sadko4u/focusrite-scarlett-backports

There is also a patch to some linux kerenels with latest drivers and instruction how to install it:
https://github.com/sadko4u/focusrite-scarlett-backports
LSP (Linux Studio Plugins) Developer and Maintainer.

Ben Tyson
Established Member
Posts: 7
Joined: Sat Mar 21, 2020 1:13 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by Ben Tyson »

Just came back to add to my previous post that when playing audio from Firefox while running Jack I'm getting a second or so of dropout accompanied by constant xruns during the dropout every few minutes. When I'm not using Jack, it doesn't appear to be happening.

Cheers sadko4u! As I've never done any patching or compiling before I'm a bit hesitant to jump right in. The instructions in your readme look pretty adjacent to what I'm familiar with in Ubuntu, and I think I know my system well enough to replace any filepaths that would be different. If I follow those instructions with the mainline 5.9.0 kernel and use the vanilla Linux patch from your fork, will that work?

Ben Tyson
Established Member
Posts: 7
Joined: Sat Mar 21, 2020 1:13 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by Ben Tyson »

I decided to have a crack at compiling with the patch anyway, booted up fine and stuff was generally working as far as I could tell. Attempting to restore my saved mixer setup didn't work and the mixer looked different (two sliders on each channel, one blue and one red, with the red one moving as well when you move the corresponding blue one, and also some different labelling on the drop-down routing options). I also still seem to be getting the same dropping out with clusters of xruns at about the same rate while Jack is running.

Edit: I've also now recompiled Geoffrey's 5.8.8s1+ kernel with the anti-crackling patch from the 18i20 thread and that seems to have sorted out the xruns!

Let me know if there's any more info I can provide.

kahles
Established Member
Posts: 3
Joined: Wed Nov 04, 2020 12:16 am

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by kahles »

Hello *,

I couldn't test these fixes on my 18i20 yet, but on my 8i6, so I write here:

First of all: THANK YOU VERY MUCH FOR YOUR GREAT WORK!!! Finally I'm able to listen to music during work without crackles, since I had to replace my old Saffire.
And yes, the crackle patch seems to break full duplex - but this isn't so important for me :wink:

FYI: I use Linux Mint 20, applied @geoffrey's and @puleglot's patches to the ubuntu kernel I used before:
git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git (tag: Ubuntu-hwe-5.8-5.8.0-25.26_20.04.1)

Next, I'm about to test @sadko4u's improvements ...
Last edited by kahles on Thu Nov 05, 2020 10:43 am, edited 1 time in total.

kahles
Established Member
Posts: 3
Joined: Wed Nov 04, 2020 12:16 am

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by kahles »

kahles wrote:
Thu Nov 05, 2020 10:32 am
And yes, the crackle patch seems to break full duplex - but this isn't so important for me :wink:
... partially, as I found out:
  • using Audacity and selecting the interface explicitly via ALSA, playback and recording at the same time is possible.
  • Hangouts or MS Teams calls don't work - no sound at all, and afterwards I have to kill the pulse audio daemon to have sound again
kahles wrote:
Thu Nov 05, 2020 10:32 am
Next, I'm about to test @sadko4u's improvements ...
Works mostly, but I'm not able to map the "Analogue *"-inputs to PCM * input channels, because the PCM channels aren't displayed in alsamixer's inputs section.

User avatar
sadko4u
Established Member
Posts: 824
Joined: Mon Sep 28, 2015 9:03 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by sadko4u »

kahles wrote:
Thu Nov 05, 2020 5:14 pm
Works mostly, but I'm not able to map the "Analogue *"-inputs to PCM * input channels, because the PCM channels aren't displayed in alsamixer's inputs section.
Could you please communicate with me to run debug version of driver with a lot of dmesg to get more proper protocol traces from your device?
LSP (Linux Studio Plugins) Developer and Maintainer.

kahles
Established Member
Posts: 3
Joined: Wed Nov 04, 2020 12:16 am

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by kahles »

Short update here:
I communicated with @sadko4u and now my 8i6 works fine - except full duplex via pulse audio, but that might have some other reason.
Here is the actual PR/thread containing the latest fixes: https://github.com/geoffreybennett/scar ... n2/pull/1#

bronekk
Posts: 1
Joined: Thu Nov 26, 2020 9:43 am

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by bronekk »

Many thanks @geoffrey and @sadko4u for your work!

Do you have plans to make this a pull request to upstream kernel?

Tarrasque
Established Member
Posts: 47
Joined: Thu Nov 04, 2010 12:43 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by Tarrasque »

Hi all.

I'm considering buying a new Scarlett card to replace my current, basically because my 2nd gen 2i2 lacks MIDI inputs.

Candidates would be 3rd gen 4i4 or 8i6. I'd prefer the 8i6 because of the higher number of inputs/outputs, but from what I'm reading here it seems that that particular model still has issues on linux.

I'm not an expert. I just know the basics to be able to work with audio, KXStudio and Reaper. I'd like if possible the least complicated way to replace my card which except for MIDI works flawlessly.

Would you recommend me to stick to a 3rd gen 4i2 or even a 2nd gen Scarlett?

User avatar
sadko4u
Established Member
Posts: 824
Joined: Mon Sep 28, 2015 9:03 pm

Re: Focusrite Scarlett Gen 3 4i4 (and others)

Post by sadko4u »

bronekk wrote:
Thu Nov 26, 2020 12:12 pm
Many thanks @geoffrey and @sadko4u for your work!

Do you have plans to make this a pull request to upstream kernel?
Yes but there are still things need to be done related to the driver. After that, we can ship this driver to upstream.
LSP (Linux Studio Plugins) Developer and Maintainer.

Post Reply