{"id":50394361,"url":"https://github.com/serifpersia/audiobox96","last_synced_at":"2026-05-30T20:02:26.766Z","repository":{"id":360498342,"uuid":"1250433864","full_name":"serifpersia/audiobox96","owner":"serifpersia","description":"Presonus Audiobox 96 ALSA low latency driver module for Linux Systems","archived":false,"fork":false,"pushed_at":"2026-05-26T16:21:52.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-26T18:17:09.260Z","etag":null,"topics":["alsa","audiobox","audiobox-usb-96","audiobox96","c","driver","kernel-module","linux","linux-kernel","low-latency","low-latency-audio","presonus","usb-audio"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serifpersia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-26T16:16:32.000Z","updated_at":"2026-05-26T16:32:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/serifpersia/audiobox96","commit_stats":null,"previous_names":["serifpersia/audiobox96"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/serifpersia/audiobox96","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serifpersia%2Faudiobox96","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serifpersia%2Faudiobox96/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serifpersia%2Faudiobox96/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serifpersia%2Faudiobox96/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serifpersia","download_url":"https://codeload.github.com/serifpersia/audiobox96/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serifpersia%2Faudiobox96/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33707328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alsa","audiobox","audiobox-usb-96","audiobox96","c","driver","kernel-module","linux","linux-kernel","low-latency","low-latency-audio","presonus","usb-audio"],"created_at":"2026-05-30T20:02:25.969Z","updated_at":"2026-05-30T20:02:26.758Z","avatar_url":"https://github.com/serifpersia.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ALSA Driver for PreSonus AudioBox USB 96\n\nAn unofficial, low-latency ALSA kernel module for the PreSonus AudioBox USB 96 audio interface. This driver is designed to provide high-performance full-duplex audio support by bypassing the overhead of the generic USB audio driver.\n\n## Project Status\n\n### Implemented Features\n* Audio Playback\n* Audio Capture/Recording\n* Dynamic URB configuration for best hardware configuration\n\n### To-Do \u0026 Known Limitations\n* MIDI IN/OUT (not yet implemented but planned)\n\n## Compatibility\n\nThis driver has been tested and works reliably with the following audio servers:\n* **PipeWire**\n* **PipeWire-JACK**\n* **JACK2**\n\n## Performance Optimization\n\nTo achieve the lowest possible latency without audio dropouts (xruns), the following system optimizations are highly recommended:\n\n### 1. Recommended Kernels\nUsing a kernel with a high-frequency timer and \"Preempt\" enabled is beneficial for pro-audio tasks.\n* **Arch Linux:** The `linux-zen` kernel is recommended.\n* **Debian / Ubuntu / Pop!_OS:** The **Liquorix** kernel is highly recommended.\n\n### 2. CPU Power Management\nWhen running lower buffer configurations, modern CPU power-saving features can cause latency spikes. Set your CPU governor to performance mode.\n\n### 3. Realtime Configuration\nTo achieve stable low-latency performance, your user account must have realtime privileges.\n* **Groups:** Ensure your user is a member of the `realtime` and `audio` groups:\n  ```bash\n  sudo usermod -aG realtime,audio $USER\n  ```\n* **Limits:** You may also need to configure realtime limits (rtprio, memlock) in `/etc/security/limits.conf` or `/etc/security/limits.d/99-realtime.conf`. Many distributions handle this automatically when you install a pro-audio package or the `realtime-privileges` package.\n\n## Installation and Usage\n\nThis is an out-of-tree kernel module. You must compile it against the headers for your specific kernel version.\n\n### Step 1: Prevent Conflict with the Generic USB Audio Driver\n\nThe standard Linux kernel includes the `snd-usb-audio` driver, which will automatically claim the AudioBox 96. You must create a udev rule to unbind the device from the generic driver so this custom module can take control.\n\n1. Create a new udev rule file:\n   ```bash\n   sudo nano /etc/udev/rules.d/99-audiobox96.rules\n   ```\n\n2. Paste the following line:\n   ```text\n   ACTION==\"add\", SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"194f\", ATTRS{idProduct}==\"0303\", RUN+=\"/bin/sh -c 'echo -n %k \u003e /sys/bus/usb/drivers/snd-usb-audio/unbind'\"\n   ```\n\n3. Reload the rules:\n   ```bash\n   sudo udevadm control --reload-rules\n   sudo udevadm trigger\n   ```\n\n### Step 2: Install Prerequisites\n\nEnsure you have the build tools and headers for your kernel:\n\n* **Arch Linux / Manjaro:**\n  ```bash\n  sudo pacman -S base-devel linux-headers\n  ```\n\n* **Debian / Ubuntu / Pop!_OS / Mint:**\n  ```bash\n  sudo apt update\n  sudo apt install build-essential linux-headers-$(uname -r)\n  ```\n\n* **Fedora / CentOS Stream / RHEL:**\n  ```bash\n  sudo dnf install kernel-devel kernel-headers make gcc\n  ```\n\n### Step 3: Compile and Load the Driver\n\n1. Clone the repository and navigate to the directory:\n   ```bash\n   git clone https://github.com/serifpersia/audiobox96.git\n   cd audiobox96\n   ```\n\n2. Compile the module:\n   ```bash\n   make\n   ```\n\n3. Load the module for the current session:\n   ```bash\n   sudo insmod snd-usb-audiobox96.ko\n   ```\n\n### Step 4: Persistent Installation\n\nTo automate the compilation and installation so the driver remains available after a reboot, use the provided installation script:\n\n1. Make the script executable:\n   ```bash\n   chmod +x install.sh\n   ```\n\n2. Run the script:\n   ```bash\n   sudo ./install.sh\n   ```\n\n## Reporting Issues \u0026 Feedback\n\nWhen reporting issues, please include:\n* Linux distribution and version\n* Kernel version (`uname -r`)\n* Your audio setup (e.g., PipeWire or JACK version)\n* Buffer size and period settings used during the issue\n* Terminal output from `dmesg | tail -n 50`\n\n## License\n\nThis project is licensed under the **GPL-2.0** license. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserifpersia%2Faudiobox96","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserifpersia%2Faudiobox96","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserifpersia%2Faudiobox96/lists"}