Linuxで音が出ない場合のチェックポイント

今どき(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のグラボのオーディオが接続されていることが確認できます

内蔵デバイスを認識していない場合は,firmwareBIOS)の設定で内蔵オーディオが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 で調整できます


ソフトウェアの確認

今どきのlinuxALSAを直接利用しておらず,pulseaudioか pipewireをつかってオーディオ関連を抽象化しています

よくわからない場合はとりあえず pirewire-pulse と pipewire-alsa をインストールしてみましょう

$ apt install pipewire-pulse
$ apt install pipewire-alsa

pipewire や pulseaudio は sysytemd 経由で起動されます.またroot権限ではなく user権限で起動します

systemctl コマンドに "--user"オプションをつけると稼働状況が確認できます

$ systemctr --user

よくわからない場合は再起動すると,うまく行きます

動作確認

pactl コマンドで状況を確認します

$ pactl list sinks

sinkとは再生デバイスのことです

sinkとして”null デバイス”しか出力されない場合は,pipewireまたはpulseaudioが再生デバイスを認識していません.pirewire-alsa がインストールされているか,ALSAレベルでオーディオデバイスが認識されているか,を確認します


sinkとして音声デバイスが認識されている場合は,多くの場合音量が小さすぎる or ミュートになっているだけです

音量は以下のコマンドで調整します

  • alsamixer
  • pavucontrol