LINUXでHDMI経由での音声が出ない
LinuxでHDMI経由で音が出ない場合のTipsです。エラーが出ず、動いているはずなのになぜか音が出ない症状で困っていました。
環境:Intel haswell内蔵GPU, Linux kernel 5.4.80
結論。/etc/pulse/daemon.confを修正する。
;(セミコロン)はコメント行ですので、設定値を反映させる場合は外します。
修正前
. . . ; default-sample-format = s16le ; default-sample-rate = 44100 . . .
修正後
. . . default-sample-format = s24le default-sample-rate = 48000 . . .
修正後はpulseaudio を再起動します。
$ pulseaudio -k
今どきALSAもないでしょうし、同じ症状でお困りの場合はお試しを。
(実はdefault-sample-rate = 48000 はなくても動作しました。しかし参考にしたBBSではこちらのほうが有効だという記事もあったので参考までに。
ところでHDMIの規格では次のようになっています。
If an HDMI Source supports any HDMI audio transmission, then it shall support 2 channel L-PCM using an IEC 60958 Subpacket structure, with either 32kHz, 44.1kHz or 48kHz sampling rate and a sample size of 16 bits or more.
ここを読む限り16bit 44.1kHzでも動作するはずなので、、動かない原因は不明です。GPU側のドライバの問題でしょうか…