You are not logged in.
I feel like I've tried every config by now but can't get it to work.
I'm running a Focusrite 18i8 1st Gen. I have pipewire and wireplumber setup. Whenever I try any of the inputs I basically just get robotic noise (tried discord and audacity). When I open pw-top or the Alsa Scarlett Control Panel I always get 88200hz, which I think might cause the issue. Trying to set it to 48000 seems to not apply at all.
I tried override.conf:
cat .config/pipewire/pipewire.conf.d/override.conf
context.properties = {
default.clock.rate = 48000
default.clock.quantum = 1024
default.clock.allowed-rates = [ 48000 ]
}I tried copying the /usr/share/pipewire/pipewire.conf into .config/pipewire/ and uncommenting:
default.clock.rate = 48000
default.clock.allowed-rates = [ 48000 ]I set
cat .config/wireplumber/wireplumber.conf.d/51-Focusrite.conf
monitor.alsa.rules = [
{
matches = [
{
device.name = "~alsa_card.usb-Focusrite_Scarlett_18i8.*"
}
]
actions = {
update-props = {
device.profile = "pro-audio",
api.acp.probe-rate = 48000,
audio.rate = 48000
}
}
}
]pw-top:
S ID QUANT RATE WAIT BUSY W/Q B/Q ERR FORMAT NAME
S 29 0 0 --- --- --- --- 0 Dummy-Driver
S 30 0 0 --- --- --- --- 0 Freewheel-Driver
S 54 0 0 --- --- --- --- 0 Midi-Bridge
S 59 0 0 --- --- --- --- 0 bluez_midi.server
R 63 256 88200 51.3us 0.8us 0.02 0.00 37 S32LE 14 88200 alsa_input.usb-Focusrite_Scarlett_18i8_USB_78550B60-00.pro-input-0
R 62 0 0 5.7us 17.3us 0.00 0.01 0 S32LE 8 88200 + alsa_output.usb-Focusrite_Scarlett_18i8_USB_78550B60-00.pro-output-0
R 109 1440 48000 7.8us 4.7us 0.00 0.00 0 S16LE 1 48000 + WEBRTC VoiceEngine
R 116 360 48000 12.6us 3.7us 0.00 0.00 0 S16LE 1 48000 + WEBRTC VoiceEngine
R 96 1 144 5.9us 1.6us 0.00 0.00 0 F32LE 1 144 + PulseAudio Volume Control
R 97 1 144 18.2us 2.8us 0.01 0.00 0 F32LE 1 144 + PulseAudio Volume Control
R 99 1 144 5.7us 2.3us 0.00 0.00 0 F32LE 1 144 + PulseAudio Volume Controlpw-cli info 63:
id: 63
permissions: rwxm-
type: PipeWire:Interface:Node/3
* input ports: 0/0
* output ports: 18/65
* state: "running"
* properties:
* alsa.card = "0"
* alsa.card_name = "Scarlett 18i8 USB"
* alsa.class = "generic"
* alsa.components = "USB1235:8014"
* alsa.device = "0"
* alsa.driver_name = "snd_usb_audio"
* alsa.id = "USB Audio"
* alsa.long_card_name = "Focusrite Scarlett 18i8 USB at usb-0000:11:00.4-2, high speed"
* alsa.mixer_name = "USB Mixer"
* alsa.name = "USB Audio"
* alsa.resolution_bits = "32"
* alsa.subclass = "generic-mix"
* alsa.subdevice = "0"
* alsa.subdevice_name = "subdevice #0"
* alsa.sync.id = "00000000:00000000:00000000:00000000"
* api.alsa.auto-link = "true"
* api.alsa.card.longname = "Focusrite Scarlett 18i8 USB at usb-0000:11:00.4-2, high speed"
* api.alsa.card.name = "Scarlett 18i8 USB"
* api.alsa.disable-tsched = "true"
* api.alsa.path = "hw:0,0"
* api.alsa.pcm.card = "0"
* api.alsa.pcm.stream = "capture"
* audio.channels = "18"
* audio.position = "AUX0,AUX1,AUX2,AUX3,AUX4,AUX5,AUX6,AUX7,AUX8,AUX9,AUX10,AUX11,AUX12,AUX13,AUX14,AUX15,AUX16,AUX17"
* card.profile.device = "1"
* clock.name = "api.alsa.0"
* device.api = "alsa"
* device.class = "sound"
* device.icon-name = "audio-card-analog"
* device.id = "52"
* device.profile.description = "Pro"
* device.profile.name = "pro-input-0"
* device.profile.pro = "true"
* device.routes = "0"
* factory.name = "api.alsa.pcm.source"
* media.class = "Audio/Source"
* node.description = "Scarlett 18i8 Pro"
* node.group = "pro-audio-0"
* node.link-group = "pro-audio-0"
* node.name = "alsa_input.usb-Focusrite_Scarlett_18i8_USB_78550B60-00.pro-input-0"
* node.nick = "Scarlett 18i8 USB"
* node.pause-on-idle = "false"
* object.path = "alsa:acp:USB:1:capture"
* port.group = "capture"
* priority.driver = "2500"
* priority.session = "2500"
* factory.id = "19"
* clock.quantum-limit = "8192"
* client.id = "49"
* node.driver = "true"
* node.loop.name = "data-loop.0"
* library.name = "audioconvert/libspa-audioconvert"
* object.id = "63"
* object.serial = "63"
* node.max-latency = "16384/88200"
* api.alsa.period-size = "256"
* api.alsa.period-num = "128"
* api.alsa.headroom = "0"
* params: (9)
* 3 (Spa:Enum:ParamId:EnumFormat) r-
* 1 (Spa:Enum:ParamId:PropInfo) r-
* 2 (Spa:Enum:ParamId:Props) rw
* 4 (Spa:Enum:ParamId:Format) rw
* 10 (Spa:Enum:ParamId:EnumPortConfig) r-
* 11 (Spa:Enum:ParamId:PortConfig) rw
* 15 (Spa:Enum:ParamId:Latency) rw
* 16 (Spa:Enum:ParamId:ProcessLatency) rw
* 17 (Spa:Enum:ParamId:Tag) rwWhen I connect the Scarlett to a Windows device I see it select 48khz and the input is working fine.
pacman -Q | grep -i wire
gst-plugin-pipewire 1:1.4.7-1
lib32-libpipewire 1:1.4.7-1
lib32-pipewire 1:1.4.7-1
libpipewire 1:1.4.7-1
libwireplumber 0.5.10-1
pipewire 1:1.4.7-1
pipewire-alsa 1:1.4.7-1
pipewire-audio 1:1.4.7-1
pipewire-jack 1:1.4.7-1
pipewire-libcamera 1:1.4.7-1
pipewire-pulse 1:1.4.7-1
wireplumber 0.5.10-1I also tried pw-metadata -n settings 0 clock.force-rate 48000, but nothing I do seems to change anything? At this point I'm kinda lost.
Offline
Is the device.name correct ? Is the '~' in the beginning allowed there ? Perhaps not the same problem, but same card (3rd Gen) in this solved problem.
Offline
Is the device.name correct ? Is the '~' in the beginning allowed there ? Perhaps not the same problem, but same card (3rd Gen) in this solved problem.
Oh I've seen that post before and copied the config at some point. Tried it again and when I set the output.conf to audio.rate = "192000" it changes the sample rate to 96khz instead of the 88.2 from before. Setting it to 48khz gives me the 88.2khz. I don't quite get why that would be the case.... Sounds still messed up though.
Offline
If the problem is somehow related to JACK, check this Ardour 'cannot set sample rate' case.
This might also be useful: LinuxMusicians - Very easy way to set Pipewire sample rate and buffer size defaults!
Last edited by euromatlox (2025-08-27 18:55:53)
Offline
Try switching to kernel 6.15.x. 6.16.x seems to have introduced a pro audio profile regression for 1st gen 18i8 dacs.
You should still get functional sound even on 6.16, but it will get very out of sync with games.
In general Scarlett 1st gen devices have a quirk on linux where you have to change the channel assignments on boot. You can do this with alsamixer or alsa-scarlett-gui.
Offline
commit 76ff6437b42f9be365632130d5ddd8a93f787257
Author: Tina Wuest <tina@wuest.me>
Date: Mon Sep 1 12:20:24 2025 +0300ALSA: usb-audio: Allow Focusrite devices to use low samplerates
[ Upstream commit cc8e91054c0a778074ecffaf12bd0944e884d71c ]
Commit 05f254a6369ac020fc0382a7cbd3ef64ad997c92 ("ALSA: usb-audio:
Improve filtering of sample rates on Focusrite devices") changed the
check for max_rate in a way which was overly restrictive, forcing
devices to use very high samplerates if they support them, despite
support existing for lower rates as well.
This maintains the intended outcome (ensuring samplerates selected are
supported) while allowing devices with higher maximum samplerates to be
opened at all supported samplerates.
This patch was tested with a Clarett+ 8Pre USB
Fixes: 05f254a6369a ("ALSA: usb-audio: Improve filtering of sample rates on Focusrite devices")
Signed-off-by: Tina Wuest <tina@wuest.me>
Link: https://patch.msgid.link/20250901092024 … a@wuest.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
this might get fixed by 6.16.6 6.16.6 Kernel Changelog
Offline
I updated to kernel 6.16.6 and I can see the 18i8 gen1 picking 48khz samplerate again. Happy days indeed.
Hopefully happy days for OP as well.
Offline