Focusrite Scarlett 6i6

  1 year ago
  Focusrite (USB audio interface)
  Mint 18.x
  Works fine with some minor problems
What works:

Out of the box all Audio In/Out.
This device works "stand alone" so HW routes set(S/PDIF for exampe) under focusrite control@win are present under tux.

You can manually set your routes to virtual devices in terminal/sh

What doesn't work:

-Volume control has no native support to set routing for I/O channels,

-Experiencing some lower record levels compared to win(I still need to check for sample-rates o.e that causes this)

-Qt Sixisix Mixer(for this 6i6 device only) has some issue with the Mint 18.3 Alsa, expecting better results with Ubuntu 18.04 based Mint19.x

"This is a bug in alsa, not a bug in qsismix. The controls that qsismix uses to interact with the 6i6 hardware should be listed under amixer controls, but for some unknown reason are not available under some system configurations. A possible work-around is to disable pulseaudio when you want to use alsa's mixer controls, although I am not sure that pulseaudio is always the culprit and pulse runs along with alsa on my system without issue."

What was done to make it work:

#pacmd list-sinks | grep -e 'name:' -e 'index'

pactl load-module module-null-sink sink_name=virtual1 sink_properties=device.description="Chan1"
pactl load-module module-null-sink sink_name=virtual2 sink_properties=device.description="Chan2"
pactl load-module module-loopback sink=Virtual1
pactl load-module module-loopback sink=Virtual2

pactl load-module module-null-sink sink_name=Virtual1
pactl load-module module-loopback sink=Virtual1

#w label
pactl load-module module-null-sink sink_name=Virtual1 sink_properties=device.description="NAME HERE (mic+music)"
pactl load-module module-null-sink sink_name=Virtual2 sink_properties=device.description="NAME HERE (only music)"
pactl load-module module-loopback sink=Virtual1
pactl load-module module-loopback sink=Virtual2

#SH example

# Create the null sinks
# virtual1 gets your audio source (mplayer ...) only
# virtual2 gets virtual1 + micro
pactl load-module module-null-sink sink_name=virtual1 sink_properties=device.description="virtual1"
pactl load-module module-null-sink sink_name=virtual2 sink_properties=device.description="virtual2"

# Now create the loopback devices, all arguments are optional and can be configured with pavucontrol
pactl load-module module-loopback source=virtual1.monitor sink=$SPEAKERS
pactl load-module module-loopback source=virtual1.monitor sink=virtual2
pactl load-module module-loopback source=$MICROPHONE sink=virtual2