私は Realtek ALC298 というオンボード サウンド カードを 1 枚しか持っていません。高度なサウンド設定は必要ありません。YouTube の動画を聞いたり、映画を見たりするためのサウンド システムだけです。これまで、多くのオンライン記事を参考にしてきました。試した内容をまとめると、次のようになります。
チャンネルがミュートされているかどうかを確認します。 を使用し
alsamixer
、 も確認しましたがpavucontrol
、どちらもミュートされたチャンネルは表示されません。 が 3 番目の手順 (下記を参照) のときにこの手順を繰り返しましたが、新しいチャンネルが時々表示されましたが、最終的には音が出ませんでした。ALSA の問題なのか、それとも PulseAudio の問題なのかを判断します。そこで、以下を使用しました
aplay -l
:
**** 再生ハードウェアデバイスのリスト **** カード 0: PCH [HDA Intel PCH]、デバイス 0: ALC298 アナログ [ALC298 アナログ] サブデバイス: 1/1 サブデバイス #0: サブデバイス #0 カード 0: PCH [HDA Intel PCH]、デバイス 3: HDMI 0 [HDMI 0] サブデバイス: 1/1 サブデバイス #0: サブデバイス #0 カード 0: PCH [HDA Intel PCH]、デバイス 7: HDMI 1 [HDMI 1] サブデバイス: 1/1 サブデバイス #0: サブデバイス #0 カード 0: PCH [HDA Intel PCH]、デバイス 8: HDMI 2 [HDMI 2] サブデバイス: 1/1 サブデバイス #0: サブデバイス #0 カード 0: PCH [HDA Intel PCH]、デバイス 9: HDMI 3 [HDMI 3] サブデバイス: 1/1 サブデバイス #0: サブデバイス #0 カード 0: PCH [HDA Intel PCH]、デバイス 10: HDMI 4 [HDMI 4] サブデバイス: 1/1 サブデバイス #0: サブデバイス #0
そこから、PCM 形式の wav ファイルを使用しましたaplay -D plughw:0,0 test.wav
。
WAVE 'test.wav' を再生中: 符号付き 32 ビット リトルエンディアン、レート 44100 Hz、ステレオ
しかし、何も聞こえません。スピーカーもヘッドフォンも、どこからも音が出ません。これは ALSA の問題であり、PulseAudio の問題ではないと結論付けましたが、この手順の間ずっと PulseAudio デーモンが実行されていたため、疑問が残ります。興味深い補足として、この手順を実行していたとき、gnome のサウンド設定では、何かが再生されているかのようにサウンド バーが動いていました :D
- 私は見つけたカーネルウェブサイトの記事HDA オーディオと、マシンを再起動せずにオーディオ コーデックを動的に再構成するカーネル機能について。リポジトリ
hdajackretask
の一部であるユーティリティ を見つけて使用しalsa-tools
、GUI を使用できました。このユーティリティは、ピンの変更をuser_pin_configs
ファイルに書き込みます (ちなみに、再起動後に手動で確認しました)。ただし、ピンの再割り当ての正しい組み合わせがわかりませんでした。再割り当てできるピンは次のとおりです。
0x12 0x13 0x14 0x17 0x18 0x19 0x1a 0x1d 0x1e 0x1f 0x21
- ここでの私のアイデアは、基本的に
ALC269
モデルを使用することでした興味深いパッチファイルALC269
グーグルで検索すると、リンクはrasp pi用ですが、試してみる価値があると思いました。サポートされているカーネル HDA オーディオ モデルこれによって何も変わることはありませんが、おそらく誰かが恩恵を受けることができるでしょう。
どのような助けでも大歓迎です。私は Linux のスキルをはるかに超えています。
PS: manjaro、linux56 ですが、すべてのディストリビューションでサウンド カードに関する同じ問題が発生しています。サウンドが機能することを期待して、過去数か月間にほぼすべてのディストリビューションをインストールしました。
編集1
追加しましたペーストビンalsa-info.sh
詳細については、をご覧ください。
答え1
朗報です!ronincoder という名の非常に賢い Arch ユーザーが、ヘッドフォン ジャックの修正方法を発見しました。私は ronincoder と協力してカーネル パッチ [1] を作成し、そのパッチが 5.7 カーネル リリースに採用されました。また、5.4 LTS カーネルにも適用されました。5.7.2 と 5.4.46 の両方を起動しましたが、ヘッドフォン ジャックの音声は大きくてクリアです。:)
あなたにとってはうまくいきますか? Samsung Notebook 9 Pro NP930SBE-K01US または NP930MBE-K04US (ronincoder は前者、私のは後者) をお持ちの場合はうまくいくはずです。 alsa_info.sh を実行して「ボード名」を確認することで、ラップトップ モデルを確認できます。 NP930SBE-K01US および NP930MBE-K04US の Realtek ALC298 コーデックは、それぞれ「サブシステム ID」0x144dc169 および 0x144dc176 で識別されます。 snd_hda_intel がこれらの ID のいずれかを検出すると、修正が実装されます。
スピーカーはどうでしょうか? 内蔵スピーカーで音が出ない問題はカーネル Bugzilla [2] に報告しました。Linux サウンド メンテナーの Jaroslav Kysela は、HDA コーデックに接続されているアンプが BIOS で初期化されていないために Linux ではアクティブになっていないのではないかと推測しています。彼は、QEMU を使用して Windows ドライバーのコーデック通信をダンプすることを提案しています。その後、ダンプを解析して、Early Patching [3] または別のカーネル パッチを使用して Linux で通信を再生することができます。Jaroslav がこの提案をしてから 1 か月が経ち、私は少し進歩しましたが、まだ良いダンプがありません。私を手伝ってくれる場合は、カーネル Bugzilla の議論に参加してください。^^
[1] 参考までに、私たちのパッチはコミット14425f1f521f(ALSA: hda/realtek: Samsung Notebook向けの機能追加)としてLinusのツリーに組み込まれました。[2]https://bugzilla.kernel.org/show_bug.cgi?id=207423 [3]https://www.kernel.org/doc/html/v4.17/sound/hd-audio/notes.html#早期パッチ
答え2
elementaryOS(Ubuntu 20.04ベース)では、MacBook Pro 2012の音が出ない問題は、設定ファイルを編集してsudo vim /etc/modprobe.d/alsa-base.conf
、
options snd-hda-intel model=generic
による
# options snd-hda-intel model=generic
options snd-hda-intel probe_mask=1
さらに詳しい説明:
注: インストール後、最初は正常に動作していたため、なぜ音が出ない問題が発生したのか、または以前に何が変更されたのかはわかりません。
ただし、pacmd list-cards
ターミナルでクエリを実行すると、出力は次のように変更されました (修正前)。
ports:
analog-input-mic: Mikrofon (priority 8700, latency offset 0 usec, available: unknown)
properties:
device.icon_name = "audio-input-microphone"
analog-output-speaker: Lautsprecher (priority 10000, latency offset 0 usec, available: unknown)
properties:
device.icon_name = "audio-speakers"
analog-output-headphones: Kopfhörer (priority 9900, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-headphones"
iec958-stereo-output: Digitalausgang (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
properties:
(修正後):
ports:
[Out] Speaker: Speaker (priority 100, latency offset 0 usec, available: unknown)
properties:
[Out] Headphones: Headphones (priority 200, latency offset 0 usec, available: no)
properties:
[In] Mic2: Headphones Stereo Microphone (priority 200, latency offset 0 usec, available: unknown)
properties:
(ここで構文の違いに注意してください。)
また、出力はsudo vim aplay -l
(修正前)から変更されました:
Karte 0: PCH [HDA Intel PCH], Gerät 0: Generic Analog [Generic Analog]
Sub-Geräte: 0/1
Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 1: Generic Digital [Generic Digital]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
(修正後):
Karte 0: PCH [HDA Intel PCH], Gerät 0: CS4206 Analog [CS4206 Analog]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: PCH [HDA Intel PCH], Gerät 1: CS4206 Digital [CS4206 Digital]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
答え3
ここで問題となるのは、Realtek の ALC298 には I2S という異なるバス要件があることです。linux56 の時点では I2S オーディオ コーデックはサポートされておらず、これが新しい標準のようです。Lenovo、Samsung、Huawei は、この新しい I2S 標準のサウンド カードを使用しているようですが、この件に関して未解決のスレッドやトピックが数多く存在し、放置されているのが見つかりました。
私はヘッドフォンを修正する回避策を見つけました。これは私と、Samsung Notebook Pro 9 を使用しているもう 1 人のユーザーにとって有効でした。この解決策では、「Early Patching」と呼ばれるカーネル機能を使用して、デフォルトのピン、動詞、モデル、その他の ALSA 固有の属性をオプションでオーバーライドします。代替カスタム カーネル パッチを含む完全な情報は、次の Web サイトにあります。Arch Linux フォーラム。
答え4
以下の手順を試してください。私のシステムでは同様の問題を解決できました。
「aplay」コマンドを実行しても何も聞こえません。「sudo aplay」コマンドを実行してはどうでしょうか。ALSA が動作していれば、音が聞こえるはずです。
お使いのシステムでは pulseaudio が動作していると思います。ただし、alsa-lib と snd-hda-intel ドライバーの間に互換性の問題がある可能性があります。
$pacmd カード一覧
「ポート」の結果を確認してください。スピーカーに関連するものが表示されない場合は、サウンド カードが pulseaudio によって認識されていないことを意味します。
「/usr/share/alsa/ucm2/HDA-Intel/HDA-Intel.conf」ファイルを編集します。「Define.Use」の後に空の文字列が表示された場合は、文字列に「3」と入力してください。その後、保存します。
マシンを再起動します。それでも音が出ない場合は、サウンド カードが「ダミー出力」になっているかどうかを確認します。その場合は、「/etc/modprobe.d/alsa-base.conf」の末尾に「options snd-hda-intel model=generic」を追加します。
この問題は主に「HDA-Intel.conf」によって発生します。開発者が「Define.Use」文字列を空のままにしておく理由がまったくわかりません。