Skip to content

Turn on sound through HDMI and DisplayPort displays - #83

Closed
erykwieliczko wants to merge 1 commit into
omacom:mainfrom
erykwieliczko:appledrm-hdmi-audio
Closed

erykwieliczko wants to merge 1 commit into
omacom:mainfrom
erykwieliczko:appledrm-hdmi-audio

Conversation

@erykwieliczko

Copy link
Copy Markdown

linux-aurora creates the HDMI/DisplayPort sound cards only when appledrm's hdmi_audio parameter is set, and it is off by default, so no Mac gets sound on an external display. This ships options appledrm hdmi_audio=1 in /usr/lib/modprobe.d, next to the notch default (asahi-notch.conf). The initramfs picks it up through modconf, as it does that one. An /etc/modprobe.d file with options appledrm hdmi_audio=0 turns it off again. The manual's hardware page says so in the same commit.

Testing

M3 Pro (J514S) with a TV on the HDMI port and on USB-C, running linux-aurora 7.2.11.aurora11 plus omacom/linux-aurora#295 and #297:

  • the HDMI/DP sinks appear with the display;
  • audio keeps playing across Chromium pause/resume and stream changes.

With alsa-ucm-conf-aurora at aurora-silicon/alsa-ucm-conf-asahi b9b2d0c82, the sinks also go away when the display is unplugged.

omarchy-mac/test: 17 of 20 scripts pass locally. setup, touchid-activate and touchid-consent fail the same way on unmodified main on this workstation (systemd-analyze verify: "Unit sysinit.target not found"), so they are left to CI.

Notes

🤖 Generated with Claude Code

linux-aurora creates the HDMI/DisplayPort sound cards only when appledrm's
hdmi_audio parameter is set, and it is off by default, so no Mac had
sound on an external display. Ship options appledrm hdmi_audio=1 in
/usr/lib/modprobe.d, next to the notch default; the initramfs picks it
up through modconf, as it does that one. An /etc/modprobe.d file with
hdmi_audio=0 turns it off again.

Tested on an M3 Pro (J514S) with a TV on the HDMI port and on USB-C,
with linux-aurora 7.2.11.aurora11 plus omacom/linux-aurora#295 and #297:
the sinks appear with the display, and audio keeps playing across
pause/resume and stream changes. With alsa-ucm-conf-aurora at
aurora-silicon/alsa-ucm-conf-asahi b9b2d0c82, the sinks also go away
when the display is unplugged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The default affects external-display audio across Macs using the package.

The PR appears safe to merge, with a small correction needed in the opt-out instructions.

Findings

  1. P2 Display sound stays enabled ▶

Summary

Enables display sound by shipping options appledrm hdmi_audio=1 and adds an opt-out instruction to the hardware manual.

  • HDMI and DisplayPort displays provide sound by default.

Reviews (1) · Last reviewed commit: "Turn on sound through HDMI and DisplayPo..." · Reviewed by Greptile

| Suspend and resume | <span class="status ok">works</span> | Open the lid or press the power button to wake the Mac. A key press or trackpad click does not wake it: the kernel drivers for the built-in keyboard and trackpad do not register as a wakeup source on M1 or M2 MacBooks. Closed in a bag, it stays asleep. |
| Battery, lid, power profiles | <span class="status ok">works</span> | |
| External displays | <span class="status ok">works</span> | HDMI on models that have it, USB4 and DisplayPort alt-mode through the Aurora kernel. Five displays on the M2 Max. A third and fourth display rely on an aquamarine fix carried until Hyprland releases it. |
| External displays | <span class="status ok">works</span> | HDMI on models that have it, USB4 and DisplayPort alt-mode through the Aurora kernel. Five displays on the M2 Max. A third and fourth display rely on an aquamarine fix carried until Hyprland releases it. Sound plays through HDMI and DisplayPort displays; `appledrm hdmi_audio=1` in `/usr/lib/modprobe.d` turns it on, and an `/etc/modprobe.d` file with `options appledrm hdmi_audio=0` turns it off. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Display sound stays enabled

The opt-out instruction leaves out the filename. Files with different names in /etc/modprobe.d and /usr/lib/modprobe.d are read in filename order. For example, /etc/modprobe.d/00-local.conf containing options appledrm hdmi_audio=0 is followed by the shipped hdmi_audio=1, so sound stays enabled despite following the manual.

Tell readers to use /etc/modprobe.d/appledrm-hdmi-audio.conf, which replaces the same-named vendor file.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant