[Hardware / Driver] Native Linux ALSA Kernel Module for Zoom UAC-8 (snd-uac8) - Experimental stage, looking for testers!

Hi everyone,

Previously, I shared a custom JACK bridge / bypass setup to get the Zoom UAC-8 running under Linux. While that userspace bridge was functional, I wanted a cleaner, lower-level, and much more integrated solution.

So, I’ve taken it a step further and developed a native Linux ALSA kernel module specifically for the Zoom UAC-8:

:point_right: GitHub Repository:

(Direct file: snd-uac8.c)

Please Note: This driver is still in an experimental / early development stage. While it works in my local setup, please do not use it for mission-critical recording sessions just yet!

Why a Kernel Module instead of a Bridge?

While the previous bridge solved basic routing, building a dedicated ALSA driver module (snd-uac8) offers substantial benefits:

  • Zero Userspace Overhead: Integrates directly into the ALSA subsystem rather than relying on an external bridge process.
  • Native JACK / PipeWire & Ardour Integration: Exposes standard ALSA PCM devices, allowing JACK, PipeWire, and Ardour to communicate with the hardware natively.
  • Low-Latency & Buffer Management: Fine-grained packet handling and buffer control to keep xruns at bay during multi-channel work.
  • Tested Environment: Developed and tested primarily under Ubuntu 24.04 LTS (6.x kernels).

Looking for Feedback & Early Testers

If you have a Zoom UAC-8 and would like to help test this experimental driver with Ardour on Linux, your feedback would be greatly appreciated!

Specifically interested in:

  1. Compilation & Loading: Any build or insertion quirks on your kernel version (make / insmod / dkms).
  2. Channel Mapping: Verifying that all inputs/outputs show up and map correctly in JACK / Ardour.
  3. Behavior & Stability: Buffer scaling, latency limits, or any kernel panic / xrun issues encountered.

Please feel free to check out the repo, experiment with it, and share your thoughts, dmesg outputs, or issues either here in this thread or on GitHub.

Thanks!