An independent macOS driver and control app for the original Focusrite Clarett 2Pre Thunderbolt.
Clarett Bridge connects this interface to Core Audio through DriverKit and AudioDriverKit. It provides playback, recording, hardware direct monitoring, output mute, output volume with per-pair maximum levels, selectable sample rates and adjustable driver margins while keeping Full Security enabled on the tested Mac.
The original Clarett 2Pre Thunderbolt is still a useful audio interface, but its official macOS driver uses a kernel extension. On Apple silicon, Focusrite's installation instructions require booting into Recovery, selecting Reduced Security, and allowing user management of kernel extensions. That changes the Mac's startup security policy; it is not simply permission to connect a Thunderbolt accessory.
Clarett Bridge was created to keep this hardware usable with Full Security enabled, without a trip through Recovery or changes to device-management policy. It replaces the kernel extension with a user-space DriverKit/AudioDriverKit driver and a native control app. This worked on the development Mac without IT involvement; signing, normal macOS extension approval and any management policies still apply on other Macs.
Representative interface preview. Readiness, active settings and diagnostics in the app come from the connected device; this image uses example values.
This is an experimental source release, tested on one Clarett 2Pre Thunderbolt with an Apple silicon Mac running macOS 27.0.1 and Xcode 27. It is independent of Focusrite and is not endorsed by the manufacturer.
| Feature | Result |
|---|---|
| Driver activation and PCI attachment | Passed with user-confirmed Full Security; SIP enabled |
| Playback and recording | Clear Spotify playback and Audacity recording/listen-back |
| Software monitoring | Clean, acceptably responsive monitoring in GarageBand at a 256-frame driver margin |
| Hardware direct monitoring | Input 1/2 or stereo mix, selectable output pairs and live/computer blend; manually verified |
| Sample rates | 44.1, 48, 88.2 and 96 kHz: hardware clock and both stream formats verified; new-rate listening tests pending |
| Transport channels | 14 capture / 4 playback; 10 capture slots are live at 88.2/96 kHz; these are not physical socket counts |
| Margins below 256 frames | Unreliable: crackling observed at 64 and 128 frames |
| MIDI, 176.4/192 kHz, external clocks, Focusrite Control | Not implemented |
The playback, recording and monitoring listening results above cover the previous version 12 / 48 kHz baseline. Driver 13 has passed idle sample-rate switching and format-readback checks; listening/recording at the new rates is still pending.
The verified software-monitoring test used an effective 512-frame Core Audio buffer. Selecting a requested buffer in the app does not guarantee another audio application will use it. Numerical round-trip latency, sustained load and sleep/wake are not yet qualified. See validation.
There is no broadly installable signed binary in this release. A developer build requires Xcode 27 / DriverKit 27, an Apple Developer team, and provisioning with the DriverKit, PCI and audio-family development entitlements. The current driver deployment target is macOS 27.
git clone https://github.com/jthrilly/clarett-bridge.git
cd clarett-bridge
bash scripts/test.sh
scripts/build.sh audio DEVELOPMENT_TEAM=YOUR_TEAM_ID -allowProvisioningUpdates
python3 scripts/verify-signing.py 'build/audio/Build/Products/Debug/Clarett Bridge.app'New developers must register their own bundle identifiers and capabilities; see the complete build and signing guide. Install the verified app in /Applications, open Driver Setup → Activate driver, and complete the normal macOS approval flow. Keep Full Security and SIP enabled. Device-management approval policy may differ on other Macs.
Host build 18 (0.3.2) adds an Outputs page and requires activating audio driver version 17 for hardware-backed volume controls. Sample-rate changes require driver 13 or later. Driver 16's volume controls and revised range passed a manual Spotify check. See validation for the tested scope and remaining checks.
- Select Clarett 2Pre Thunderbolt (Experimental) as the input and output in your audio app.
- To change rate, open Audio Settings → Sample rate. Turn direct monitoring off, select 44.1, 48, 88.2 or 96 kHz and click Apply rate. Check the active value; both input and output share this rate.
- For software monitoring and effects, use Audio Settings → Driver responsiveness → 256 frames and enable monitoring in your audio app. GarageBand passed the manual listening test. Turn hardware monitoring off for this path.
- For hardware direct monitoring, open Monitoring, choose inputs and outputs, adjust the live/computer blend, then enable monitoring. Turn the audio app’s software monitoring off to avoid two delayed copies.
- Check the active buffer value after a request. Audio apps may override it. The driver margin resets to 512 when the device reattaches; choose 256 again if desired.
Audacity 4.0.1’s software-monitoring path requests its audio library’s high input-latency hint, which was 100 ms on the test Mac even with Audacity’s buffer preference at 10 ms. That is separate from driver crackling at smaller margins. See monitoring and latency.
Representative monitoring preview; changes are applied explicitly and the resulting route/mixer state is read back.
The Outputs page offers software ownership for line outputs 1–2 and 3–4/headphones, with a separate maximum for each pair. The main slider and macOS volume keys use the hardware gain commands. With a −20 dB maximum, 100% software volume remains −20 dB at the hardware. Limits are enforced in the driver, default to −30 dB, and can be adjusted from −60 to 0 dB. Raising a maximum preserves the current level until you deliberately turn up. Driver 16 uses a 48 dB normal adjustment range (about 3 dB per standard Mac volume-key step), with 0% selecting the quiet hardware floor.
The Mute button and Mac mute key use the hardware master mute for all four analogue outputs, including headphones and direct monitoring, in either gain-control mode. Unmute preserves your chosen volume and verifies the capped gains of software-controlled pairs before releasing silence.
Start with physical levels down. New connections leave device controls unchanged until software control is enabled. A return to knob control is refused if its position would make the output jump louder. These limits apply in software mode and are not a calibrated loudness limit. See output volume and safety.
Representative output-control preview; hardware readback and listening validation are recorded separately.
- User guide: monitoring, output levels, buffers, driver setup and removal.
- Output volume: hardware gain commands, maximum levels, ownership and safety.
- Build and signing: requirements, identifiers, entitlements and build stages.
- Architecture: host, PCI/mailbox, DMA, audio timeline and configuration changes.
- Monitoring and latency: mixer preservation, runtime profiles and app buffering.
- Validation and limitations: exactly what has been tested.
- Troubleshooting: no hardware, silence, crackling, delay and activation issues.
- Initial feasibility and historical mailbox result.
- Contributing and third-party provenance.
zsh scripts/audio-configure.sh rate 44100 # Request; verify hardware/stream readback
zsh scripts/audio-status.sh # Read-only device/client report
zsh scripts/audio-configure.sh margin 256 # Briefly restarts existing I/O
zsh scripts/audio-configure.sh buffer 128 # Request; verify actual result
bash scripts/package-source.sh HEAD # ZIP and tar.gz of committed sourceCI runs sanitized C++ protocol/ring/mixer/sample-rate/volume-safety/mute tests, checks generated project files, and type-checks the SwiftUI host. It does not sign, activate a driver or validate audio hardware. The project includes no credentials, provisioning profiles, certificates, private keys or device UDIDs.
GPL-2.0-only. Protocol research and the reference Linux driver are credited in THIRD_PARTY.md. No Focusrite binary was modified or disassembled. Focusrite and Clarett are their owners’ trademarks.


