Tanu has a patchset that makes HDMI audio work out of the box on NUCs that expose two different cards by adding some profile availability management logic to module-alsa-card: http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/24301
After those patches HDMI output works but plugging in headphones doesn't change the default device. Quote:
> On this hardware analog and HDMI outputs are on different cards, and the
> routing policy in PulseAudio doesn't currently automatically change the default
> device from one card to another, and also doesn't prefer one device type over
> another. I agree that headphones should be preferred by default.
> If you file another bug, I'll try to do something about it. It might turn out
> to be tricky, though.
pactl list: https://bugzilla.yoctoproject.org/attachment.cgi?id=2793
(this is without tanus patchset, just to document the setup).
Here's a partial fix:
It's "partial", because I think a full fix would mean moving existing streams from HDMI to headphones when headphones are plugged in. My current plan is to work on that next month.
Here's an additional patch that makes streams move when the default sink or source changes: