Update docs and such for 1st Gen and big 4th Gen support

This commit is contained in:
Geoffrey D. Bennett
2025-02-21 03:40:55 +10:30
parent ab40037064
commit 5106ed228e
23 changed files with 538 additions and 113 deletions

View File

@@ -1,29 +1,46 @@
# ALSA Scarlett2 Control Panel Installation
# ALSA Scarlett Control Panel Installation
## Prerequisites
### Linux Kernel
You need to be running a Linux Kernel that has the ALSA Scarlett2
Protocol Driver. Use `uname -r` to check what kernel version you are
running.
You need to be running a Linux Kernel that contains the appropriate
driver for your interface. Use `uname -r` to check what kernel version
you are running.
- For reasonable functionality of Scarlett 2nd and 3rd Gen and Clarett
interfaces, you need at least Linux kernel version 6.7
- For Scarlett 4th Gen support and firmware updates from Linux, you
need at least 6.8
- For Vocaster support, youll need to build an updated
`snd-usb-audio` driver (or wait for 6.10)
Check the following table to see which driver your interface uses and
the first kernel version that the driver was included in:
If youve got a Vocaster, or if your distribution doesnt include a
recent-enough kernel for your interface, you can get the latest driver
from here and build it for your current kernel:
| Series | Models | Driver | Kernel Version |
|-----------|--------|--------|:----------------------:|
| Scarlett 1st Gen | Solo, 2i2, 2i4 | N/A* | Any |
| Scarlett 1st Gen | 6i6, 8i6, 18i6, 18i8, 18i20 | Scarlett 1st Gen Mixer Driver | 3.19+ |
| Scarlett 2nd Gen | Solo, 2i2, 2i4 | N/A* | Any |
| Scarlett 2nd Gen | 6i6, 18i8, 18i20 | Scarlett2 Mixer Driver | 6.7+ |
| Scarlett 3rd Gen | Solo, 2i2, 4i4, 8i6, 18i8, 18i20 | Scarlett2 Mixer Driver | 6.7+ |
| Scarlett 4th Gen | Solo, 2i2, 4i4 | Scarlett2 Mixer Driver | 6.8+ |
| Scarlett 4th Gen | 16i16, 18i16, 18i20 | FCP (Focusrite Control Protocol) Driver | 6.14+ |
| Clarett USB and Clarett+ | 2Pre, 4Pre, 8Pre | Scarlett2 Mixer Driver | 6.7+ |
| Vocaster | One, Two | Scarlett2 Mixer Driver | 6.10+ |
https://github.com/geoffreybennett/scarlett-gen2/releases
\* The small 1st Gen and 2nd Gen models dont have any proprietary
software controls so they dont need a driver beyond the standard ALSA
USB Audio driver. This means that this application (alsa-scarlett-gui)
is not needed, useful, or supported for these models.
#### Enabling the Driver
If your distribution doesnt include a recent-enough kernel for your
interface, you can get the latest driver from here and build it for
your current kernel if it's not too old (the Scarlett2 and FCP drivers
are both maintained in the same tree here):
https://github.com/geoffreybennett/linux-fcp/releases
As of Linux 6.7 the driver is enabled by default. Check the driver
Kernel 6.7 and later have the Scarlett2 driver enabled by default. The
Scarlett 1st Gen driver and the FCP drivers are always enabled.
#### Enabling the Scarlett2 Driver
Some kernels before 6.7 have an earlier version of the Scarlett2
driver which is disabled by default. If this is you, check the driver
status (after plugging your interface in) with this command:
```
@@ -35,12 +52,12 @@ If all is good youll see messages like this:
```
New USB device found, idVendor=1235, idProduct=8215, bcdDevice= 6.0b
Product: Scarlett 18i20 USB
Focusrite Scarlett Gen 3 Mixer Driver enabled (pid=0x8215); report
any issues to https://github.com/geoffreybennett/scarlett-gen2/issues
Focusrite Scarlett Gen 3 Mixer Driver enabled (pid=0x8215); ...
```
If you dont see the “Mixer Driver” message or if it shows “disabled”
then check the [OLDKERNEL.md](OLDKERNEL.md) instructions.
then check the [OLDKERNEL.md](OLDKERNEL.md) instructions (or,
preferably, upgrade your distro/kernel!).
### Gtk4
@@ -49,16 +66,27 @@ doesnt have them natively, try the Flatpak instructions below.
### Firmware
As of Linux 6.8, firmware updates of all the supported interfaces can
be done through Linux. This is mandatory for Scarlett 4th Gen and
Vocaster interfaces (unless youve already updated it using the
manufacturers software), and optional for Scarlett 2nd and 3rd Gen,
Clarett USB, and Clarett+ interfaces.
#### Scarlett2 Driver
As of Linux 6.8, firmware updates of all supported interfaces from the
2nd Gen onwards can be done through Linux. This is mandatory for
Scarlett 4th Gen and Vocaster interfaces (unless youve already
updated it using the manufacturers software), and optional but
recommended for Scarlett 2nd and 3rd Gen, Clarett USB, and Clarett+
interfaces.
Download the firmware from
https://github.com/geoffreybennett/scarlett2-firmware and place it in
`/usr/lib/firmware/scarlett2` or use the RPM/deb package.
#### FCP Driver
Firmware updates for the big Scarlett 4th Gen interfaces is currently
only possible through the CLI `fcp-tool` utility available in the
[fcp-support](https://github.com/geoffreybennett/fcp-support). You
need to install this package and update the firmware before
alsa-scarlett-gui will work.
## Building and Running
On Fedora, these packages need to be installed:

View File

@@ -1,14 +1,18 @@
# ALSA Scarlett2 Usage With Old Kernels
**This information is mostly for historical purposes. If youre
running a kernel before 6.7, you should upgrade to a newer kernel.**
Linux kernel 6.7 (check your version with `uname -r`) was the first
kernel version with this driver enabled by default. Its recommended
that you run 6.7 or later, or build the backported driver for your
kernel. If you do, then these instructions arent relevant; continue
with [INSTALL.md](INSTALL.md) for prerequisites, how to build,
install, and run `alsa-scarlett-gui`.
kernel version with the Scarlett2 driver enabled by default. Its
recommended that you run 6.7 or later, or build the backported driver
for your kernel. If you do, then these instructions arent relevant;
continue with [INSTALL.md](INSTALL.md) for prerequisites, how to
build, install, and run `alsa-scarlett-gui`.
If youve got a Scarlett Gen 2 or 3 or a Clarett+ 8Pre and dont mind
the level meters not working, then the minimum kernel versions are:
the level meters not working, then the first kernel support was added
in:
- **Scarlett Gen 2**: Linux 5.4 (bugs fixed in Linux 5.14)
- **Scarlett Gen 3**: Linux 5.14
@@ -18,7 +22,7 @@ the level meters not working, then the minimum kernel versions are:
Install the latest version of the backported driver from here:
https://github.com/geoffreybennett/scarlett-gen2/releases
https://github.com/geoffreybennett/linux-fcp/releases
then you can ignore the instructions below.

View File

@@ -1,4 +1,4 @@
# ALSA Scarlett2 Control Panel Usage
# ALSA Scarlett Control Panel Usage
Refer to [INSTALL.md](INSTALL.md) for prerequisites, how to build,
install, and run.
@@ -59,7 +59,7 @@ restart the interface, and in a moment the main window will appear.
The View → Startup menu option opens a window to configure settings
that only take effect when the interface is powered on.
The options common to all interfaces are:
The options common to most interfaces are:
- **Reset Configuration**: this will reset the configuration to the
factory defaults. This is particularly useful with the 4th Gen and
@@ -105,9 +105,13 @@ menu option File → Interface Simulation to load.
The controls and menu items which are available vary widely, depending
on your specific interface.
There are three broad categories of interfaces with different
There are five broad categories of interfaces with different
capabilities; each category of interface is described in a separate
ocument:
document:
- [Scarlett 1st Gen 6i6+](iface-1st-gen.md)
Full routing and mixing capabilities, but some significant caveats.
- [Scarlett 3rd Gen Solo and 2i2](iface-small.md)
@@ -119,13 +123,21 @@ ocument:
Full routing and mixing capabilities.
- [Scarlett 4th Gen](iface-4th-gen.md)
- [Scarlett Small 4th Gen](iface-4th-gen-small.md)
Full routing and mixing capabilities, remote-controlled input gain,
but no output controls.
- [Scarlett Big 4th Gen](iface-4th-gen-big.md)
Full routing and mixing capabilities, remote-controlled input gain
and output volume controls.
## Known Bugs/Issues
- For interfaces using the FCP driver, alsa-scarlett-gui needs to be
started after the interface is connected and fcp-server has started.
- Load/Save uses `alsactl` which will be confused if the ALSA
interface name (e.g. `USB`) changes.

155
docs/iface-1st-gen.md Normal file
View File

@@ -0,0 +1,155 @@
# ALSA Scarlett Control Panel
## Scarlett 1st Gen Interfaces
This document describes how to use the ALSA Scarlett Control Panel
with the Scarlett 1st Gen interfaces:
- Scarlett 1st Gen 6i6, 8i6, 18i6, 18i8, 18i20
Note: The 1st Gen Scarlett Solo, 2i2, and 2i4 have all their controls
accessible from the front panel of the device, and there are no
proprietary software controls, so they do not require this control
panel software.
## Important Driver Limitations
The 1st Gen Scarlett devices have some important limitations in the
ALSA driver implementation that you should be aware of:
1. **Initial State Detection**: The driver cannot read the current
state of hardware controls (this appears to be a limitation of the
device firmware). When alsa-scarlett-gui starts, what you see will
not reflect the actual state of your device unless the controls
have previously been set since startup.
2. **State Update Issues**: The driver only updates the hardware state
when it thinks a setting needs to be changed. If the driver
incorrectly believes a control is already in the desired state, it
won't actually update the control.
### Recommended Workaround
To ensure your settings are properly applied:
1. Apply a "zero" configuration that sets all controls to values that
are *not* what you desire.
2. Then apply your desired configuration
This two-step process helps ensure that the driver actually sends all
commands to the hardware. You may want to create a script using
`alsactl` for this purpose.
## Main Window
The main window is divided into three sections:
- Global Controls
- Analogue Input Controls
- Analogue Output Controls
The particular controls available depend on the interface model.
Note that the View menu option lets you open two other windows which
contain additional controls, described in the following sections:
- [Routing](#routing)
- [Mixer](#mixer)
The Levels and Startup windows that are available for later-generation
interfaces are not available for 1st Gen interfaces due to driver limitations.
### Global Controls
Global controls relate to the operation of the interface as a whole.
#### Clock Source
Clock Source selects where the interface receives its digital clock
from. If you aren't using S/PDIF or ADAT inputs, set this to Internal.
#### Sync Status
Sync Status indicates if the interface is locked to a valid digital
clock. If you aren't using S/PDIF or ADAT inputs and the status is
Unlocked, change the Clock Source to Internal.
### Analogue Input Controls
#### Inst
The Inst buttons are used to select between Mic/Line and Instrument
level/impedance. When plugging in microphones or line-level equipment
(such as a synthesizer, external preamp, or effects processor) to the
input, set it to “Line”. The “Inst” setting is for instruments with
pickups such as guitars.
#### Pad
Enabling Pad engages a 10dB attenuator in the channel, giving you more
headroom for very hot signals.
#### Gain
The Gain switch selects Low or High gain for the input channel.
### Analogue Output Controls
The analogue output controls let you set the output volume (gain) on
the analogue line outputs.
Click and drag up/down on the volume dial to change the volume, use
your arrow keys, Home/End/PgUp/PgDn keys, or use your mouse scroll
wheel to adjust. You can also double-click on it to quickly toggle the
volume between off and 0dB.
## Routing
The routing window allows complete control of signal routing between
the hardware inputs/outputs, internal mixer, and PCM (USB)
inputs/outputs.
![Routing Window](../img/scarlett-1st-gen-6i6-routing.png)
To manage the routing connections:
- Click and drag from a source to a sink or a sink to a source to
connect them. Audio from the source will then be sent to that sink.
- Click on a source or a sink to clear the links connected to that
source/sink.
Note that a sink can only be connected to one source, but one source
can be connected to many sinks. If you want a sink to receive input
from more than one source, use the mixer inputs and outputs:
- Connect the sources that you want to mix together to mixer inputs
- Connect mixer outputs to the sinks that you want to receive the
mixed audio
- Use the Mixer window to set the amount of each mixer input that is
sent to each mixer output
The Presets menu can be used to clear all connections, or to set up
common configurations:
- The "Direct" preset sets up the usual configuration using the
interface as a regular audio interface by connecting:
- all Hardware Inputs to PCM Inputs
- all PCM Outputs to Hardware Outputs
- The "Preamp" preset connects all Hardware Inputs to Hardware
Outputs.
- The "Stereo Out" preset connects PCM 1 and 2 Outputs to pairs of
Hardware Outputs.
## Mixer
If you use the Routing window to connect Sources to Mixer Inputs and
Mixer Outputs to Sinks, then you can use the Mixer window to set the
amount of each Mixer Input that is sent to each Mixer Output using a
matrix of controls.
Click and drag up/down on the gain controls to adjust, or use your
mouse scroll wheel. You can also double-click on the control to
quickly toggle between off and 0dB.

210
docs/iface-4th-gen-big.md Normal file
View File

@@ -0,0 +1,210 @@
# ALSA Scarlett Control Panel
## Scarlett Big 4th Gen Interfaces
This document describes how to use the ALSA Scarlett Control Panel
with the big Scarlett 4th Gen interfaces:
- Scarlett 4th Gen 16i16, 18i16, 18i20
### FCP Driver
The big 4th Gen interfaces are supported by a new “FCP” (Focusrite
Control Protocol) driver introduced in Linux 6.14. If you haven't
installed
[fcp-support](https://github.com/geoffreybennett/fcp-support) yet, you
need to do that (and update the firmware) before you can use
alsa-scarlett-gui.
## Main Window
The main window is divided into three sections:
- Global Controls
- Analogue Input Controls
- Analogue Output Controls
The main window for the 16i16 interface is shown below. The 18i16 and
18i20 interfaces are similar, but with more controls.
![Main Window](../img/iface-4th-gen-big.png)
### Global Controls
#### Clock Source (interfaces with S/PDIF or ADAT inputs only)
Clock Source selects where the interface receives its digital clock
from. If you arent using S/PDIF or ADAT inputs, set this to Internal.
#### Sync Status
Sync Status indicates if the interface is locked to a valid digital
clock. If you arent using S/PDIF or ADAT inputs and the Sync Status
is Unlocked, change the Clock Source to Internal.
#### Sample Rate
Sample Rate is informative only, and displays the current sample rate
if the interface is currently in use. In ALSA, the sample rate is set
by the application using the interface, which is usually a sound
server such as PulseAudio, JACK, or PipeWire.
#### Speaker Switching
Speaker Switching lets you swap between two pairs of monitoring
speakers very easily.
### Analogue Input Controls
#### Input Select
The “Input Select” control allows you to choose which channel the
hardware 48V, Inst, Air, Auto, and Safe buttons control.
#### Link
The “Link” control links the 48V, Inst, Air, Auto, and Safe controls
together so that they control a stereo pair of channels
simultaneously.
#### Gain
The “Gain” controls adjust the input gain for the selected channel.
Click and drag up/down on the control to adjust the gain, use your
mouse scroll wheel, or click the control to select it and use the
arrow keys, Page Up, Page Down, Home, and End keys.
#### Autogain
When the “Autogain” control is enabled, the interface will listen to
the input signal for ten seconds and automatically adjust the gain to
get the best signal level. When autogain is not running, the
most-recent autogain exit status is shown below the “Autogain”
control.
#### Safe
“Safe” mode is a feature that automatically reduces the gain if the
signal is too loud. This can be useful to prevent clipping.
#### Instrument
The Inst button(s) are used to select between Mic/Line and Instrument
level/impedance. When plugging in microphones or line-level equipment
(such as a synthesizer, external preamp, or effects processor) to the
input, set it to “Line”. The “Inst” setting is for instruments with
pickups such as guitars.
#### Air
The Scarlett 3rd Gen introduced Air mode which transformed your
recordings and inspired you while making music by boosting the
signals high-end. The 4th Gen interfaces now call that “Air Presence”
and add a new mode “Air Presence+Drive” which boosts mid-range
harmonics in your sound.
#### Phantom Power (48V)
Turning the “48V” switch on sends “Phantom Power” to the XLR
microphone input. This is required for some microphones (such as
condensor microphones), and damaging to some microphones (particularly
vintage ribbon microphones).
### Analogue Output Controls
The analogue output controls are a bit sparse. More controls are
coming soon.
#### Volume Knobs
The volume knobs control the volume of the analogue outputs. The two
channels of the stereo pairs are shown separately, but are internally
linked together.
#### Mute and Dim
The speaker icon buttons are “mute” and “dim” (reduce volume) buttons,
corresponding to the front-panel buttons on the interface (although
only the 18i20 has a physical dim button).
## Routing and Mixing
The routing window allows (almost) complete control of signal routing
between the hardware inputs/outputs, internal mixer, and PCM (USB)
inputs/outputs.
The routing and mixing capabilities of the big 4th Gen interfaces are
the same in concept as the older interfaces, but the mixer inputs are
fixed and not shown in the routing window as there are too many to
sensibly display.
From the main window, open the Routing window with the View → Routing
menu option or pressing Ctrl-R:
![4th Gen 16i16 Routing](../img/scarlett-4th-gen-16i16-routing.png)
To manage the routing connections:
- Click and drag from a source to a sink or a sink to a source to
connect them. Audio from the source will then be sent to that sink.
- Click on a source or a sink to clear the links connected to that
source/sink.
Note that a sink can only be connected to one source, but one source
can be connected to many sinks. If you want a sink to receive input
from more than one source, connect the sinks to mixer outputs:
- Connect mixer outputs to the sinks that you want to receive the
mixed audio
- Use the Mixer window to set the amount of each mixer input that is
sent to each mixer output
The Presets menu can be used to clear all connections, or to set up
common configurations:
- The “Direct” preset sets up the usual configuration using the
interface as a regular audio interface by connecting:
- all Hardware Inputs to PCM Inputs
- all PCM Outputs to Hardware Outputs
- The “Preamp” preset connects all Hardware Inputs to Hardware
Outputs.
- The “Stereo Out” preset connects PCM 1 and 2 Outputs to pairs of
Hardware Outputs.
To adjust the routing:
- Click and drag from a source to a sink or a sink to a source to
connect them. Audio from the source will then be sent to that sink.
- Click on a source or a sink to clear the links connected to that
source/sink.
Note that a sink can only be connected to one source, but one source
can be connected to many sinks.
To adjust the mixer output levels:
1) Open the mixer window with the main window View → Mixer menu
option, or press Ctrl-M.
2) Mixer levels can be adjusted with your keyboard or mouse in the
same way as the [Gain Controls](#gain).
## Levels
The meters show the levels seen by the interface at every routing
source as well as the analogue outputs. Open this window by selecting
the View → Levels menu option or pressing Ctrl-L.
![Levels](../img/window-levels-4th-gen-big.png)
Look at this in conjunction with the routing window to understand
which meter corresponds to which source or sink.
Thanks for reading this far! If you appreciate the hundreds of hours
of work that went into the kernel driver, the control panel, and this
documentation, please consider supporting the author with a
[donation](../README.md#donations).

View File

@@ -1,9 +1,9 @@
# ALSA Scarlett2 Control Panel
# ALSA Scarlett Control Panel
## Scarlett 4th Gen Interfaces
## Scarlett Small 4th Gen Interfaces
This document describes how to use the ALSA Scarlett2 Control Panel
with the Scarlett 4th Gen interfaces:
This document describes how to use the ALSA Scarlett Control Panel
with the small Scarlett 4th Gen interfaces:
- Scarlett 4th Gen Solo, 2i2, and 4i4
@@ -39,7 +39,7 @@ The main window for the Solo and 2i2 interfaces is shown below; the
Monitor control, and can show the position of the front panel volume
knobs.
![Main Window](../img/iface-4th-gen.png)
![Main Window](../img/iface-4th-gen-small.png)
### Global Controls
@@ -204,10 +204,7 @@ Important Notes:
- The Focusrite Control 2 software cant control most of this routing,
so if you make changes here and then want to use Focusrite Control
2, youll probably need to reset the routing back to the factory
default settings. Theres currently no way to reset to factory
default settings from the Focusrite Control 2 software; youll need
to use the [Reset Configuration](USAGE.md#startup-controls) option
in this software, or the `scarlett2` utility.
default settings.
To adjust the routing:
@@ -338,7 +335,7 @@ sink: Hardware Outputs, Mixer Inputs, DSP Inputs, and PCM Inputs. Open
this window by selecting the View → Levels menu option or pressing
Ctrl-L.
![Levels](../img/window-levels-4th-gen.gif)
![Levels](../img/window-levels-4th-gen-small.gif)
Look at this in conjunction with the routing window to understand
which meter corresponds to which source or sink.

View File

@@ -1,8 +1,8 @@
# ALSA Scarlett2 Control Panel
# ALSA Scarlett Control Panel
## Large Scarlett 2nd and 3rd Gen and Clarett Interfaces
This document describes how to use the ALSA Scarlett2 Control Panel
This document describes how to use the ALSA Scarlett Control Panel
with the larger Scarlett 2nd Gen, 3rd Gen, and Clarett USB interfaces:
- Scarlett 2nd Gen 6i6, 18i8, 18i20

View File

@@ -1,4 +1,4 @@
# ALSA Scarlett2 Control Panel
# ALSA Scarlett Control Panel
## Small Scarlett 3rd Gen Interfaces