This repository provides the user-space components required for full functionality of the Focusrite USB audio interfaces that use the Linux FCP driver: the Scarlett 4th Gen 16i16, 18i16 and 18i20, and the ISA C8X.
If you don't have to build from source:
Install the RPM or deb from the
Releases
page, and put your user in the audio group:
sudo usermod -a -G audio $USER
Log out and back in for the group change to take effect.
If you have installed from source before, run make uninstall in
that checkout first. Source builds install to /usr/local/bin,
which comes before /usr/bin in PATH, so the old binaries shadow
the packaged ones. which -a fcp-tool shows whether this has
happened.
The FCP driver comes with the kernel. The Scarlett 4th Gen 16i16,
18i16 and 18i20 need Linux 6.14 or later; the ISA C8X needs 6.18.39,
7.1.4, or 7.2+. Check with uname -r.
Debian 13 (trixie) ships 6.12, so a newer kernel is required from backports:
echo 'deb http://deb.debian.org/debian trixie-backports main' |
sudo tee /etc/apt/sources.list.d/trixie-backports.list
sudo apt update
sudo apt install -t trixie-backports linux-image-amd64
Ubuntu 24.04 ships 6.8, so it needs the hardware enablement kernel:
sudo apt install linux-generic-hwe-24.04
Reboot into the new kernel.
Plug in the device and check that it was detected:
fcp-tool
It should report your interface, its card number, and the installed firmware version.
Install and run alsa-scarlett-gui. It controls the device and offers firmware updates when one is available.
The rest of this page covers building from source, the command-line tools, and troubleshooting.
FCP support in Linux consists of several components that work together:
Kernel Driver (linux-fcp)
fcp-server to communicate with the device; comes with
the kernel, so there is nothing to installUser-space Server (this repo: fcp-server)
alsa-scarlett-gui and fcp-tool to update the
device firmware, reset the configuration, and rebootFirmware Update Tool (this repo: fcp-tool)
fcp-serverGUI Application (alsa-scarlett-gui)
fcp-serverThe currently supported devices are:
The FCP driver itself supports all Focusrite USB audio interfaces since the 2nd Gen Scarletts, so support for the other devices will be added here later. Until then, the Linux Scarlett2 driver supports all the other 2nd Gen and later Scarlett, Clarett USB, Clarett+, and Vocaster devices.
A kernel with the FCP driver for your device, as listed in the
Quick Start above. Check with uname -r.
Required packages for building:
# Debian/Ubuntu
sudo apt-get install build-essential libasound2-dev libsystemd-dev \
libssl-dev zlib1g-dev libjson-c-dev pkg-config
# Fedora
sudo dnf install make gcc alsa-lib-devel systemd-devel openssl-devel \
zlib-devel json-c-devel pkgconfig
fcp-tool:sudo usermod -a -G audio $USER
Log out and back in for the group membership change to take effect.
Build from source:
git clone https://github.com/geoffreybennett/fcp-support.git
cd fcp-support
make
sudo make install
This will:
fcp-server and fcp-tool/usr/local/bin//usr/local/lib/systemd/system//usr/local/lib/udev/rules.d//usr/local/share/fcp-server/sudo systemctl daemon-reload
sudo udevadm control --reload-rules
The installation process sets up:
Systemd Service: fcp-server@.service
fcp-server@1.service)Udev Rules:
systemctl status fcp-server@*journalctl -fsudo systemctl stop fcp-server@*aplay -lLOG_LEVEL=debug fcp-server <card-number>Firmware is distributed separately, from
scarlett4-firmware.
RPM and deb packages are on its
Releases
page, and Arch users can install scarlett4-firmware from the AUR. To
install the files by hand instead, put the .bin files in
/usr/lib/firmware/scarlett4, which is where fcp-tool and
alsa-scarlett-gui look for them. fcp-tool list-all reports the
versions it finds.
fcp-tool manages firmware from the command line:
# View all commands
fcp-tool help
# Update firmware (takes 1-2 minutes)
fcp-tool update
# Update firmware to a specific version
fcp-tool update -f /path/to/firmware.bin
# Maintenance commands
fcp-tool erase-config # Reset device configuration to firmware defaults
fcp-tool reboot # Reboot device
Report issues at: https://github.com/geoffreybennett/fcp-support/issues
Please include:
dmesg and lsusbThis software, including the driver, tools, and GUI is Free Software that I’ve independently developed using my own resources. It represents hundreds of hours of development work.
If you find this software valuable, please consider making a donation. Your show of appreciation, more than the amount itself, motivates me to continue improving these tools.
You can donate via:
90 commits
C
94.0%
Perl
3.4%
Makefile
2.6%
This repository provides the user-space components required for full functionality of the Focusrite USB audio interfaces that use the Linux FCP driver: the Scarlett 4th Gen 16i16, 18i16 and 18i20, and the ISA C8X.
If you don't have to build from source:
Install the RPM or deb from the
Releases
page, and put your user in the audio group:
sudo usermod -a -G audio $USER
Log out and back in for the group change to take effect.
If you have installed from source before, run make uninstall in
that checkout first. Source builds install to /usr/local/bin,
which comes before /usr/bin in PATH, so the old binaries shadow
the packaged ones. which -a fcp-tool shows whether this has
happened.
The FCP driver comes with the kernel. The Scarlett 4th Gen 16i16,
18i16 and 18i20 need Linux 6.14 or later; the ISA C8X needs 6.18.39,
7.1.4, or 7.2+. Check with uname -r.
Debian 13 (trixie) ships 6.12, so a newer kernel is required from backports:
echo 'deb http://deb.debian.org/debian trixie-backports main' |
sudo tee /etc/apt/sources.list.d/trixie-backports.list
sudo apt update
sudo apt install -t trixie-backports linux-image-amd64
Ubuntu 24.04 ships 6.8, so it needs the hardware enablement kernel:
sudo apt install linux-generic-hwe-24.04
Reboot into the new kernel.
Plug in the device and check that it was detected:
fcp-tool
It should report your interface, its card number, and the installed firmware version.
Install and run alsa-scarlett-gui. It controls the device and offers firmware updates when one is available.
The rest of this page covers building from source, the command-line tools, and troubleshooting.
FCP support in Linux consists of several components that work together:
Kernel Driver (linux-fcp)
fcp-server to communicate with the device; comes with
the kernel, so there is nothing to installUser-space Server (this repo: fcp-server)
alsa-scarlett-gui and fcp-tool to update the
device firmware, reset the configuration, and rebootFirmware Update Tool (this repo: fcp-tool)
fcp-serverGUI Application (alsa-scarlett-gui)
fcp-serverThe currently supported devices are:
The FCP driver itself supports all Focusrite USB audio interfaces since the 2nd Gen Scarletts, so support for the other devices will be added here later. Until then, the Linux Scarlett2 driver supports all the other 2nd Gen and later Scarlett, Clarett USB, Clarett+, and Vocaster devices.
A kernel with the FCP driver for your device, as listed in the
Quick Start above. Check with uname -r.
Required packages for building:
# Debian/Ubuntu
sudo apt-get install build-essential libasound2-dev libsystemd-dev \
libssl-dev zlib1g-dev libjson-c-dev pkg-config
# Fedora
sudo dnf install make gcc alsa-lib-devel systemd-devel openssl-devel \
zlib-devel json-c-devel pkgconfig
fcp-tool:sudo usermod -a -G audio $USER
Log out and back in for the group membership change to take effect.
Build from source:
git clone https://github.com/geoffreybennett/fcp-support.git
cd fcp-support
make
sudo make install
This will:
fcp-server and fcp-tool/usr/local/bin//usr/local/lib/systemd/system//usr/local/lib/udev/rules.d//usr/local/share/fcp-server/sudo systemctl daemon-reload
sudo udevadm control --reload-rules
The installation process sets up:
Systemd Service: fcp-server@.service
fcp-server@1.service)Udev Rules:
systemctl status fcp-server@*journalctl -fsudo systemctl stop fcp-server@*aplay -lLOG_LEVEL=debug fcp-server <card-number>Firmware is distributed separately, from
scarlett4-firmware.
RPM and deb packages are on its
Releases
page, and Arch users can install scarlett4-firmware from the AUR. To
install the files by hand instead, put the .bin files in
/usr/lib/firmware/scarlett4, which is where fcp-tool and
alsa-scarlett-gui look for them. fcp-tool list-all reports the
versions it finds.
fcp-tool manages firmware from the command line:
# View all commands
fcp-tool help
# Update firmware (takes 1-2 minutes)
fcp-tool update
# Update firmware to a specific version
fcp-tool update -f /path/to/firmware.bin
# Maintenance commands
fcp-tool erase-config # Reset device configuration to firmware defaults
fcp-tool reboot # Reboot device
Report issues at: https://github.com/geoffreybennett/fcp-support/issues
Please include:
dmesg and lsusbThis software, including the driver, tools, and GUI is Free Software that I’ve independently developed using my own resources. It represents hundreds of hours of development work.
If you find this software valuable, please consider making a donation. Your show of appreciation, more than the amount itself, motivates me to continue improving these tools.
You can donate via:
90 commits
C
94.0%
Perl
3.4%
Makefile
2.6%