概要

Ubuntu22.04が降ってきて、ゴリラの20.10から順調にアップグレードしてきたので、今回も大丈夫だろうと雑にアップグレードしたら大分困ったことになった。
1つは、スクリーンショットのショートカットを設定して、macOS風にしていたがそれが消えていた。(スクリーンショット周りがmacOS?あたりと近い雰囲気になったかも)
つぎに、これは後で気がついたことなのでアップグレードとは関係がまだわからないが、VSCodeで個別に設定したキーボードショートカットが動かなくなった。(ターミナルとエディター移動をキーボードでやれていて設定されているのだけど、なぜか動かない…!!地味にめんどうなので後でトラブルシュートが必要..)
極めつけには、サウンド周りの設定が飛んで「Dummy Output」となり音声がでなくなってしまった。。。

USBハブ経由でオーディオミキサーのAG03とつないでいたが、直接X300(Ubuntuデスクトップ機)にヘッドホンをつないでも無反応。。
Ubuntuのサウンド周りというか、デバイス周りがまったくわかっていないのでトラブルシュートがてら記録をしていくことにした。(結論はしょうもないです。)

lshw

twitterで元同僚氏に教えてもらったlshwコマンド。
manで見ると、list hardwareとある。

$ sudo lshw | grep -A 3 Audio
                詳細: Audio device
                製品: Renoir Radeon High Definition Audio Controller
                ベンダー: Advanced Micro Devices, Inc. [AMD/ATI]
                物理ID: 0.1
                バス情報: pci@0000:04:00.1
--
                   製品: HD-Audio Generic HDMI/DP,pcm=3
                   物理ID: 0
                   論理名: input4
                   論理名: /dev/input/event4
--
                   製品: HD-Audio Generic HDMI/DP,pcm=7
                   物理ID: 1
                   論理名: input5
                   論理名: /dev/input/event5
--
                   製品: HD-Audio Generic HDMI/DP,pcm=8
                   物理ID: 2
                   論理名: input6
                   論理名: /dev/input/event6
--
                   製品: HD-Audio Generic HDMI/DP,pcm=9
                   物理ID: 3
                   論理名: input7
                   論理名: /dev/input/event7
--
                詳細: Audio device
                製品: Family 17h (Models 10h-1fh) HD Audio Controller
                ベンダー: Advanced Micro Devices, Inc. [AMD]
                物理ID: 0.6
                バス情報: pci@0000:04:00.6
--
                   製品: HD-Audio Generic Line Out
                   物理ID: 0
                   論理名: input10
                   論理名: /dev/input/event10
--
                   製品: HD-Audio Generic Front Headphone
                   物理ID: 1
                   論理名: input11
                   論理名: /dev/input/event11
--
                   製品: HD-Audio Generic Mic
                   物理ID: 2
                   論理名: input8
                   論理名: /dev/input/event8
--
                   製品: HD-Audio Generic Mic
                   物理ID: 3
                   論理名: input9
                   論理名: /dev/input/event9

lspciでも確認してみる。

❯ lspci | grep -i audio
04:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller
04:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller

Audio Deviceがなにやら2つあり、1つは「Renoir Radeon High Definition Audio Controller」でもう1つは「Family 17h (Models 10h-1fh) HD Audio Controller」。
デバイスとしては認識はしている模様。
しかし、これらの文字列でググるとだいたい「sound not working」とか「no sound」とか出てくるので、怪しいとは思いつつ、原因はわからず。

サウンドカード

つぎにサウンドカードの認識状況はproc配下で確認できるらしい。

❯ cat /proc/asound/cards
───────┼───────────────
       │ File: /proc/asound/cards
───────┼───────────────
   1   │  0 [Generic        ]: HDA-Intel - HD-Audio Generic
   2   │                       HD-Audio Generic at 0xfcb88000 irq 77
   3   │  1 [Generic_1      ]: HDA-Intel - HD-Audio Generic
   4   │                       HD-Audio Generic at 0xfcb80000 irq 78
   5   │  2 [C920           ]: USB-Audio - HD Pro Webcam C920
   6   │                       HD Pro Webcam C920 at usb-0000:04:00.4-2.2.1.2, high speed
   7   │  3 [AG06AG03       ]: USB-Audio - AG06/AG03
   8   │                       Yamaha Corporation AG06/AG03 at usb-0000:04:00.4-2.2.1.4.1, high speed

刺してるカメラのオーディオとミキサーのAG03が認識されてはいる模様。
HDA-Intelというのがサウンドカードっぽい。これも問題はなさそうには見えるが…。

❯ sudo lspci -nnk | grep -A2 Audio
04:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
    Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
--
04:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3]
    Subsystem: ASRock Incorporation Family 17h (Models 10h-1fh) HD Audio Controller [1849:2233]
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
❯ sudo lsmod | grep snd_hda_intel
snd_hda_intel          53248  0
snd_intel_dspcfg       28672  1 snd_hda_intel
snd_hda_codec         155648  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core          110592  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_pcm               139264  5 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,snd_hda_core
snd                   102400  13 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi

カーネルモジュールでは snd_hda_intel が読み込まれている。
この辺りか?と思って、cat /etc/modeprobe.d/alsa-base.conf をいじり始めるが、特に変わらず。ちなみに、indexで読み込みの順番を変えたり、コーデックを指定したりできるらしいことを知った。

ガチャガチャやりだしたけど改善しないので、改めて、Ubuntuのサウンド周りについて調べ始める。
pulseaudioというのが、サウンドサーバーとして動くようで、おそらくデフォルトでインストールされているはず。
しかし、ps を打ってもでてない。pulseaudio –start としてもサウンドは認識されず。。。
再インストールしても駄目。

うーーーんと唸って、3日くらい経過した。
※ちなみにsyslogやdmesgにエラーらしき出力はなかった

結局

あらためて今日この辺りを見直していて気がついたこととして、なぜかpipewireが動いていた。(historyを漁って気がついた)
pipewireもオーディオサーバーの1つで、pulseaudioを置き換えて使うことができる模様。
おそらくどこかのタイミングで適当に入れてしまったようなので、まずこれを消して、pulseaudioとそれに関連してalsaも入れ直し設定周りもリセットしたら、あっさり動いたやんけ〜〜〜〜〜😭

今回の教訓、適当に代替ミドルウェアは入れてはいけない…(当たり前)

しょうもない結論で申し訳ないのですが、結局残念ながらdummy outputになった原因は不明。おそらくpulseaudioの入れ直しで動いたのではと思われる。
~/.config/pulse/ 配下にtdbというバイナリがあり、途中それらをディレクトリごとまるっと消したりもしているので、その周辺ファイルでおかしくなってたのかもしれない。

いずれにせよ、久しぶりに数日ハマった内容だった。。

カテゴリー: DailyLinux