今どき(2025年現在)のLinuxについて、オーディオが再生できない場合のチェックポイントをまとめます
オーディオデバイスの接続を確認
内蔵オーディオであれば PCIe接続,外付けオーディオがならばUSB接続,をそれぞれ確認します
PCIの場合は lspci コマンドを使います
$ lspci |grep Audio 00:1f.3 Audio device: Intel Corporation Raptor Lake High Definition Audio Controller (rev 11) 01:00.1 Audio device: NVIDIA Corporation AD102 High Definition Audio Controller (rev a1
この場合内蔵デバイスとして intel の high definition audio ,加えて NVIDIAのグラボのオーディオが接続されていることが確認できます
内蔵デバイスを認識していない場合は,firmware(BIOS)の設定で内蔵オーディオがOFFになっている場合があります
USBの場合は lsusb を使います
$ lsusb |grep Audio
こちらは認識されない場合は,ケーブルの接続を見直しましょう
モジュール(ドライバ)確認
$ /sbin/lsmod | grep snd
モジュールは snd_hda_codec のように ,名前に "snd" が含まれています
モジュールが正しく動作していれば ALSAというオーディオシステムが動作するようになり,ALSA経由で音声が再生,録音できるようになります
動作確認は speaker-test(再生テストコマンド), aplay(再生コマンド)やarecord(録音コマンド)が利用できます
まず,モジュールがロードされていて,オーディオデバイスがALSAの一部として認識されているかどうか確認します
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: ALC897 Analog [ALC897 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 1: ALC897 Digital [ALC897 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 3: HDMI 0 [EV3895] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3] Subdevices: 1/1
再生デバイスが認識されていると, PLAYBACK Hardware Devices の部分にリストアップされます
実際に音を出してみます
$ speaker-test
音が聞こえない場合は,音量が小さすぎる可能性があります
音量は alsamixer で調整できます
ソフトウェアの確認
今どきのlinux はALSAを直接利用しておらず,pulseaudioか pipewireをつかってオーディオ関連を抽象化しています
よくわからない場合はとりあえず pirewire-pulse と pipewire-alsa をインストールしてみましょう
$ apt install pipewire-pulse $ apt install pipewire-alsa
pipewire や pulseaudio は sysytemd 経由で起動されます.またroot権限ではなく user権限で起動します
systemctl コマンドに "--user"オプションをつけると稼働状況が確認できます
$ systemctr --user
よくわからない場合は再起動すると,うまく行きます