Based on this Blog: http://sergey.vlasov.me/2012/09/using-focusrite-scarlett-18i6-in-linux.html
I’ve just did the build of Alsa 1.0.25 modified as in the blog and the interface now works not only as a standard soundcard but also works great on Jack and thus Ardour.
Switching the pres from Mic/Line to Instrument however is not possible under Linux, only Windows, but as the interface is designed to work standalone also it can be programmed as a workaround to set Pre 1 to Instrument and Pre 2 to Mic/Line.
I just thought it is good info to share, there can be a few users who can make good use of its 18 USB 2.0 inputs + Midi and near zero latency monitoring on Linux.
Thanks to Sergey Vlasov for sharing the information on his blog.
Interesting, that suggests that only the control protocol needs to be implemented to get it working. Would be worth it if someone knows a good USB audio dev to have them reach out to Focusrite and see if they will provide specs, as they have worked well with the FFADO team in the past is my understanding.
My Linux kernel patch, to get the driver to setup the audio/MIDI interfaces and ignore the mixer(s), has been merged by Linus (with a stack of other ALSA changes intended for Linux 3.8):
Unless something unexpected happens, it will be in Linux 3.8.
So the next part of the plan is to: (1) try to get the mixer working; and (2) get things like the instrument/line switch supported in a userspace drive. Spare time hasn’t suddenly materialised, so I’ll see how I go…
I’m using a Scarlett 18i6 under Linux (with JACK and Ardour). It works fine, sans mixer. With my old PCI sound card I only ever set the mixer once and then never touched it, so I don’t see a huge problem…
I’ve submitted a patch for the ALSA USB driver to get it to ignore the mixer interface and another interface that I don’t understand. The patch has been merged, so I guess that means it might be in Linux 3.8 - I’m unsure of the ALSA development model. Details here:
I’ve also had minor discussions with a Focusrite developer - they seem friendly. The initial discussion was about the line/instrument selection for the front 2 inputs. I’m hoping to write a userspace USB driver to be able to tweak some of the settings. Discussion here:
That said, I have very little spare time and no USB programming experience. I’ve written an initial Python script that doesn’t do the required initialisation, so it currently fails. So I wouldn’t suggest that anyone buys a Scarlett 18i6 with the hope that they’ll be able to make use of features using a driver that I’m planning to write! That said, I’ll try to get back to it some time soon…
For now, I’ve taken the 18i6 to a friend who runs MacOS and have both of the front inputs set to “instrument”, so that I can just walk in and plug in a guitar or 2. Given that there are 6 line inputs on the back, that doesn’t seem terribly restrictive…
Do you have any knowledge, or hardware to test if the Focusrite works on Intel Ivy Bridge USB 3.0 ports? I know the Presonus AudioBox stuff does not, meaning I can’t use my laptop. I have heard at least on non-linux platforms that the Focusrite stuff does.
If it does this would mean that my USB 3.0 only laptop would actually have an option for hardware that could work.
That is awesome! I have a PreSonus FS Project and although FFADO partially supports that, I have yet to find a Firewire ExpressCard that works with Linux and my audio interface. I might try to sell it and get this
these are very very good news, i would love to use USB instead of Firewire… my 18i6 hangs out fine but i hope to see some actual testing on stability for usb 2 for these new units at some point. that´d be fine.
Scarlett 18i6 - Next milestone taken
A fully featured ALSA mixer interface is prototyped at
git clone -b s18i6 git://github.com/x42/alsa-driver.git
sudo make install && alsa force-reload
That’s great to hear that!
Fire-Wire vs. USB 2.0
" …a few users who can make good use of its 18 USB 2.0 inputs + Midi and near zero latency monitoring on Linux."
Does anyone know how big difference there is comparing USB 2.0 with Fire-Wire with respect to latency?
(preferably in numbers, %)
Well dang, nice work. I have a few scarlett’s hanging around at my work (4 of them I think in fact) so I will ahve to give that a run through with them to see if it works with other interfaces sometime.
Scarlett 18i6 mixer support
I’ve reverse engineered the mixer-protocol and came up with a script to reconfigure the device under GNU/Linux.
While the complete protocol (mixer, routing, clock-source, impedance switch, peak-monitoring) is supported and documented in the source: https://github.com/x42/scarlettmixer
This is currently just a proof-of-concept and not a versatile mixer utility. More work is needed to integrate it into ALSA and come up with a commanline mixer-app and a GUI (compare to hdspmixer, hdspconf).
While reverse-engineering the 18i6 protocol I’ve seen the scarlett-mixer app send various initialization commands not relevant for the device (eg. reset gain for non-existent output channels). It appears the same mixer app is ready for the the 18i20 and hence the same Linux driver will also work with only minor modifications.
It is likely very similar, so a good chance that if someone knows what they are doing they could get it to work, but no promises.
Do you guys know how similar the 18i20 is? Would the 18i20 be able to get support easily? Somebody was complaining about the lack of a Linux driver for it on Youtube: http://www.youtube.com/watch?v=j23xIrX0TkU.
@x42: i’ve been trying to get the scarlett mixer working from your previous post, however i’m getting some “version H doesn’t exist” error while doing “./gitcompile”, suggestions? kernel is now 3.8.0-20, sorry if its off topic!
I got my Scarlett 18i20 working on Linux this weekend. I get all system sounds as well as jack connection. All works fine. I can see the latency in the Jack configuration which is 2ms. I think that would be too optimistic but I am not too concerned about latency at the moment. The mixer from x42 is failing to compile with the same error that fernesto’s getting at the moment. I will look into this later (one thing at the time).
I have another question though: I am running Pulse server for all the regular sounds. I could use the pulseaudio-module-jack to run everything through Scarlett. I am wandering though. What would be the best configuration? Should I keep the on board sound-card (disabled at the moment) and dedicate that to system sounds and have Scarlett serve only Ardour through Jack? Or is it better to use Scarlett for everything?
With my rough knowledge of how system works I would say it would be better not to push any more through USB than necessary.
I should try the script for SCM on my Scarllet 8i6… can i directly use it? or should i do some hacks?
I tried to build custom alsa driver but kept getting build errors. I ended up installing Kernel 3.9 and everything works out of the box (sans mixer). You can still boot into your old Kernel if the new one does not work out so it’s worth testing. It was the easiest thing to do. If I can’t get the mixer working I’ll just set up the system in windows and save settings to the machine. Advantage of doing that is also that windows mixer will check the firmware for you and upgrade if necessary.
does this patch supports 8i6 also? i was eagerly waiting for the alsa mixer for the 0 latency routing. since which version this is available in kernel?