web-dev-qa-db-ja.com

Debianテストへのアップグレード後にPulseAudioがIntel HDAを認識しない(バスター)

Debian 9安定版からDebian 10テストにアップグレードした後、夏の間に問題に気づきました:PulseAudioがIntel HDAオーディオデバイスを認識しなくなりました。当時、nVidia HDMI経由で接続されているモニターのオーディオに切り替えることができたため、将来のアップデートで修正されることを期待して問題を回避しました。彼らはしていません。数か月早送りして、ワークスペースを再配置しましたが、今度はIntel HDAを再び動作させる必要があります。

これが私がこれまで見てきたものです...

Debian 10テスト

カーネルはそれを見ます:

# dmesg | grep HDA
[  +0.005509] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input17
[  +0.000073] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input18
[  +0.000057] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input19
[  +0.000054] input: HDA Intel PCH Line Out Front as /devices/pci0000:00/0000:00:1b.0/sound/card0/input20
[  +0.000052] input: HDA Intel PCH Line Out Surround as /devices/pci0000:00/0000:00:1b.0/sound/card0/input21
[  +0.000051] input: HDA Intel PCH Line Out CLFE as /devices/pci0000:00/0000:00:1b.0/sound/card0/input22
[  +0.000053] input: HDA Intel PCH Line Out Side as /devices/pci0000:00/0000:00:1b.0/sound/card0/input23
[  +0.000058] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input24
[followed by NVidia HDMI audio devices that are recognized]

# lspci -nnk | grep -A2 Audio
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
    Subsystem: Gigabyte Technology Co., Ltd 7 Series/C216 Chipset Family High Definition Audio Controller [1458:a002]
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
[followed by NVidia HDMI audio devices that are recognized]

ALSAはそれを見ています:

# aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: Generic Analog [Generic Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: Generic Digital [Generic Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
[followed by NVidia HDMI audio devices that are recognized]

# aplay -L | grep PCH
default:CARD=PCH
    HDA Intel PCH, Generic Analog
sysdefault:CARD=PCH
    HDA Intel PCH, Generic Analog
front:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Digital
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
dmix:CARD=PCH,DEV=1
    HDA Intel PCH, Generic Digital
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
dsnoop:CARD=PCH,DEV=1
    HDA Intel PCH, Generic Digital
hw:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
hw:CARD=PCH,DEV=1
    HDA Intel PCH, Generic Digital
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, Generic Analog
plughw:CARD=PCH,DEV=1
    HDA Intel PCH, Generic Digital

speaker-testは、aplay -D defaultと同様に、通常どおりオーディオを再生します:CARD = PCH /usr/share/sounds/alsa/Front_Left.wav

ただし、PulseAudioはデバイスをまったく認識しません。

$ pacmd list-sinks
1 sink(s) available.
  * index: 0
    name: <auto_null>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1000
    volume: front-left: 55705 /  85% / -4.24 dB,   front-right: 55705 /  85% / -4.24 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 344 KiB
    max rewind: 344 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    module: 16
    properties:
        device.description = "Dummy Output"
        device.class = "abstract"
        device.icon_name = "audio-card"

サウンド設定に移動すると、ダミー出力デバイスしか表示されません。 (nVidiaデバイスはここにリストされなくなりました。再配置する際に、オーディオなしの別のモニターを使用しているため、現在HDMIオーディオデバイスが接続されていないためです。)

PulseAudioの設定を一掃しようとしましたが、次の方法でレガシーの残骸があるかもしれません:

rm ~/.Pulse/* ~/.config/Pulse/*

Debian 9安定版

このマシンには、Debian 9がまだ実行されている別のパーティションがあり、Intel HDAはPulseAudioで動作します。ALSAドライバーとDebian 10には違いがあるようです。以下に違いがあります...

# aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC887-VD Digital [ALC887-VD Digital]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

# aplay -L | grep PCH

sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Digital
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
dmix:CARD=PCH,DEV=1
    HDA Intel PCH, ALC887-VD Digital
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
dsnoop:CARD=PCH,DEV=1
    HDA Intel PCH, ALC887-VD Digital
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
hw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC887-VD Digital
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC887-VD Analog
plughw:CARD=PCH,DEV=1
    HDA Intel PCH, ALC887-VD Digital

そしてもちろん、Debian 9はPulseAudioでIntel HDAを見ています:

$ pacmd list-sinks
1 sink(s) available.
  * index: 2
    name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
    state: RUNNING
    suspend cause: 
    priority: 9958
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 24.26 ms
    max request: 4 KiB
    max rewind: 344 KiB
    monitor source: 3
    sample spec: s16le 2ch 48000Hz
    channel map: front-left,front-right
                 Stereo
    used by: 1
    linked by: 1
    configured latency: 25.00 ms; range is 0.50 .. 1837.50 ms
    card: 1 <alsa_card.pci-0000_00_1b.0>
    module: 7
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ALC887-VD Digital"
        alsa.id = "ALC887-VD Digital"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "1"
        alsa.card = "0"
        alsa.card_name = "HDA Intel PCH"
        alsa.long_card_name = "HDA Intel PCH at 0xf5130000 irq 30"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:1b.0"
        sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
        device.bus = "pci"
        device.vendor.id = "8086"
        device.vendor.name = "Intel Corporation"
        device.product.id = "1e20"
        device.product.name = "7 Series/C216 Chipset Family High Definition Audio Controller"
        device.form_factor = "internal"
        device.string = "iec958:0"
        device.buffering.buffer_size = "352800"
        device.buffering.fragment_size = "176400"
        device.access_mode = "mmap+timer"
        device.profile.name = "iec958-stereo"
        device.profile.description = "Digital Stereo (IEC958)"
        device.description = "Built-in Audio Digital Stereo (IEC958)"
        alsa.mixer_name = "Realtek ALC887-VD"
        alsa.components = "HDA:10ec0887,1458a002,00100302"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
            properties:

    active port: <iec958-stereo-output>

それで問題は明らかに:Debian 10のPulseAudioでIntel HDAオーディオを再び機能させるにはどうすればよいですか?これは構成の観点から修正できるものですか、それともALSAまたはPulseAudioのメンテナが修正する必要があるドライバの問題ですか?

9
blihp

他の誰かがこれに遭遇した場合、PulseAudioがALSAデバイスを使用するように強制する回避策は次のとおりです...

まず、ALSAを介してオーディオを直接再生して、必要な正しいサウンドカードとデバイスがわかっていることを確認します。

aplay -D plughw:<CARD#>,<DEVICE#> /usr/share/sounds/alsa/Front_Center.wav

私の場合、上記の質問で見たように、私のaplay -l出力に基づいて光オーディオ出力が必要でした:

aplay -D plughw:0,1 /usr/share/sounds/alsa/Front_Center.wav

カードとデバイス番号をメモし、/etc/Pulse/default.paにエントリを追加します(0,1を前の手順で機能したものに置き換えます)。

load-module module-alsa-sink device=plughw:0,1

この行をファイルの。ifexists module-udev-detect.so行の直前に追加しました(つまり、###オーディオドライバーを静的に読み込むコメント)

次に、デスクトップセッションにログインしているユーザー(つまり、ルートとしてnot)として次のコマンドを実行します。

pulseaudio --kill
pulseaudio --start

次に、サウンド設定を開いてカードを表示および選択できるはずです。

enter image description here

この時点で、PulseAudioによるオーディオ再生が再び機能するようになります。 (私が気付いたのは、pacmd list-cardsstillカードを一覧表示しないことです(現在は機能しますが)。注意:これは回避策であり、長期的な修正ではないので、必ずメモしてください自分でこれを元に戻して、正しく修正されているかどうかを確認してください。ただし、当面はオーディオが機能します。

5
blihp

非常に同じ問題のため、私はここに行きました。Stretchからアップグレードした後、オーディオが消えました。同様の症状と出力(NvidiaカードとIntel HDAサウンド)。ただし、指示に従っている間に、この手順を実行できないことがわかりました。

root@desk:~# aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav
aplay: main:828: audio open error: Device or resource busy

私は犯人が臆病であることがわかりました:

root@desk:~# fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/pcmC0D0p:   timidity   1274 F...m timidity
/dev/snd/seq:        timidity   1274 F.... timidity

それを殺した後、編集を進めることができました/etc/Pulse/default.paとすべてが所定の位置にスナップされました。私はまだ問題がPAシンクの欠落であったのか、それとも臆病なことであるのかわかりません。

バグレポートを提出することも検討しましたが、どこがより適切かはわかりません。何か提案があれば、私はあなたのリードに従い、レポートへの私のサポートを追加さ​​せていただきます。

ソリューションを共有していただきありがとうございます!

10
Ntropia

私はまさにこの問題を抱えていて、Timidityをアンインストールすることで解決しました。文字通り、パッケージがaptによって削除されたときに、サウンドカード(ボリュームの変更として解釈される)を持っていることを示す通知が表示されました。

8
Debianuser

debian 9からDebian 10にアップグレードした後、私はダミーシンクしかなく、オーディオはまったくありませんでした

aplay -l失敗、99-Pulse.confを開くときにエラーが報告されました

私は造った /etc/alsa/conf.d/99-Pulse.conf Xubuntuインストールから取得した内容:

# PulseAudio alsa plugin configuration file to set the pulseaudio plugin as
# default output for applications using alsa when pulseaudio is running.
hook_func.Pulse_load_if_running {
    lib "libasound_module_conf_Pulse.so"
    func "conf_Pulse_hook_load_if_running"
}

@hooks [
    {
        func Pulse_load_if_running
        files [
            "/usr/share/alsa/Pulse-alsa.conf"
        ]
        errors false
    }
]

これは私の問題を解決しました

0
nd34567s32e