nowfound

Dev tools · March 18, 2026

IW

I wrote a macOS C++ audio driver to fix HDMI volume controls

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:…

What it does

In the maker’s words, at launch

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.

Does the same job

all alternatives →
  • VolumeHubFeb 2026 · ▲195

    Per-app volume control for macOS with no driver installs

  • SoundSource 3.02017 · ▲102

    The sound control that should be built into MacOS

  • VolumeGlassMar 2026 · ▲94

    Beautiful volume control for macOS

  • MonitorControl2020 · ▲103

    🖥 Control external monitor brightness & volume on your Mac

  • VM
    Volume Mixer for Mac2015 · volumemixer-app.com · ▲22
  • eqMac2022 · ▲145

    System audio equalizer and volume mixer for macOS

More dev tools this month

the category →
  • Dograh592

    The open source VAPI alternative

    Dev tools · 25d ago · dograh.com

  • Meridian530

    Don't let your work go unnoticed. Get promoted!

    Dev tools · 20d ago · meridiona.com

  • x1516

    Lovable for iPhone apps go from idea to App Store

    Dev tools · 11d ago · x1.new

  • Open-source GTM skills for technical founders

    Dev tools · 29d ago · gtmcofounder.com

  • OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.

    Dev tools · 1d ago · opentrailpaper.com

  • Nuphos380

    The AI-Native DevOps Workspace.

    Dev tools · 24d ago · nuphos.ai

Launched alongside, March 2026

the whole month →
  • AI-native CRM that builds itself and does work for you

    AI · Mar 2026 · lightfield.app

  • Tobira.ai730

    A network where AI agents find deals for their humans

    AI · Mar 2026 · tobira.ai

  • Switch from ChatGPT to Claude with import memory feature

    AI · Mar 2026 · claude.com

  • The AI assistant that already knows your work

    AI · Mar 2026 · littlebird.ai

  • Your AI Coworker that proactively executes tasks

    AI · Mar 2026 · viktor.com

  • Jupid664

    File your taxes with Claude Code

    Commerce · Mar 2026 · jupid.com