Skip to content

drm/apple: turn DP/HDMI audio on by default - #300

Merged
erykwieliczko merged 1 commit into
integration/aurorafrom
feat/dcp-hdmi-audio-default-on
Oct 30, 2026
Merged

erykwieliczko merged 1 commit into
integration/aurorafrom
feat/dcp-hdmi-audio-default-on

Conversation

@erykwieliczko

Copy link
Copy Markdown
Collaborator

Problem

DP/HDMI audio is off unless appledrm.hdmi_audio=1 is set, so a distribution that wants it has to ship that option in a modprobe.d file (omarchy-mac-pkgs#83).

Fix

Default hdmi_audio to on and keep the parameter as the opt-out: appledrm.hdmi_audio=0 on the kernel command line, or options appledrm hdmi_audio=0 in modprobe.d before the driver loads. The parameter description no longer says "unstable".

The default applies to every machine the driver supports, M1 and M2 included.

Independent of #297 (no shared files); it applies cleanly with or without it.

Testing

  • J514S (M3 Pro): this is the configuration it has run with since the reinstall (hdmi_audio=1 through modprobe.d), HDMI port and USB-C, with drm/apple: hold the audio link on the Type-C ports too #297's hold. This head itself was not booted, since the only change is the parameter's initial value.
  • check-commits.py and checkpatch.pl --strict: clean.

🤖 Generated with Claude Code

DP/HDMI audio through the display coprocessor has been off unless
appledrm.hdmi_audio=1 was set, so a distribution that wants it has to
ship that option in a modprobe.d file.

Make it the default and keep the parameter as the way to turn it off:
appledrm.hdmi_audio=0 on the kernel command line, or
"options appledrm hdmi_audio=0" in modprobe.d before the driver loads.
The default applies to every machine the driver supports, M1 and M2
included.

Signed-off-by: Eryk Wieliczko <eryk@wieliczko.ninja>
Assisted-by: Claude:claude-opus-5-5

@chriskearney chriskearney left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed exact head c9e5b25. Source passes: hdmi_audio now initializes to true; the existing bool parameter, name and permissions remain unchanged. The other changes are comments/description. Firmware, DT, DMA and model-admission gates are untouched, and the change is disjoint from #295/#297.

CI run 41137945169 passed compile, KUnit, host tests, package and QEMU boot. That PR build merges this head onto 919b433; it does not contain #295/#297. Normal current-base merge-queue CI remains required. The compiled-default and opt-out runtime proofs are still separate release checks, not claimed here.

Release ordering: with audio enabled and the shipped UCM lacking the apple_dcp profile, our J516S boot snapshots selected the DCP generic stereo sink as the default with HDMI disconnected on both boots. This can route normal playback away from the speakers; its priority-versus-saved-state cause is not established. The jack-aware UCM profile from omarchy-pkgs#1889 must therefore deploy before or with any released kernel package carrying this default. One clean sample must not erase those two observations. This is a kernel-package release condition, not a blocker to this integration merge.

The off switch remains appledrm.hdmi_audio=0, or options appledrm hdmi_audio=0 available before module loading (rebuild an early boot image after configuration changes). A runtime write does not remove an already-created card. Existing unsupported-firmware warnings remain unchanged. No all-board playback or full-stack packaging qualification is implied by this approval.

@erykwieliczko
erykwieliczko added this pull request to the merge queue Oct 30, 2026
@erykwieliczko

Copy link
Copy Markdown
Collaborator Author

The jack-aware UCM profile from omarchy-pkgs#1889 must therefore deploy before or with any released kernel package carrying this default

You're hallucinating, 1889 simply changes default from "disabled" to "enabled".

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.

2 participants