アップデート後、PulseaudioはFedora 35で動作を停止しました。

アップデート後、PulseaudioはFedora 35で動作を停止しました。

Fedora 35でアップデートを実行し、dnf updateすべてのタスクが完了した後に再起動しました。

最初の症状:

YouTube動画を見ようとしても再生されません。 YouTubeでバッファリングが続行され、まもなく再生が始まらない場合は、「デバイスを再起動してみてください」というアドバイスを受けます。

その後、デスクトップでビデオを試してみましたが、音が出ました。効果がある、音などが聞こえます。

pavucontrol入力デバイス(マイク)を実行しないと、入力が表示されないことがわかりました。

また、を使用してビデオやオーディオを再生すると、再生mpvタブには表示されませんが、pavucontrol音は聞こえ、mpvは次のように報告します。

mpv bad\ apple\ instrumental.flac 
   cplayer:  (+) Audio --aid=1 (flac 2ch 44100Hz)
  ao/pulse: The stream is suspended. Bailing out.
   cplayer: AO: [alsa] 44100Hz stereo 2ch s32

それでは、ALSAデバイスを直接使用しているようです。

パルスオーディオボリュームプラグインなどで音量を調節できないようです。

私は問題を解決しようとします:

次のコマンドを使用してpulseaudioデーモンを再起動してみました。

systemctl --user stop pulseaudio
systemctl --yser start pulseaudio

これでpavucontrol「仮想出力」のみが表示され、入力デバイスや出力デバイスはまったく表示されません!

動画はYouTubeで再生されますが、音は出ません。ただし、再生タブにブラウザが表示され、出力を表示するレベルメーターもあります。

以下を使用して再生されたファイルでも同じことが起こりますmpv

mpv bad\ apple\ instrumental.flac
   cplayer:  (+) Audio --aid=1 (flac 2ch 44100Hz)
   cplayer: AO: [pulse] 44100Hz stereo 2ch s32

しかし今回は何も聞こえません。これは出力デバイスだけが認識されるため、論理的に見えます。出力を表示するレベルも表示できますが、音声はありません。

その後、systemctl --user stop pulseaudioデーモンを再び停止し、残りのすべてを終了してみましたpulseaudio -k。これで問題は、mpvブラウザを実行または使用しようとするたびにデーモンが再起動されることです。pulseaudio -kパルスオーディオが仮想出力のみであり、入力デバイスなしでそれ自体で実行されるのを防ぐことはできません。

ランニングsudo fuser -v /dev/snd/*ショー:

                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  root       1104 f.... alsactl
                     polemon    2544 F.... wireplumber
/dev/snd/controlC1:  root       1104 f.... alsactl
                     polemon    2544 F.... wireplumber
/dev/snd/controlC2:  root       1104 f.... alsactl
                     polemon    2544 F.... wireplumber
/dev/snd/controlC3:  root       1104 f.... alsactl
                     polemon    2544 F.... wireplumber
/dev/snd/seq:        polemon    2543 F.... pipewire

これが私が成し遂げた進展です。何らかの理由でpulseaudioやALSAに問題があるようですが、ここではどのように解決するのかわかりません。

pactl infoこれを見せてください:

Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 1
Tile Size: 65472
User Name: polemon
Host Name: desk
Server Name: pulseaudio
Server Version: 15.0
Default Sample Specification: s16le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: auto_null
Default Source: auto_null.monitor
Cookie: e6fd:9850

さらなる調査:

journalctl --user -ef出版時にモニタリングを行い、systemctl --user restart pulseaudio次の事実を発見しました。

Dec 28 20:40:37 desk systemd[1770]: Stopping Sound Service...
Dec 28 20:40:37 desk panel-8-pulseau[2027]: Disconected from the PulseAudio server. Attempting to reconnect in 5 seconds.
Dec 28 20:40:37 desk systemd[1770]: Stopped Sound Service.
Dec 28 20:40:37 desk systemd[1770]: Starting Sound Service...
Dec 28 20:40:37 desk pulseaudio[7299]: Failed to load module "module-alsa-card" (argument: "device_id="2" name="pci-0000_03_00.1" card_name="alsa_card.pci-0000_03_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
Dec 28 20:40:37 desk pulseaudio[7299]: Failed to load module "module-alsa-card" (argument: "device_id="1" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
Dec 28 20:40:37 desk pulseaudio[7299]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="usb-MICE_MICROPHONE_USB_MICROPHONE_201308-00" card_name="alsa_card.usb-MICE_MICROPHONE_USB_MICROPHONE_201308-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
Dec 28 20:40:37 desk pulseaudio[7299]: stat('/etc/pulse/default.pa.d'): No such file or directory
Dec 28 20:40:37 desk systemd[1770]: Started Sound Service.
Dec 28 20:41:02 desk pulseaudio[7299]: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

初期化が失敗していることがわかりますが、ここでどこに行くべきかわかりません。

ディレクトリが/etc/pulse/default.pa.d存在しません。

pulseaudio -vvvその後、デーモンを停止して実行しようとsystemctlしましたpulseaudio -k。数回試した後(pulseaudioが再起動を続ける)、正常に実行され、これが表示されます。

I: [pulseaudio] module.c: Loaded "module-stream-restore" (index: #1; argument: "").
D: [pulseaudio] database-tdb.c: Opened TDB database '/home/polemon/.config/pulse/c65f61a4c3e84f299be315ace0144549-card-database.tdb'
I: [pulseaudio] database.c: Successfully opened 'card-database' database file '/home/polemon/.config/pulse/c65f61a4c3e84f299be315ace0144549-card-database.tdb'.
I: [pulseaudio] module.c: Loaded "module-card-restore" (index: #2; argument: "").
I: [pulseaudio] module.c: Loaded "module-augment-properties" (index: #3; argument: "").
I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index: #4; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-udev-detect.so': success
D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC2 is accessible: yes
D: [pulseaudio] module-udev-detect.c: /devices/pci0000:00/0000:00:03.0/0000:03:00.1/sound/card2 is busy: no
D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="2" name="pci-0000_03_00.1" card_name="alsa_card.pci-0000_03_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"'
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus session bus c50f3068e569b911e3dd80c9a958124a as :1.255
D: [pulseaudio] reserve-wrap.c: Device 'Audio2' already locked.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="2" name="pci-0000_03_00.1" card_name="alsa_card.pci-0000_03_00.1" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:03.0/0000:03:00.1/sound/card2 (alsa_card.pci-0000_03_00.1) failed to load module.
D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC1 is accessible: yes
D: [pulseaudio] module-udev-detect.c: /devices/pci0000:00/0000:00:1b.0/sound/card1 is busy: no
D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="1" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"'
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus session bus c50f3068e569b911e3dd80c9a958124a as :1.256
D: [pulseaudio] reserve-wrap.c: Device 'Audio1' already locked.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="1" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1b.0/sound/card1 (alsa_card.pci-0000_00_1b.0) failed to load module.
D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
D: [pulseaudio] module-udev-detect.c: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/sound/card0 is busy: no
D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="0" name="usb-MICE_MICROPHONE_USB_MICROPHONE_201308-00" card_name="alsa_card.usb-MICE_MICROPHONE_USB_MICROPHONE_201308-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"'
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus session bus c50f3068e569b911e3dd80c9a958124a as :1.257
D: [pulseaudio] reserve-wrap.c: Device 'Audio0' already locked.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="usb-MICE_MICROPHONE_USB_MICROPHONE_201308-00" card_name="alsa_card.usb-MICE_MICROPHONE_USB_MICROPHONE_201308-00" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/sound/card0 (alsa_card.usb-MICE_MICROPHONE_USB_MICROPHONE_201308-00) failed to load module.
I: [pulseaudio] module-udev-detect.c: Found 3 cards.
I: [pulseaudio] module.c: Loaded "module-udev-detect" (index: #5; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-jackdbus-detect.so': failure
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-bluetooth-policy.so': success
I: [pulseaudio] module.c: Loaded "module-bluetooth-policy" (index: #9; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-bluetooth-discover.so': success
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-bluez5-discover.so': success
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus system bus 1e8b84c239532ac8ec203f444f9e5c24 as :1.207
I: [pulseaudio] module.c: Loaded "module-bluez5-discover" (index: #11; argument: "").
I: [pulseaudio] module.c: Loaded "module-bluetooth-discover" (index: #10; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-esound-protocol-unix.so': failure
E: [pulseaudio] socket-server.c: bind(): Address already in use
E: [pulseaudio] module.c: Failed to load module "module-native-protocol-unix" (argument: ""): initialization failed.
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-gsettings.so': failure
I: [pulseaudio] module-default-device-restore.c: Restoring default sink 'auto_null'.
I: [pulseaudio] core.c: configured_default_sink: (unset) -> auto_null
I: [pulseaudio] module-default-device-restore.c: Restoring default source 'auto_null.monitor'.
I: [pulseaudio] core.c: configured_default_source: (unset) -> auto_null.monitor
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
I: [pulseaudio] module.c: Loaded "module-default-device-restore" (index: #13; argument: "").
D: [pulseaudio] module-always-sink.c: Autoloading null-sink as no other sinks detected.
I: [pulseaudio] module-device-restore.c: Restoring volume for sink auto_null: front-left: 65536 / 100%,   front-right: 65536 / 100%
I: [pulseaudio] module-device-restore.c: Restoring mute state for sink auto_null: unmuted
I: [pulseaudio] sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     device.description = "Dummy Output"
I: [pulseaudio] sink.c:     device.class = "abstract"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"
I: [pulseaudio] source.c: Created source 0 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of Dummy Output"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"
D: [null-sink] module-null-sink.c: Thread starting up
D: [null-sink] util.c: RealtimeKit worked.
I: [null-sink] util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5.
D: [pulseaudio] sink.c: auto_null: state: INIT -> IDLE
D: [pulseaudio] source.c: auto_null.monitor: state: INIT -> IDLE
I: [pulseaudio] core.c: default_source: (unset) -> auto_null.monitor
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
I: [pulseaudio] core.c: default_sink: (unset) -> auto_null
D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event.
I: [pulseaudio] module.c: Loaded "module-null-sink" (index: #15; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'").
I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #14; argument: "").
I: [pulseaudio] module.c: Loaded "module-intended-roles" (index: #16; argument: "").
D: [pulseaudio] module-suspend-on-idle.c: Sink auto_null becomes idle, timeout in 5 seconds.
I: [pulseaudio] module.c: Loaded "module-suspend-on-idle" (index: #17; argument: "").
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-console-kit.so': success
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-15.0/modules/module-systemd-login.so': success
I: [pulseaudio] client.c: Created 0 "Login Session 2"
D: [pulseaudio] module-systemd-login.c: Added new session 2
I: [pulseaudio] core.c: exit_idle_time: 20 -> 0
I: [pulseaudio] module.c: Loaded "module-systemd-login" (index: #18; argument: "").
I: [pulseaudio] module.c: Loaded "module-position-event-sounds" (index: #19; argument: "").
D: [pulseaudio] stream-interaction.c: Using role 'phone' as trigger role.
D: [pulseaudio] stream-interaction.c: Using roles 'music' and 'video' as cork roles.
I: [pulseaudio] module.c: Loaded "module-role-cork" (index: #20; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-heuristics" (index: #21; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-apply" (index: #22; argument: "").
W: [pulseaudio] cli-command.c: stat('/etc/pulse/default.pa.d'): No such file or directory
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus session bus c50f3068e569b911e3dd80c9a958124a as :1.258
D: [pulseaudio] main.c: Got org.PulseAudio1!
D: [pulseaudio] main.c: Got org.pulseaudio.Server!
I: [pulseaudio] main.c: Daemon startup complete.

(関連のない行は省略)

もしデータベースがどのように破損したのか気になりますが、よくわかりません。

部分的に成功:

PipewireがPulseaudioを置き換える方法についてIRCでいくつかの提案を受けました。私の場合、この更新プロセスに問題がある可能性があるため、これを解決するのに役立つ必要があるようです。

dnf次のパッケージをインストールしました。

  • パイプラインパルスオーディオ
  • パイプライン-gstreamer
  • パイプラインユーティリティ

これにはパッケージ--allowerasingとしてオプションが必要です。pulseaudioその過程で削除されました。 Pipeline-pulseaudioのおかげで、まだpipeline-pulseaudioのようなツールを使用できるため、これは大きな問題ではないと聞きましたpavucontrol

私はwireplumberそれを交換するよりも維持することをお勧めしますpipewire-media-session

結果 - 再起動後の音は正常でした。この設定にはまだ問題があります。

  • デバイスをホットプラグできません。新しいマイクを接続すると使用できませんpavucontrol

これは非常に望ましくない。他のマイクは引き続き使用できるため、ウェブカメラのようなものには大きな問題ではありませんが、マイクを抜くと再起動するまで機能しません。 (まだサーバーを再起動しようとしませんでしたが、まだマイクを探しています。パイプの周り)。

関連情報