Mac mini 4.1のHDMIで音声を出力する

やっと出た。

nouveauではなくプロプライエタリのドライバを使う

If you have problems here, double-check that you’re using the NVIDIA binary driver, and not the nv or nouveau drivers; those drivers don’t send the required ELD information to the audio hardware.

http://http.download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html#_verify_your_eld_is_valid

ELDというのはEDIDのサブセットで、ディスプレイが対応しているオーディオフォーマットなどが記されている。って頭のほうに書いてあった。
今の環境だとこんな感じ。

$ cat /proc/asound/card0/eld#4.0
monitor_present         0
eld_valid               0

$ cat /proc/asound/card0/eld#5.0
monitor_present         1
eld_valid               1
...
sad_count               3
sad0_coding_type        [0x1] LPCM
sad0_channels           2
sad0_rates              [0xe0] 32000 44100 48000
...

hw:0,8

$ aplay -l
card 0: NVidia [HDA NVidia], device 0: Cirrus Analog [Cirrus Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: Cirrus Digital [Cirrus Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

HDMIって書かれてるの3つあるけど、それぞれ出力先が違う。

For digital output there are 3 devices (as running aplay -l will show).
Device id=3 is the SP/DIF output
Device id=7 is the Display Port output
Device id=8 is the HDMI Port output

http://ubuntuforums.org/showthread.php?t=1670215

今になって思えば、先のeld#3.0〜5.0がそれぞれid=3,7,8に対応してたんだなと。