KINGJIM PORTABOOK XMC10

音が出なくなってしまったので復旧作業を行いました

 

Xubuntu 24.04 LTS (カーネル 6.8.0) をインストールしました。環境整備をしたりアプリケーションを追加したり、いろいろいじってました。たぶん apt upgrade で一括でやってしまった可能性があるんですが、カーネルが 6.11.0-17 に上がってました。

 

バックライトの輝度調整をできるようにするために、それをできるようにしてくれるカーネルモジュールのソースコードをコンパイルするのですが、カーネルとの不整合で insmod がエラーになるため、とうとうカーネルソースコード及びヘッダーソースコードをそろえてカーネルビルドすることになりました。その際いくつか失敗をやらかしたようで、バージョンの異なるソースコードが混ざってしまいました。

 

異なるバージョンのソースだかヘッダーだかに汚染させてしまったので、それは消去して、ダウンロードしてもってきた Linux カーネルソース&ヘッダーをもう一度展開しなおしました。バージョンは 6.11.0-26-26 というやつでした。これでいいのかどうか確信ありません。

 

いまは、カーネルビルドして生成した vmlinuz で稼働しています。そして、バックライトの輝度調整用のカーネルモジュールも insmod できるようになりました。ところが、ふと気づくと、いつどんなことをしてからなのかも、いまとなっては不明ですが、音が出なくなってしました。最初の頃は出ていたのに。

 

音が出なくても、PORTABOOKの使い道を考えると、差し支えないんですが、一応復旧させてみようと思ったわけです。簡単お手軽に、数行のコマンドで復旧するだろうと高を括ってましたが、たぶん勘違いらしきこともやらかしたおかげで、復旧に手間どってしまいましたが、YouTube再生も音楽鑑賞もシステム音も「音で困ることはない環境」に復旧できました。

 

0 音が出なくなったときの定番解決方法は項目6なのか?

このブログの初稿は2025-06-21ですが、この項目0については、2025-12-06に追記してます。2025-12-05に、いわゆる sudo apt upgrade したのですがそれ以降再び音が出なくなりましたので、このブログ備忘録を参考にして問題を解決しました。今回は、項番6の解決策1だけで解決しました。

1 音が出ない件を復旧した今の状態についてのまとめ

再び音が出なくなったときに備えて備忘録としてここに残しておきます。
・ デフォルトSink: alsa_output.platform-cht-bsw-rt5672.HiFi__hw_rt5672__sink
・ mpv.conf に PulseAudio Sink 明示済み
・ pavucontrol で出力先確認可能
・ 再起動後も sink が安定して表示される
・ ~/.config/mpv/mpv.conf
・ ~/.asoundrc 及び /etc/pulse/default.pa の現在の構成
・ 使用中カーネルの音声周辺モジュール(snd_soc_*, rt5672, sof) 
・ /etc/modprobe.d/alsa-base.conf

 

2 ~/.config/mpv/mpv.conf

中身:

ao=pulse
audio-device=pulse/alsa_output.platform-cht-bsw-rt5672.HiFi__hw_rt5672__sink

次に sink をみます。

$ pactl list short sinks

0    rt5672_out    module-alsa-sink.c    s16le 2ch 48000Hz    SUSPENDED
1    alsa_output.platform-cht-bsw-rt5672.HiFi__hw_rt5672__sink    module-alsa-card.c    s16le 2ch 48000Hz    SUSPENDED

ここで rt5672_out と alsa_output.* が両方出る場合には、両者が競合しないように、どちらか一方を使用する方が安定する傾向があります(特に module-alsa-sink を load した場合)。
そして sink を指定します。

$ pactl set-default-sink alsa_output.platform-cht-bsw-rt5672.HiFi__hw_rt5672__sink

動作試験します。

$ paplay /usr/share/sounds/alsa/Front_Center.wav

フロントセンターという声が聞こえればOKです。

 

2 ~/.asoundrc

たとえば、

$ mpv --audio-device=alsa/sysdefault:CARD=rt5672 https://www.youtube.com/watch?v=Zn7STkI_EBw

のように、mpv を dmix 経由で使って動画や音楽の再生を行うときには .asoundrc を設定します。これは ALSA のミキシングプラグインを使用して排他ではなく共有アクセスを可能にします。
~/.asoundrc
中身:

pcm.!default {
  type plug
  slave.pcm "dmix"
}

mpv はデフォルトでバッファが大きめですが、古いデバイスでは逆にタイムアウトを招くことがありますので、ALSA バッファサイズを調整すると効果がある場合があります。

$ mpv --audio-device=alsa/plughw:CARD=rt5672,DEV=0 --alsa-buffer-size=4096 https://www.youtube.com/watch?v=Zn7STkI_EBw

plughwはソフトウェア変換が入るためバグることもありますのでhwにすると効果がある場合がある。

$ mpv --audio-device=alsa/hw:CARD=rt5672,DEV=0 https://www.youtube.com/watch?v=Zn7STkI_EBw

 

3 /etc/pulse/default.pa

PulseAudio の設定ファイルを修正すると効果がある場合があります。
/etc/pulse/default.pa に以下の行があるか確認し、なければ追加:

load-module module-alsa-sink device=hw:0,0 sink_name=rt5672_out
load-module module-alsa-source device=hw:1,0

追加後、PulseAudio を再起動します:
$ pulseaudio -k
$ pulseaudio --start
PulseAudio 経由で mpv を使用する構成で安定したなら、alsa/hw:* 系再生は必要に応じて使う「検証・切り分け用」として残すのがよいでしょう。

 

4 使用中カーネルの音声周辺モジュール(snd_soc_*, rt5672, sof) 

$ lsmod | grep snd_soc_*
snd_soc_sst_cht_bsw_rt5672    24576  5
snd_soc_acpi_intel_match   114688  2 snd_sof_acpi_intel_byt,snd_intel_sst_acpi
snd_soc_sst_atom_hifi2_platform   118784  1 snd_intel_sst_core
snd_soc_acpi           16384  3 snd_sof_intel_atom,snd_soc_acpi_intel_match,snd_intel_sst_acpi
snd_soc_rt5670        167936  2 snd_soc_sst_cht_bsw_rt5672
snd_soc_rl6231         16384  1 snd_soc_rt5670
snd_soc_core          425984  4 snd_sof,snd_soc_rt5670,snd_soc_sst_cht_bsw_rt5672,snd_soc_sst_atom_hifi2_platform
snd_compress           28672  1 snd_soc_core
ac97_bus               12288  1 snd_soc_core
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm               192512  8 snd_sof,snd_soc_rt5670,snd_soc_sst_cht_bsw_rt5672,snd_compress,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_sof_utils,snd_pcm_dmaengine
snd                   139264  20 snd_seq,snd_seq_device,snd_sof,snd_timer,snd_soc_sst_cht_bsw_rt5672,snd_compress,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_pcm,snd_rawmidi

$ lsmod | grep rt5672
snd_soc_sst_cht_bsw_rt5672    24576  5
snd_soc_rt5670        167936  2 snd_soc_sst_cht_bsw_rt5672
snd_soc_core          425984  4 snd_sof,snd_soc_rt5670,snd_soc_sst_cht_bsw_rt5672,snd_soc_sst_atom_hifi2_platform
snd_pcm               192512  8 snd_sof,snd_soc_rt5670,snd_soc_sst_cht_bsw_rt5672,snd_compress,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_sof_utils,snd_pcm_dmaengine
snd                   139264  20 snd_seq,snd_seq_device,snd_sof,snd_timer,snd_soc_sst_cht_bsw_rt5672,snd_compress,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_pcm,snd_rawmidi

$ lsmod | grep sof
snd_sof_acpi_intel_byt    20480  0
snd_sof_acpi           16384  1 snd_sof_acpi_intel_byt
snd_sof_intel_atom     20480  1 snd_sof_acpi_intel_byt
snd_sof_xtensa_dsp     12288  1 snd_sof_acpi_intel_byt
snd_sof               376832  3 snd_sof_intel_atom,snd_sof_acpi,snd_sof_acpi_intel_byt
snd_sof_utils          16384  1 snd_sof
snd_soc_acpi_intel_match   114688  2 snd_sof_acpi_intel_byt,snd_intel_sst_acpi
snd_soc_acpi           16384  3 snd_sof_intel_atom,snd_soc_acpi_intel_match,snd_intel_sst_acpi
snd_intel_dspcfg       45056  3 snd_sof,snd_sof_acpi_intel_byt,snd_intel_sst_acpi
snd_soc_core          425984  4 snd_sof,snd_soc_rt5670,snd_soc_sst_cht_bsw_rt5672,snd_soc_sst_atom_hifi2_platform
snd_pcm               192512  8 snd_sof,snd_soc_rt5670,snd_soc_sst_cht_bsw_rt5672,snd_compress,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_sof_utils,snd_pcm_dmaengine
snd                   139264  20 snd_seq,snd_seq_device,snd_sof,snd_timer,snd_soc_sst_cht_bsw_rt5672,snd_compress,snd_soc_sst_atom_hifi2_platform,snd_soc_core,snd_pcm,snd_rawmidi

 

5 /etc/modprobe.d/alsa-base.conf に以下を追加

options snd_sof sof_debug=1
blacklist snd_soc_avs
options snd-hda-intel model=generic
options snd-hda-intel dmic_detect=0

 

6 Dummy Output 問題

動画再生アプリmpv等で音が出ないだけでなく、システム音も出ないということは、音声サーバーが物理デバイスを認識できていない状態であり、PulseAudio でも PipeWire でも sink が作成されていないことが原因です。この問題は Ubuntu 24.04 LTS で報告されている「Dummy Output」問題と一致しており、特に sof-bytcht rt5672 のような SoC オーディオデバイスでは頻発します。

解決策1:pulseaudio の再インストールと再読み込みで効果が得られる場合がある。

$ sudo apt-get install --reinstall alsa-base pulseaudio
$ sudo alsa force-reload
$ pulseaudio -k
$ pulseaudio --start

解決策2:snd_soc_avs をブラックリスト化して旧ドライバに切り替える。
この方法は Fixing No Sound (Dummy Output) Issue in Ubuntu 24.04 で紹介されており、PulseAudioでもPipeWireでもsinkが作成されない場合の最終手段として有効です。
手順:
①参考動画で手順を確認
・題名:Fix "Dummy Output" No Sound Issue on Ubuntu 24.04 LTS
 内容:pavucontrol を使った出力デバイスの確認
・題名:How To Fix Audio Issues On Ubuntu LinuxSOLVED
 内容:alsamixer でミュート解除や音量調整
・題名:FIX NO SOUND DUMMY OUTPUT on Ubuntu 22.04 / 22.10
 内容:alsa force-reload や PulseAudio の再起動手順
・題名:How to Fix no Sound in Linux Mint or Ubuntu
 内容:ALSAとPulseAudioの接続チェック
・題名:Linux No Sound - Dummy Output - Quick Fix.
 内容:modprobe や alsa-base.conf の編集例
・題名:Ubuntu Fix Dummy Output (no audio)
 内容:pulseaudio -k && sudo alsa force-reload の組み合わせで音が復活する例。
    この方法は カーネルを変更せずに現状の環境で音を復活させる最も有力な手段です。
②現在のドライバを確認

$ inxi -A

snd_soc_avs が使われている場合、これを無効化します。
③ブラックリスト設定を追加

$ echo "blacklist snd_soc_avs" | sudo tee -a /etc/modprobe.d/alsa-base.conf

④旧ドライバを強制的に使用

$ echo "options snd-hda-intel model=generic" | sudo tee -a /etc/modprobe.d/alsa-base.conf
$ echo "options snd-hda-intel dmic_detect=0" | sudo tee -a /etc/modprobe.d/alsa-base.conf

⑤再インストールと再読み込み

$ sudo apt-get install --reinstall alsa-base pulseaudio
$ sudo alsa force-reload
$ pulseaudio -k
$ pulseaudio --start

⑥再起動

$ sudo reboot

⑦動作確認

pavucontrol を起動して「出力デバイス」に sof-bytcht rt5672 が表示されるか確認。

下のコマンドラインでシステム音が出るか確認する。

$ paplay /usr/share/sounds/alsa/Front_Center.wav

下のコマンドラインでYouTube音声が出るか確認する。

$ mpv --ao=pulse https://www.youtube.com/watch?v=Zn7STkI_EBw

以上

 

⇒⇒ KINGJIM XMC10 PORTABOOK Xubuntu24.04LTS まとめ