Repository navigation
Releases: ismail-bahloul/babyface-pro-linux
Release list
snd-usb-babyface-pro 0.2.2
snd-usb-babyface-pro 0.2.2.
Fixed
- The front panel's OUT wheel moved ADAT7/8 when
Optwas selected. It moves AS1/2, the first optical pair, which is the same mixer output in ADAT and S/PDIF mode, so the target no longer depends on the Optical Out Format setting (#12).
Changed
- The series under
patches/is the one submitted upstream on 2026-10-27,[PATCH v7 0/8], rebased on next-20261026.
Known open
- Turning the wheel with
OUT=Optis still the check that confirms the pair on hardware. The AS1/2 signal itself on the fibre needs S/PDIF-only gear to verify.
Install (Arch): paru -S snd-usb-babyface-pro-dkms
Full changelog: https://github.com/ismail-bahloul/babyface-pro-linux/blob/main/CHANGELOG.md
snd-usb-babyface-pro 0.2.1
snd-usb-babyface-pro 0.2.1.
Fixed
- The crosspoint map had AN1/2 and PH3/4 swapped and shifted every pair after them, so a mix into one output landed in the next pair's submix. The driver now writes
0x34 * pair + 0x1A * side + source, checked on an FS with a per-pair loopback matrix (#36, from the captures in #31). - The EQ's alpha is
sin(w0 / (2Q)), as TotalMix computes it, which removes the high-frequency warping the notes still listed as open (#35, #31).
Changed
- From a 128-frame period the driver keeps one and a half periods of URBs in flight, splitting the period in two. Through PipeWire the round trip drops from 554 to 490 frames at 128 and from 1066 to 938 at 256 (#37).
- Documentation: the latency page explains the settings and the measured round trip,
tools/delay-sweep.shmeasures it, and the places where the captures in #31 disagree with ours are marked disputed (#32, #33, #34).
Known open
- The level of a joined stereo pair (point 3 of #31) is still being settled with the reporter: our FS captures and theirs disagree on what TotalMix writes for a linked pair at 0 dB.
- The front-panel wheel uses the corrected crosspoint addressing but has not been checked on the physical panel.
Install (Arch): paru -S snd-usb-babyface-pro-dkms
Full changelog: https://github.com/ismail-bahloul/babyface-pro-linux/blob/main/CHANGELOG.md
snd-usb-babyface-pro 0.2.0
Third tagged release of the out-of-tree ALSA driver for the RME Babyface Pro FS in proprietary USB mode.
Playback underruns
- The PCM core now sees playback underruns, so a late write is reported instead of being swallowed silently (thanks to @davfre, #25).
- New
tools/pcmlatechecks it: a delayed write now returns-EPIPEinstead of hanging. pcmxrunprimes playback before restarting after an xrun. The frozen restart was the probe, not the driver.
Capture order
- Capture is exposed in the device's own channel order: ch0-3 AN1-4, ch4/5 AS1/2, ch6-11 ADAT3-8.
- The tools (
pcmxrun,pcmreneg,looplat,pcmlate,latency-test.sh,regress.sh) read the AS1/2 loopback on capture channels 4/5. - This is user-visible: TuxMix 0.3.1 or later is required. Older TuxMix versions mislabel AS1/2 and ADAT3-8 with this driver.
PipeWire and latency
- The card defaults to 256 frames through PipeWire and follows the PipeWire quantum through the updated WirePlumber rule.
- The low-latency modprobe template follows the period-following URBs and the latest soak results.
- Documentation: shorter README, with install, latency and features moved to
docs/; real-time low-period soaks (32/24/16 frames clean, xruns are system events).
Validation
Full hardware run on the Pro FS, kernel 7.2.11-1-cachyos, full-duplex at 48 kHz:
tools/kernel/regress.sh --mixer-restore --disconnect-test: 41 passed, 0 failed, 0 skipped.- mmap sweep (
PCMX_MMAP=1): 38 passed. pcmlateat 48 kHz, periods 256/1024/2048: pass.- dmix with a 1 s tone: exits 0.
- AS1/2 loopback tap: -30 dBFS on capture channels 4/5.
Packaging
- AUR
snd-usb-babyface-pro-dkmsand the DKMS path are bumped to 0.2.0, with the real tarball checksum in the follow-up commit. - PR #25 merged, which also adds
tools/pcmlate.
Install
Arch:
paru -S snd-usb-babyface-pro-dkms
The AUR 0.2.0-1 update may lag this GitHub release.
Manual:
make LLVM=1 -C /lib/modules/$(uname -r)/build M=$PWD/tools/kernel modules
sudo make LLVM=1 -C /lib/modules/$(uname -r)/build M=$PWD/tools/kernel modules_install
Drop LLVM=1 on a gcc-built kernel. See KERNEL-DRIVER.md for DKMS and test notes.
Known gaps
- The S/PDIF signal itself on the fibre is still unmeasured; the
Optical Out Formatcontrol from 0.1.1 is verified in state only. - Front-panel behaviour with OUT set to Opt in S/PDIF mode is still unverified (#12).
- The v7 series is cut on next-20261002 but not submitted yet; this tag is the reference for the current out-of-tree build.
snd-usb-babyface-pro 0.1.1
Second tagged release of the out-of-tree ALSA driver for the RME Babyface Pro FS in proprietary USB mode.
Optical output format
- New
Optical Out Formatenum control (ADAT/S/PDIF), exposed through ALSA and implemented likeSample Clock Source. The driver now keeps the format inchip->optical_spdifand ORs bit 10 into every settings word, including the combined write during cold init. ADAT remains the default, so existing behaviour is unchanged. - Verified live on the Pro FS: the control appears after reload, defaults to ADAT, switches to S/PDIF and back, and the clock control still works.
- TuxMix 0.2.1 already drives this control on its ALSA backend.
Regression coverage
tools/kernel/regress.shnow enables the AS1/2 loopback around the sweep and renegotiation tests, and restores the previous mixer state. Without the loopback the tap is silent, since 0.1.0 exposes real AS1/2 on capture channels 10/11 instead of the old playback echo.- Full hardware run on the Pro FS with this source: 41 passed, 0 failed, 0 skipped.
Packaging
- The AUR package and the documented DKMS path are bumped to 0.1.1, with the real tarball checksum in the follow-up commit.
- PR #19 dropped the separator comments; no functional change.
Known gaps
- The S/PDIF signal itself on the fibre was not measured, only the control state and the settings write.
- The front-panel behaviour with OUT set to Opt in S/PDIF mode is still unverified: it is not known whether the wheel moves AS1/2 instead of ADAT7/8 there.
Install
Arch:
paru -S snd-usb-babyface-pro-dkms
The AUR 0.1.1-1 update may lag this GitHub release.
Manual:
make LLVM=1 -C /lib/modules/$(uname -r)/build M=$PWD/tools/kernel modules
sudo make LLVM=1 -C /lib/modules/$(uname -r)/build M=$PWD/tools/kernel modules_install
Drop LLVM=1 on a gcc-built kernel. See KERNEL-DRIVER.md for DKMS and test notes.
Notes
- Tested on 7.2.9-2-cachyos (clang-built), full-duplex at 48 kHz.
- The module is still under upstream review; this tag is the reference for the current out-of-tree build.
snd-usb-babyface-pro 0.1.0
First tagged release of the out-of-tree ALSA driver for the RME Babyface Pro FS in proprietary USB mode.
What it does
- Full mixer control surface through ALSA: 6 output masters, the 6x14 crosspoint matrix, preamp gains, 48V/PAD, clock source, ref level, phase, trim, stereo split, loopback, width, FX send, MS processing, input link and AN 1>2.
- 2 to 12 channel PCM, 32 kHz to 192 kHz, S32_LE.
- DSP EQ (4 strips, 3-band plus low cut) through the bulk endpoint.
- Front-panel readback (OUT/MIX/DIM, wheel, IN/OUT selection).
Capture map in 0.1.0
- ch0-3 = AN1-4
- ch4-9 = ADAT3-8
- ch10/11 = AS1/2 (device words 4/5)
AS1/2 was confirmed with the device's own loopback. The old playback echo tap (words 12/13) is no longer exposed. If you record from the card, channels 0-9 keep their previous meaning; 10/11 now carry AS1/2 instead of the tap. This is the map TuxMix v0.2.0 needs for its 12-input meters.
Install
Arch: the packaging in aur/snd-usb-babyface-pro-dkms is updated for this tag; push it to the AUR if it is not published yet.
Manual:
make LLVM=1 -C /lib/modules/$(uname -r)/build M=$PWD/tools/kernel modules
sudo make LLVM=1 -C /lib/modules/$(uname -r)/build M=$PWD/tools/kernel modules_install
Drop LLVM=1 on a gcc-built kernel. Kernel headers for the running kernel are required. See KERNEL-DRIVER.md for the full build, test and DKMS notes.
Notes
- Tested on 7.2.9-2-cachyos (clang-built), full-duplex at 48 kHz.
- The module is still under upstream review; this tag is the reference for the current out-of-tree build.