I wrote a macOS C++ audio driver to fix HDMI volume controls
Details
- External ID
- 47422178
- Source
- HN
- Company
- —
- Product
- I wrote a macOS C++ audio driver to fix HDMI volume controls
- Website domain
- github.com
- Launched
- March 18, 2026
- Cohort
- —
- Upvotes
- 6
- Upvotes percentile
- 0.2853628536285363
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:26 p.m.
- Updated at
- Sept. 7, 2026, 9:26 p.m.
Description
Hi HN, If you’ve ever plugged an external monitor (HDMI/DisplayPort) or a USB DAC into a Mac, you probably know the frustration: the volume keys instantly die, the volume slider greys out, and macOS throws a icon at you. Apple strictly treats digital outputs as "Fixed Volume" devices and refuses to apply software gain. I got tired of this, so I built SoundBridge – an open-source, ultra-lightweight system audio router that natively restores volume controls for any external device. Repo: https://github.com/chenjy16/SoundBridge The Problem with Existing Solutions: DDC/CI tools (like MonitorControl): They are great when they work, but they frequently fail if you route through certain Type-C docks, KVM switches, or if the monitor firmware is just buggy. Plus, they don't work for external DACs. Existing Software Mixers (eqMac, SoundSource): They are either heavy (Electron/web-based UI), expensive, or require intrusive Accessibility permissions to intercept the F11/F12 media keys using CGEventTap. My Architecture (How SoundBridge works): I wanted a solution that feels 100% native to macOS with near-zero latency. It consists of three parts: The C++ HAL Plugin (Driver): Built on top of libASPL, it creates a virtual "Proxy Device". The magic trick here is that by properly implementing the kAudioDevicePropertyVolumeScalar and kAudioDevicePropertyMute properties at the driver level, macOS natively handles the F11/F12 keys and pops up the native volume HUD. No Accessibility permissions or keyloggers required. Shared Memory (IPC): The C++ driver streams the intercepted PCM audio and the volume scalar state to the host process via a lock-free ring buffer (using std::atomic and mmap) in /tmp/. The Swift Host (AVAudioEngine): A lightweight background daemon reads from the ring buffer, applies the software gain (using linear scaling to match macOS's perceived logarithmic volume curve), and outputs the bit-perfect audio to the actual physical HDMI device. Request for Roast: While I’m comfortable with Swift, writing lock-free concurrency in C++ for real-time audio (where a single lock or allocation can cause a glitch) was a steep learning curve. I would absolutely love it if the C++ and CoreAudio veterans here could roast my driver architecture, specifically the RFSharedAudio memory barriers and the IPC synchronization.
Enrichment
- Theme
- custom keyboards and input controllers
- Vertical
- Horizontal
- Function
- Hardware & robotics
- Audience
- Prosumer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- macos audio driver for hdmi volume control
- Manually corrected
- False
Could you build this?
No Developing a macOS audio driver requires writing C++ against Apple's CoreAudio HAL and Audio Server Plugin architecture under strict real-time, non-blocking audio engine constraints.
What it would actually take: A functional driver requires building an AudioServerPlugin in C++ implementing the CoreAudio HAL plugin API, managing volume curves, and routing PCM streams without memory allocations or locks on real-time threads. It also requires specialized macOS kernel/driver signing privileges and deep knowledge of Apple audio subsystem internals.
Discussion
No comments on this launch.
Competitors
Other products that read as similar to this one — 312 launches clear the similarity bar, closest 8 shown.
Attention rank: #281 of 313 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 121 days after the earliest competitor.
- MoniVol · ph · 2026-09-28 · 1 upvotes · similarity 0.60
- We missed Winamp, so we built an audio player for macOS · hn · 2026-05-18 · 71 upvotes · similarity 0.56
- SOUND · ph · 2026-09-26 · 101 upvotes · similarity 0.54
- AMExclusive · github · 2026-09-09 · 8 upvotes · similarity 0.51
- Audio Converter Plus · ph · 2026-09-16 · 1 upvotes · similarity 0.51
- mactooloud · ph · 2026-09-23 · 5 upvotes · similarity 0.51
- SoundFerry · ph · 2026-09-26 · 1 upvotes · similarity 0.50
- MoniVol · github · 2026-09-27 · 17 upvotes · similarity 0.50
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a hardware & robotics tool for Fintech yet.