Update docs and such for 1st Gen and big 4th Gen support
2
.github/workflows/build-debian-package.yml
vendored
@@ -44,7 +44,7 @@ jobs:
|
||||
maintainer: geoffreybennett
|
||||
depends: 'libgtk-4-1, libasound2, alsa-utils'
|
||||
version: ${{ env.APP_VERSION }}
|
||||
desc: ${{ env.APP_NAME }} is a Gtk4 GUI for the ALSA controls presented by the Linux kernel Focusrite Scarlett2 Mixer Driver.
|
||||
desc: ${{ env.APP_NAME }} is a Gtk4 GUI for the ALSA controls presented by the Linux kernel Focusrite USB drivers.
|
||||
|
||||
- name: Upload Release Asset
|
||||
uses: actions/upload-release-asset@v1
|
||||
|
||||
92
FAQ.md
@@ -1,37 +1,40 @@
|
||||
# FAQ for the Scarlett2 Mixer Driver and `alsa-scarlett-gui`
|
||||
# FAQ for the ALSA Scarlett Control Panel (`alsa-scarlett-gui`)
|
||||
|
||||
## What is this?
|
||||
|
||||
The Scarlett2 Protocol Driver (also known as the Scarlett2 Mixer
|
||||
Driver) is a part of the Linux kernel, enhancing the ALSA kernel
|
||||
driver with additional controls for Focusrite Scarlett, Clarett, and
|
||||
Vocaster interfaces.
|
||||
The ALSA Scarlett Control Panel (`alsa-scarlett-gui`) is an
|
||||
easy-to-use application for adjusting the ALSA controls provided by
|
||||
three Linux kernel drivers for Focusrite USB interfaces:
|
||||
|
||||
1. The Scarlett 1st Gen Mixer Driver (for 1st Gen 6i6, 8i6, 18i6, 18i8, 18i20)
|
||||
2. The Scarlett2 Protocol Driver (for 2nd/3rd Gen interfaces, small 4th Gen, Clarett, and Vocaster)
|
||||
3. The FCP (Focusrite Control Protocol) Driver (for big 4th Gen interfaces: 16i16, 18i16, 18i20)
|
||||
|
||||
To check if your kernel is already up-to-date, and how to upgrade if
|
||||
not, see the [Control Panel Installation Prerequisites — Linux
|
||||
Kernel](docs/INSTALL.md).
|
||||
|
||||
`alsa-scarlett-gui` is an easy-to-use application to adjust those
|
||||
controls.
|
||||
## Do I need these drivers for my Focusrite interface?
|
||||
|
||||
## Do I need the driver for my Focusrite interface?
|
||||
|
||||
In order to get audio working? No. Focusrite USB interfaces are
|
||||
For basic audio functionality? No. Focusrite USB interfaces are
|
||||
“plug-and-play” — they are USB Audio Class Compliant, meaning they
|
||||
work out-of-the-box with the standard ALSA USB audio driver (to get
|
||||
full functionality on Scarlett 3rd/4th Gen/Vocaster interfaces, first
|
||||
deactivate MSD mode by holding down the 48V button while powering it
|
||||
on).
|
||||
|
||||
However, to access the mixer, routing, and hardware-specific features,
|
||||
you'll need the appropriate driver for your interface model.
|
||||
|
||||
## MSD Mode?
|
||||
|
||||
“MSD Mode” is the “Mass Storage Device Mode” that the Scarlett 3rd and
|
||||
"MSD Mode" is the "Mass Storage Device Mode" that the Scarlett 3rd and
|
||||
4th Gen interfaces ship in.
|
||||
|
||||
If MSD Mode is enabled, you need to disable it and restart your
|
||||
interface to get access to its full functionality.
|
||||
|
||||
When you plug the interface in, there’ll be a tiny read-only virtual
|
||||
When you plug the interface in, there'll be a tiny read-only virtual
|
||||
disk that has a link to the Focusrite product registration page; until
|
||||
you turn off MSD Mode not all features of the interface will be
|
||||
available.
|
||||
@@ -40,49 +43,62 @@ You can turn off MSD Mode by holding down the 48V button while
|
||||
powering on the interface, or by clicking the button in
|
||||
`alsa-scarlett-gui` and rebooting it.
|
||||
|
||||
## What is the purpose of the driver if it’s not needed for audio?
|
||||
If you do the recommended/required (depending on the model) firmware
|
||||
update, MSD Mode will automatically be turned off.
|
||||
|
||||
This driver is for users who want more control over their interface.
|
||||
It allows for detailed manipulation of internal audio routing and
|
||||
settings specific to Scarlett, Clarett, and Vocaster devices, beyond
|
||||
the basic audio I/O functionality. Also, being able to monitor the
|
||||
audio levels seen by the interface is really useful.
|
||||
## What is the purpose of these drivers if they're not needed for basic audio?
|
||||
|
||||
These drivers are for users who want more control over their
|
||||
interface. They allow for detailed manipulation of:
|
||||
|
||||
- Internal audio routing
|
||||
- Hardware-specific settings
|
||||
- Mixer functionality
|
||||
- Level monitoring
|
||||
- Input/output configuration
|
||||
|
||||
These controls go beyond the basic audio I/O functionality provided by
|
||||
the generic ALSA USB audio driver.
|
||||
|
||||
## What interfaces are supported?
|
||||
|
||||
- All Scarlett 2nd Gen interfaces with software controls (there are no
|
||||
software controls on the 2nd Gen Solo and 2i2, so the mixer driver
|
||||
is irrelevant).
|
||||
The ALSA Scarlett Control Panel supports:
|
||||
|
||||
- All Scarlett 3rd Gen interfaces.
|
||||
- **Scarlett 1st Gen**: 6i6, 8i6, 18i6, 18i8, 18i20
|
||||
- **Scarlett 2nd Gen**: 6i6, 18i8, 18i20
|
||||
- **Scarlett 3rd Gen**: Solo, 2i2, 4i4, 8i6, 18i8, 18i20
|
||||
- **Scarlett 4th Gen**: Solo, 2i2, 4i4, 16i16, 18i16, 18i20
|
||||
- **Clarett USB and Clarett+**: 2Pre, 4Pre, 8Pre
|
||||
- **Vocaster**: One, Two
|
||||
|
||||
- Scarlett 4th Gen Solo, 2i2, and 4i4.
|
||||
|
||||
- All Clarett USB and Clarett+ interfaces.
|
||||
|
||||
- Vocaster One and Vocaster Two.
|
||||
Note: The Scarlett 1st and 2nd Gen small interfaces (Solo, 2i2, 2i4)
|
||||
don't have any software controls. All the controls are available from
|
||||
the front panel, so they don't require the specialised drivers or this
|
||||
GUI.
|
||||
|
||||
## Where are the options to set the sample rate and buffer size?
|
||||
|
||||
It’s important to note that the Scarlett2 driver and
|
||||
`alsa-scarlett-gui` have nothing to do with audio input/output to and
|
||||
from the device. This task is managed by the generic part of the ALSA
|
||||
USB soundcard driver.
|
||||
The ALSA Scarlett Control Panel doesn't handle audio input/output
|
||||
settings like sample rate and buffer size. These settings are managed
|
||||
by the application using the soundcard, typically a sound server such
|
||||
as PulseAudio, JACK, or PipeWire.
|
||||
|
||||
Audio settings like the sample rate and buffer size are chosen by the
|
||||
application which is using the soundcard. In most cases, that is a
|
||||
sound server such as PulseAudio, JACK, or PipeWire.
|
||||
The sample rate shown in the control panel is informative only and
|
||||
displays the current rate being used by applications. If it shows
|
||||
“N/A” then no application is using the interface.
|
||||
|
||||
Note that not all features are available at higher sample rates; refer
|
||||
to the user manual of your interface for more information.
|
||||
|
||||
## Help?!
|
||||
|
||||
For help with the driver:
|
||||
https://github.com/geoffreybennett/scarlett-gen2/issues
|
||||
For help with the Scarlett2 and FCP kernel drivers:
|
||||
https://github.com/geoffreybennett/linux-fcp/issues
|
||||
|
||||
For help with the FCP user-space side:
|
||||
https://github.com/geoffreybennett/fcp-support/issues
|
||||
|
||||
For help with `alsa-scarlett-gui`:
|
||||
https://github.com/geoffreybennett/alsa-scarlett-gui/issues
|
||||
|
||||
For general Linux audio help:
|
||||
https://linuxmusicians.com
|
||||
For general Linux audio help: https://linuxmusicians.com
|
||||
|
||||
23
README.md
@@ -1,12 +1,17 @@
|
||||
# ALSA Scarlett2 Control Panel (`alsa-scarlett-gui`)
|
||||
# ALSA Scarlett Control Panel (`alsa-scarlett-gui`)
|
||||
|
||||
`alsa-scarlett-gui` is a Gtk4 GUI for the ALSA controls presented by
|
||||
the Linux kernel Focusrite Scarlett2 USB Protocol Mixer Driver.
|
||||
the three Linux kernel Focusrite USB drivers:
|
||||
|
||||
- Scarlett 1st Gen Driver for ALSA
|
||||
- Scarlett2 USB Protocol Mixer Driver
|
||||
- FCP (Focusrite Control Protocol) Driver
|
||||
|
||||
Supported interfaces:
|
||||
- Scarlett 1st Gen 6i6, 8i6, 18i6, 18i8, 18i20
|
||||
- Scarlett 2nd Gen 6i6, 18i8, 18i20
|
||||
- Scarlett 3rd Gen Solo, 2i2, 4i4, 8i6, 18i8, 18i20
|
||||
- Scarlett 4th Gen Solo, 2i2, 4i4
|
||||
- Scarlett 4th Gen Solo, 2i2, 4i4, 16i16, 18i16, 18i20
|
||||
- Clarett 2Pre, 4Pre, 8Pre USB
|
||||
- Clarett+ 2Pre, 4Pre, 8Pre
|
||||
- Vocaster One and Vocaster Two
|
||||
@@ -15,7 +20,7 @@ Supported interfaces:
|
||||
|
||||
<img src="img/alsa-scarlett-gui.png" align="right">
|
||||
|
||||
The Focusrite USB audio interfaces are class compliant meaning that
|
||||
All Focusrite USB audio interfaces are class compliant meaning that
|
||||
they work “out of the box” on Linux as audio and MIDI interfaces
|
||||
(although on Gen 3/4/Vocaster you need to disable MSD mode first for
|
||||
full functionality). However, except for some of the smallest models,
|
||||
@@ -28,8 +33,8 @@ awful experience. The existing applications like `alsamixer` and
|
||||
controls presented for the Gen 3 18i20. Even the smallest Gen 3 4i4
|
||||
interface at last count had 84 ALSA controls.
|
||||
|
||||
Announcing the ALSA Scarlett2 Control Panel, now supporting Scarlett
|
||||
Gen 2, 3, 4, Clarett, and Vocaster!
|
||||
Announcing the ALSA Scarlett Control Panel, now supporting all
|
||||
Scarlett Gen 1, 2, 3, 4, Clarett, and Vocaster USB interfaces!
|
||||
|
||||

|
||||
|
||||
@@ -43,12 +48,16 @@ known issues.
|
||||
|
||||
Information specific to various models:
|
||||
|
||||
- [Scarlett 1st Gen](docs/iface-1st-gen.md)
|
||||
|
||||
- [Scarlett 3rd Gen Solo and 2i2](docs/iface-small.md)
|
||||
|
||||
- [Scarlett 2nd Gen 6i6+, 3rd Gen 4i4+, Clarett USB, and
|
||||
Clarett+](docs/iface-large.md)
|
||||
|
||||
- [Scarlett 4th Gen](docs/iface-4th-gen.md)
|
||||
- [Scarlett Small 4th Gen](docs/iface-4th-gen-small.md)
|
||||
|
||||
- [Scarlett Big 4th Gen](docs/iface-4th-gen-big.md)
|
||||
|
||||
## Donations
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Summary: ALSA Scarlett Gen 2/3 Control Panel
|
||||
Summary: ALSA Scarlett Control Panel
|
||||
Name: alsa-scarlett-gui
|
||||
Version: VERSION
|
||||
Release: 1%{?dist}
|
||||
@@ -9,7 +9,7 @@ Source: %{name}-%{version}.tar.gz
|
||||
%description
|
||||
|
||||
alsa-scarlett-gui is a Gtk4 GUI for the ALSA controls presented by the
|
||||
Linux kernel Focusrite Scarlett2 Mixer Driver.
|
||||
Linux kernel Focusrite USB drivers.
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
@@ -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, you’ll 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 you’ve got a Vocaster, or if your distribution doesn’t 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 don’t have any proprietary
|
||||
software controls so they don’t 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 doesn’t 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 you’ll 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 don’t 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 @@ doesn’t 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 you’ve already updated it using the
|
||||
manufacturer’s 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 you’ve already
|
||||
updated it using the manufacturer’s 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:
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
# ALSA Scarlett2 Usage With Old Kernels
|
||||
|
||||
**This information is mostly for historical purposes. If you’re
|
||||
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. It’s recommended
|
||||
that you run 6.7 or later, or build the backported driver for your
|
||||
kernel. If you do, then these instructions aren’t 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. It’s
|
||||
recommended that you run 6.7 or later, or build the backported driver
|
||||
for your kernel. If you do, then these instructions aren’t relevant;
|
||||
continue with [INSTALL.md](INSTALL.md) for prerequisites, how to
|
||||
build, install, and run `alsa-scarlett-gui`.
|
||||
|
||||
If you’ve got a Scarlett Gen 2 or 3 or a Clarett+ 8Pre and don’t 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.
|
||||
|
||||
|
||||
@@ -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
@@ -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.
|
||||
|
||||

|
||||
|
||||
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
@@ -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.
|
||||
|
||||

|
||||
|
||||
### 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 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 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
|
||||
signal’s 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:
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
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).
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
### Global Controls
|
||||
|
||||
@@ -204,10 +204,7 @@ Important Notes:
|
||||
- The Focusrite Control 2 software can’t control most of this routing,
|
||||
so if you make changes here and then want to use Focusrite Control
|
||||
2, you’ll probably need to reset the routing back to the factory
|
||||
default settings. There’s currently no way to reset to factory
|
||||
default settings from the Focusrite Control 2 software; you’ll 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.
|
||||
|
||||

|
||||

|
||||
|
||||
Look at this in conjunction with the routing window to understand
|
||||
which meter corresponds to which source or sink.
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ALSA Scarlett2 Control Panel
|
||||
# ALSA Scarlett Control Panel
|
||||
|
||||
## Small Scarlett 3rd Gen Interfaces
|
||||
|
||||
|
||||
BIN
img/iface-4th-gen-big.png
Normal file
|
After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 76 KiB |
BIN
img/scarlett-1st-gen-6i6-routing.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
img/scarlett-4th-gen-16i16-routing.png
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
img/window-levels-4th-gen-big.png
Normal file
|
After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 471 KiB After Width: | Height: | Size: 471 KiB |
@@ -24,16 +24,16 @@ void activate_about(
|
||||
|
||||
gtk_show_about_dialog(
|
||||
w,
|
||||
"program-name", "ALSA Scarlett2 Control Panel",
|
||||
"program-name", "ALSA Scarlett Control Panel",
|
||||
"version", "Version " VERSION,
|
||||
"comments",
|
||||
"Gtk4 GUI for the ALSA controls presented by the\n"
|
||||
"Linux kernel Focusrite Scarlett2 Mixer Driver",
|
||||
"Linux kernel Focusrite USB drivers",
|
||||
"website", "https://github.com/geoffreybennett/alsa-scarlett-gui",
|
||||
"copyright", "Copyright 2022-2025 Geoffrey D. Bennett",
|
||||
"license-type", GTK_LICENSE_GPL_3_0,
|
||||
"logo", logo,
|
||||
"title", "About ALSA Scarlett2 Mixer Interface",
|
||||
"title", "About ALSA Scarlett Mixer Interface",
|
||||
"authors", authors,
|
||||
NULL
|
||||
);
|
||||
|
||||
@@ -19,7 +19,7 @@ GtkWidget *create_window_iface_none(GtkApplication *app) {
|
||||
|
||||
GtkWidget *w = gtk_application_window_new(app);
|
||||
gtk_window_set_resizable(GTK_WINDOW(w), FALSE);
|
||||
gtk_window_set_title(GTK_WINDOW(w), "ALSA Scarlett2 Control Panel");
|
||||
gtk_window_set_title(GTK_WINDOW(w), "ALSA Scarlett Control Panel");
|
||||
gtk_window_set_child(GTK_WINDOW(w), box);
|
||||
gtk_application_window_set_show_menubar(
|
||||
GTK_APPLICATION_WINDOW(w), TRUE
|
||||
|
||||
@@ -9,21 +9,15 @@ GtkWidget *create_iface_unknown_main(void) {
|
||||
"Sorry, I don’t recognise the controls on this card.\n\n"
|
||||
|
||||
"These Focusrite models should be supported:\n"
|
||||
"– Gen 1: 6i6/8i6/18i6/18i8/18i20\n"
|
||||
"– Gen 2: 6i6/18i8/18i20\n"
|
||||
"– Gen 3: Solo/2i2/4i4/8i6/18i8/18i20\n"
|
||||
"– Gen 4: Solo/2i2/4i4\n"
|
||||
"– Gen 4: Solo/2i2/4i4/16i16/18i16/18i20\n"
|
||||
"– Vocaster One and Two\n"
|
||||
"– Clarett USB and Clarett+ 2Pre/4Pre/8Pre\n\n"
|
||||
|
||||
"Are you running a recent kernel with Scarlett2 support "
|
||||
"enabled?\n\n"
|
||||
|
||||
"Check dmesg output for “Focusrite ... Mixer Driver”:\n\n"
|
||||
|
||||
"dmesg | grep -A 5 -B 5 -i focusrite\n\n"
|
||||
|
||||
"For kernels before 6.7 you may need to create a file\n"
|
||||
"/etc/modprobe.d/scarlett.conf\n"
|
||||
"with an “options snd_usb_audio ...” line and reboot."
|
||||
"Please check the prerequisites at:\n"
|
||||
"https://github.com/geoffreybennett/alsa-scarlett-gui/"
|
||||
);
|
||||
gtk_widget_set_margin(label, 30);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=ALSA Scarlett2 Control Panel
|
||||
Name=ALSA Scarlett Control Panel
|
||||
Icon=vu.b4.alsa-scarlett-gui
|
||||
Exec=PREFIX/bin/alsa-scarlett-gui
|
||||
Categories=GTK;AudioVideo;Audio;Mixer;
|
||||
|
||||