オーディオが正しく機能しない

オーディオが正しく機能しない

私はDebian 11を使用しています。ヘッドセットとオーディオは同時に使用できません。コマンドを実行するとinitframs(これとは関係ありません)、いくつかのエラーが検出され、いくつかのRealtekファームウェア(私のオンボードマザーボードサウンドカード)が欠落していることがわかりました。そのため、Realtekを使用してRealtekファームウェアをインストールしsudo apt-get install firmware-realtek、再起動後に他の2つのオプションを見ることができました。私はStereo Duplexそれを使用し、コンピュータを再起動するまで動作し、今は最初の部分に戻りました。これらのオプションはなく、パッケージはすでにインストールされています。私は何をすべきですか?

編集する:

これは次の出力です。sudo dmesg -H |grep snd_

[  +0.000007] snd_hda_intel 0000:26:00.1: Handle vga_switcheroo audio client
[  +0.000078] snd_hda_intel 0000:28:00.4: enabling device (0000 -> 0002)
[  +0.003414] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC892: line_outs=4 (0x14/0x15/0x16/0x17/0x0) type:line
[  +0.000002] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:      Front Mic=0x19
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:      Rear Mic=0x18
[  +0.000001] snd_hda_codec_realtek hdaudioC1D0:      Line=0x1a

また、以下を実行して同じ出力を取得します。journalctl -xb |grep snd

役に立つかどうかgrepで編集しました。journalctl -xb |grep Audio

Mar 03 11:26:26 Deb-PC kernel: ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Front Mic as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input30
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Rear Mic as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input31
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input32
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line Out Front as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input33
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line Out Surround as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input34
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line Out CLFE as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input35
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Line Out Side as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input36
Mar 03 11:26:26 Deb-PC kernel: input: HD-Audio Generic Front Headphone as /devices/pci0000:00/0000:00:08.1/0000:28:00.4/sound/card1/input37
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Front Mic (/dev/input/event19)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Rear Mic (/dev/input/event20)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line (/dev/input/event21)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line Out Front (/dev/input/event22)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line Out Surround (/dev/input/event23)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line Out CLFE (/dev/input/event24)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Line Out Side (/dev/input/event25)
Mar 03 11:26:28 Deb-PC /usr/libexec/gdm-x-session[909]: (II) config/udev: Adding input device HD-Audio Generic Front Headphone (/dev/input/event26)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Front Mic (/dev/input/event19)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Rear Mic (/dev/input/event20)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line (/dev/input/event21)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line Out Front (/dev/input/event22)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line Out Surround (/dev/input/event23)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line Out CLFE (/dev/input/event24)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Line Out Side (/dev/input/event25)
Mar 03 11:26:39 Deb-PC /usr/libexec/gdm-x-session[1425]: (II) config/udev: Adding input device HD-Audio Generic Front Headphone (/dev/input/event26)

答え1

私はついにこの問題を「解決」しました。キャリアが提案したように、これはPulseAudioの問題かもしれません(デバイスがまだ初期化されていない可能性があります)。だから修正する部分は簡単です。私はこれを発見したか、systemctl --user restart pulseaudio.service一時的pulseaudio -kに私の問題を解決していたので、追加しましたpulseaudio -k。 (テストされていません)~/.profilesystemctl --user restart pulseaudio.service

注:追加crontab(ユーザーごと)は効果がありません。ユーザーがログインしたらすぐに実行する必要があります~/.profile。そうしないと、ログイン後にオーディオデバイスが再び破損します。誰でもこの問題が発生した場合は、これが役に立つことを願っています!

答え2

GoogleはRealtek ALC892と同様の問題についていくつかの議論を見つけました。

このビデオは多くの情報を収集します: https://www.youtube.com/watch?v=68jOe2rh6jE

これに基づいてを実行すると、alsamixer -c 0ターミナルベースのミキサー表示が表示されます。左上隅に現在調整されているサウンドデバイスが表示されます。これ以外の項目が表示されたら、を押しCard: HD-Audio GenericF6別のサウンドデバイスを選択するか、終了を押して他のサウンドデバイスを見つけるには、Escオプションの後ろの数字を増やします。-c

表示されたら、Card: HD-Audio Generic矢印キーを使用して項目間を移動します。ウィンドウが非常に広くない場合は、端をタッチするとディスプレイが左/右にスクロールすることがあります。 「自動ミュート」と「ループバック」という設定を見つけて、両方があることを確認しますDisabled(上下の矢印を使用して設定を切り替えます)。

自動ミュートは通常、ヘッドフォン接続に何かが接続されるたびにスピーカーをミュートします。自動ミュートをオフにすると、ヘッドフォンとスピーカーが同時に動作します。ただし、自動ミュート機能がスピーカーチャンネルをミュートしている場合は、左右のカーソルキーを使ってチャンネルに移動し、を押してミュートを切り替えてM手動でミュートを解除する必要があります。Playbackビュー(=デフォルトビュー、キー)ではヘッドフォン/スピーカーのミュートを解除する必要がありますが、ビューF3(キー)ではマイクのミュートを解除する必要があります。CaptureF4

hdajacksensetest(パッケージで)を実行してalsa-tools結果が適切であることを確認することもできます。present = No実際に接続されているオーディオジャックが表示されている場合は、システムBIOSのジャック検出マッピングが間違っている可能性があります。その後、hdajackretask(パッケージ内)を使用してalsa-tools-guiBIOS提供のジャック検出マッピングを上書きできます。これを行う必要がある場合は、システムファームウェア(BIOS / UEFI)を更新して問題が解決しないことを確認してください。そうでない場合は、Linuxサウンドドライバ開発者に使用する必要があるシステム/マザーボードのモデルとオプションを報告して、将来のhdajackretaskカーネルバージョンが自動的に修正を適用できるようにする必要があります。

一部のRealtekチップモデルでは、ドライバーカーネルモジュールのさまざまなmodel=<something>オプションをサポートしていますsnd_hda_intel。ただし、ALC892の場合、唯一サポートされているオプション(少なくともDebian 11の5.10カーネルでは)は次のとおりです。model=asrock-mobo得るASRock B150M自動起動。マザーボードがASRock B150M(Asus / ASRockで設計および/またはIntel B150チップセットを使用するなど)に似ていると思われる場合は、このモジュールオプションを試すことができます。


pulseaudio -kまたはを使用して問題を解決できるsystemctl --user restart pulseaudio.service場合、問題はすべてのサウンドデバイスが準備される前にPulseAudioデーモンが起動するようです。この場合、PulseAudio ユーザー サービスにオーディオ デバイスの明示的な依存関係を追加すると便利です。

まず、オーディオデバイスのシステムデバイス名を見つける必要があります。このコマンドは以下を出力する必要があります。

systemctl --user | awk '/sound-/{ print $1; }'

たとえば、私のシステムでは、1行に1つずつ3つの(長い)デバイス名が出力されます。

sys-devices-pci0000:00-0000:00:01.0-0000:01:00.1-sound-card1-controlC1.device
sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d4-1\x2d4.4-1\x2d4.4.1-1\x2d4.4.1:1.2-sound-card2-controlC2.device
sys-devices-pci0000:00-0000:00:1f.3-sound-card0-controlC0.device

テストするために、次の内容を含むファイルを追加しました~/.config/systemd/user/pulseaudio.service.d/override.conf(ディレクトリを最初に作成)。pulseaudio.service.d

[Unit]
Wants=sys-devices-pci0000:00-0000:00:01.0-0000:01:00.1-sound-card1-controlC1.device
Wants=sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d4-1\x2d4.4-1\x2d4.4.1-1\x2d4.4.1:1.2-sound-card2-controlC2.device
Wants=sys-devices-pci0000:00-0000:00:1f.3-sound-card0-controlC0.device
After=sys-devices-pci0000:00-0000:00:01.0-0000:01:00.1-sound-card1-controlC1.device
After=sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d4-1\x2d4.4-1\x2d4.4.1-1\x2d4.4.1:1.2-sound-card2-controlC2.device
After=sys-devices-pci0000:00-0000:00:1f.3-sound-card0-controlC0.device

systemdこれにより、これら3つのサウンドデバイスが必要pulseaudio.serviceであり、サービスを開始する必要があることが明らかになります。後ろにデバイスが準備されました。

特定のサウンドデバイスでも同じことができます。

免責事項:あなたの問題が最初に発生したため、私の提案がうまくいくかどうかを確認することはできません。テストを通して、それが害を及ぼさないことを証明することができます。ただし、この修正が有効な場合は、pulseaudio.serviceサービスを一度強制的に再起動して問題を解決するのではなく、早期起動を防ぐことで問題の実際の根本原因を排除する必要があります。

この修正が機能し、システム内のすべてのユーザーが機能するようにするには、ファイルをoverride.confディレクトリに移動するだけ/etc/systemd/user/pulseaudio.service.d/です(必要に応じてディレクトリを作成します)。

関連情報