⛳
Linuxのサウンドまわりのデバイスが動かないときはsof-firmwareを入れておけ
タイトルの通りです。これで何もかも解決します
$ sudo pacman -S sof-firmware
経緯
Dell XPS 13にArch Linuxをインストールしたらサウンドが全く反応しないことがありました。サウンドの入力・出力デバイスが検出されず、/proc/asound/card0/*
にもファイルが存在しません。Ubuntuを入れると動作したので、ハードウェアの故障やドライバの未対応ではありません。
サウンドカードはAlder Lake
として認識している様子。
$ lspci | rg audio
0000:00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake Smart Sound Technology Audio Controller (rev 01)
LinuxカーネルのドキュメントやArch Wikiを読んだりしながらsnd-hda-ntel
のパラメータをいろいろいじってみても変わりませんでした。
Dell のノートパソコンの多くは /etc/modprobe.d/modprobe.conf のモデル名に "-dmic" を加えることを必要とします:
/etc/modprobe.d/audofix.conf
options snd-hda-intel dmic_detect=0
options snd-hda-intel model=laptop-amic enable=yes
options snd-hda-intel model=laptop-amic
options snd-hda-intel model=laptop-dmic
options snd-hda-intel model=inv-dmic
options snd-hda-intel model=dell-headset-multi
options snd-hda-intel model=dell-m6-dmic
起動メッセージを見たらsof-firmware file is missing
とか出てたのでsof-firmware
を入れたら解決。たぶんUbuntuやDebianだとfirmware-sof
です。
$ sudo dmesg | rg audio
...
[ 4.694477] sof-audio-pci-intel-tgl 0000:00:1f.3: Direct firmware load for intel/sof/sof-adl.ri failed with error -2
[ 4.694479] sof-audio-pci-intel-tgl 0000:00:1f.3: error: sof firmware file is missing, you might need to
[ 4.694480] sof-audio-pci-intel-tgl 0000:00:1f.3: download it from https://github.com/thesofproject/sof-bin/
[ 4.694481] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP firmware -2
[ 4.694805] sof-audio-pci-intel-tgl 0000:00:1f.3: error: sof_probe_work failed err: -2
$ sudo pacman -S sof-firmware
Sound Open Firmwareとは
DSPやオーディオ処理に関連するファームウェア(not ドライバ)をオープンソースで提供するプロジェクトで、数年前にLinux Foundationの一部になったそうです。IntelやAMDも参加してるみたいですね。
半年くらいサウンドが使えず時間を無駄にしました。同じ苦労をする方が出ませんように
Discussion