@mayeulk. I have been using one for about 6 months now on AVLinux with no problem. It is class compliant so it doesn’t need any drivers installing. It just works.
The 18i8 has it’s own internal monitoring mixer so that live input can be routed directly to its outputs for latency free monitoring. The configuring of this mixer is done by software which is not available for linux. I couldn’t get it working under wine either.
What I did was borrow a windows machine, set up the monitor mix as I wanted and the 18i8 remembers it’s config so there’s no need to keep going back to it when it’s plugged back into Linux.
If you use JACK then you can connect ins and outs via jack patch-bay thereby making the software redundant. I will test this next time I’m in the studio.
Hallo- has anyone tried to connect a facusrite octopre with Scarlett 18i8 for getting another 8 ins more? I’d just tried to get jack working with this hardware configuration but I can’t get the 8ins of the Octopre to run with jack/ alsa. Using windows I made the Configuration and stored it in hardware. But when I switch to Linux (debian) I can only find the original 18 channels from the scarlett.
The alsa-mixer interface is indeed just a low-level interface and for complex mixer-interfaces like the Scarlett-series a dedicated GUI is needed.
I did hack a GUI a while ago, but hardcoded for the 18i6. I am in the same boat as tartina: Works for me, but making it works for others will be a time-consuming part and time is scarce.
I’ve just pushed the source to http://gareus.org/gitweb/?p=scarlett-mixer.git – looks like http://robin.linuxaudio.org/tmp/scarlett-mixer-gui.png
If you connect the Octopre using ADAT cable (TOSLINK), you should get the 8 ins as ADAT channels, so 8 channels of the 18 inputs are now the Octopre inputs. You don’t get 8 extra inputs, they are already in the 18i8.
Sorry for my bad explanation…
@bassmix, starting from kernel 3.18 (or maybe 3.19) you can control the scarlett mixer from amixer, thanks to Robin Gareus’ work on the scarlett mixer driver. There is no graphical app to control it, I was trying to make one, but my spare time is very little at this moment. I’m succesfully controlling my 18i20 from amixer, I have to admit it’s not very comfortable, but it works.
@tartina: Yes you are right- I’ve found it already shown in the manual. Sometimes better read it!? Have you any further experience with the scarlett 18i8? I have not get any comfortable mixer to work with this interface. Only the alsa mixer shows the controls of the scarlett in a rudimentary way. Any idea? What I’ve tried to install on a Debian system is the alsajson mixer, but I have got problems to compile it! (could not find alsa?! while compiling the gateway)
I usually use amixer, it works, it’s not user friendly. I started to write a graphical application to control the scarletts, but my spare time is low now, and I’m spending too much time parsing the output of alsalib (which is not very easy to use). I haven’t published the source in github yet, because it really does nothing, but if someone could help I will…
Robin - That mixer interface looks great. How hard do you think it would be to modify to work for the 18i20?
Thanks!
@scherbi - Part of the source is parametrized (replace some “6” with “8” or “20”) and update the “Mapping” (the control-IDs are currently hardcoded in src/scarlett_mixer.c line 250… 321)
Making it work for some single other system is probably easy, but turning it into a general purpose tool (find device, detect device type, support all Scarlett NN i MM variants) needs some significant rework.
PS. I’ve just mirrored it on https://github.com/x42/scarlett-mixer
Thanks! I’m attempting a version in Python as well. My 18i20 is out for repair now though (lost 2 preamps; repair covered under Sweetwater warranty).
For my 18i8 I’ve found QasMixer to be slightly more usable than the plain AlsaMixer. It’s still generic of course. Robin’s attempt looks great.
Mirko
I use a Scarlett 18i8 1st generation with a OctoPre MK II for mobile recording with kxStudio 18.04. It works very well, except for one issue: The driver comes up with weird mixer states that do not reflect the actual mixer state in the device. I filed this as a bug here: https://bugzilla.kernel.org/show_bug.cgi?id=203089
Robin’s Scarlett Mixer is of great value to me. I even could use the 18i8 as a little monitor mixer!
I really enjoy the audio quality of the 18i8, which I bought used. Good value for the price this way. Now mixing down an EP that was recorded with a 6-piece band and this setup.
For 1st and 2nd generation it is not possible to read the current mixer settings from the device (I don’t know about 3rd gen). Drivers on other platform push the last used state to the device every time it is connected.
alsactrl can do the same on GNU/Linux. Check if you have /etc/init.d/alsa-utils (from alsa-utils) and if /var/lib/alsa/asound.state exists. Here, at one point the tool pushed state.usb from a Presonus AudioBox the Scarlett. That resulted in the device waking up with very strange settings. It nearly drove me mad to track this down and disable it. Maybe this is also the issue that you have?
PS. You can also store mixer settings on the device for standalone operation (there is a dedicated flash-mem for that). Those settings are set when the device is power-cycled. On Linux, there can still be a mismatch to mixer-display, if the driver or alsactrl doesn’t push the complete state to the device. But you can store sane defaults.
Sadly the switch to store data to the flash was hidden in the linux-kernel drivers [1]. Easiest is probably to use some other OS and Scarlett-mixer to save it once.
–
[1] The reason for this is that alsa-mixer has no “trigger/push” button, only toggle switches. The original driver saved current state to the flash on every toggle. kernel devs were worried that this may cause excessive writes, and wear out the flash.
Thanks for all those details, Robin.
I’m not sure about asound.state, but at least there hasn’t been an issue from that direction. However, the device is never plugged in on booting up the system, since I use it only in my mobile setup with the laptop (which virtually always is in sleep mode). So the init script most likely does not affect this.
I solved this by a shell script that uses alsactl. First it “initializes” the mixer by loading a certain preset different from the defaults, and then it loads values that make sense to me. (Basically it is a workaround for pushing the complete state to the device.)
After that, it starts scarlett-mixer, which I need anyways. I might change it so that it saves the current settings after scarlett-mixer has finished. Sounds like a good idea.
This is not perfect, but easy enough for my purposes. With this little workaround, I really can do neat recordings with this mobile setup.
Hello all,
Audio interface newbie here! I 'd like to ask the following question regarding the Scarlett 18i8 1st Gen:
When used as a plain USB sound card (eg, YouTube, media player, etc) have you ever experienced any issues with the sound (when switching from the onboard sound card of your PC to the audio interface) getting either high or low pitched (as if you play vinyl records in higher or slower speeds).
I get this behaviour sometimes with or without JACK being involved. I 'm on KDE Neon (Ubuntu LTS based distribution) using Pulseaudio.
Thanks for any response 
IIRC You can/have to set the sample rate of the device first, then set Jack to match that sample rate. Not sure about Pulse and how to do it there, but if it isn’t handling the correct sample rate that the device is set to, then that would be your issue.
I haven’t used it on Linux yet to know how to set the sample rate there in the mixer software that is available. I have one sitting around at the moment but no Linux machine to plug it into at this moment, sorry.
Seablade
Hi Seablade,
By doing some more reading my understanding is that Pulseaudio handles resampling. You can configure it so that the sound card follows the source’s sampling rate, but I haven’t tried that and it is suggested to better avoid it. I need to investigate this a bit more.
I 'd appreciate any other feedback from anyone on this matter. It’s really annoying 
Thanks
Funnily enough I just donated my Scarlet 18i8 today, so I no longer have access to double check, but I would suspect your problem lies in Pulseaudio based off your description. Most people would not have Pulse as the lowest layer on their audio totem pole, but instead have pulse feed into Jack or a similar situation, they just have very different goals in mind in terms of the needs of professional audio.
I 'd agree the problem seems to be Pulseaudio (maybe in combination with the Scarlett’s ALSA driver). I 've done a LOT of reading and testing today about this issue. I 've implemented a script which I control via systemd and things look much better now 
You are right that my goals are different compared to most of the people participating here, so pulseaudio is still meaningful for my setup. I 'm not a professional musician or sound/mixing/production engineer of any sorts (I 'm an IT/Linux guy by profession), but music is a great passion of mine.
I 've owned this Scarlett for quite a while now, but never really had the time to learn it and the coronavirus lockdowns helped in this respect. I 'm not sure if I 'll keep it (the Behringer UMC404HD or UMC1820 look very interesting), but for now I think I 'm all sorted with this interface, Pulseaudio as well as JACK (more or less they all play nicely together). I just need a pair of small monitor speakers (I 'm leaning towards the Fluid Audio F5) and I 'll be all good.
Tomorrow I 'll post what I did to make it work for my needs. Thanks for your feedback 
Well I said that I 'd provide details of my solution, but I failed to do so until now
Here they are (it’s for KDE Neon/Ubuntu, just adapt for your preferred Linux distribution/DE):
- Install the JACK pulseaudio module:
sudo apt-get install pulseaudio-module-jack
- Edit
/etc/pulse/default.pato include the folowing for JACK:
### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
#set-default-sink jack_out
.fail
.endif
(I think step 1 edits default.pa to include the above, but you can confirm)
and also make the audio interface the default when it’s turned on:
### Make some devices default
set-default-sink alsa_output.usb-Focusrite_Scarlett_18i8_USB_785502B1-00.analog-surround-71
- Implement the following script to bring the Scarlett to a known state (as unfortunately by default volume is muted for all the outputs, main as well as headphones, when turning on. I think it’s mentioned by one other member in one of the previous posts):
cat /etc/pulse/switch_soundcards.sh
#!/bin/bash
### Script to switch between the USB audio interface and the laptop's onboard sound card ###
### pacmd list cards
### pactl list short sinks
while true
do
### Switch to the USB audio interface once it is detected and disable the onboard sound card
while true
do cat /proc/asound/cards | grep Scarlett > /dev/null
if [[ `echo $?` == '0' ]]
then echo "Enabling USB audio interface"
sleep 1
# ./QjackCtrl.sh action=start
alsactl -f /etc/pulse/asound.state restore USB
# pacmd unload-module module-stream-restore
# pacmd load-module module-stream-restore restore_device=false
pulseaudio --kill
# pacmd set-card-profile alsa_card.pci-0000_00_1b.0 off
# pacmd set-default-sink jack_out
break
fi
sleep 1
done
### Switch to the onboard sound card once the USB audio interface gets disconnected/turned off
while true
do cat /proc/asound/cards | grep Scarlett > /dev/null
if [[ `echo $?` != '0' ]]
then echo "Enabling onboard soundcard"
# ./QjackCtrl.sh action=kill
# pulseaudio --kill
# pacmd set-card-profile alsa_card.pci-0000_00_1b.0 output:analog-stereo+input:analog-stereo
break
fi
sleep 1
done
done
- Enable pulseaudio to start as a service for your user (not necessary, but gives some flexibility):
systemctl --user enable pulseaudio
systemctl --user start pulseaudio
- Create a systemd service to call the script you put together in step 3:
cat /etc/systemd/user/soundcards.service
[Unit]
Description=Service to switch between a USB audio interface and the onboard soundcard
Wants=pulseaudio.service
After=pulseaudio.service
[Service]
Type=simple
ExecStart=/etc/pulse/switch_soundcards.sh
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
- Enable and start that service for your user:
systemctl --user enable soundcards
systemctl --user start soundcards
Of course all these may not be necessary, but this way I get some consistent behaviour with Pulseaudio and the Scarlett 18i8 1st Gen.
Hope all the above will help other people trying to make the particular audio interface play nicely with pulse 