Fedora 35では、WirePlumberはパイプライン - メディア - セッションをオーディオセッションマネージャに置き換えます。 Linuxに組み込まれている多くのサウンドカードのオーディオには、3秒間何も再生しないとオーディオレシーバーが一時停止するという非常に迷惑な問題があります。 3秒後に再生が再開されると、音声が遅れたり、飛び出したりします。このデフォルトの動作をどのように修正できますか?
ベストアンサー1
関連する設定ファイルですが、/usr/share/wireplumber/main.lua.d/50-alsa-config.lua
システムバージョンを編集しないでください。
/etc/wireplumber/main.lua.d/
これを(グローバル構成)または(ユーザー構成)にコピーし、~/.config/wireplumber/main.lua.d/
必要な変更を加える必要があります。
最も簡単な方法は、すべてのユーザーアカウントに適用されるようにグローバル設定の場所にコピーすることです。
sudo cp -a /usr/share/wireplumber/main.lua.d/50-alsa-config.lua /etc/wireplumber/main.lua.d/50-alsa-config.lua
sudo nano /etc/wireplumber/main.lua.d/50-alsa-config.lua
apply_properties
次に、ファイルの下部の該当するセクションまで下にスクロールし、そこに1行を追加する必要があります。
["session.suspend-timeout-seconds"] = 0
私はいくつかをさらに変更し、私の個人的なハードウェアに合わせてカスタマイズしました。参照用の構成は次のとおりです。ただし、この構成は正確なデバイスでのみ機能します。実際、自動サスペンドを無効にするには、上記の行だけが必要です。これを自分のデフォルト設定に追加します。私の設定をコピーしないでください。私が変更した他のものは関係ありません。
alsa_monitor.properties = {
["alsa.jack-device"] = true,
["alsa.reserve"] = true,
["alsa.midi.monitoring"] = true
}
alsa_monitor.rules = {
{
matches = {
{
{ "device.name", "matches", "alsa_card.*" }
}
},
apply_properties = {
["api.alsa.use-acp"] = true,
["api.acp.auto-profile"] = false,
["api.acp.auto-port"] = false
}
},
{
matches = {
{
{ "node.name", "matches", "alsa_output.pci-0000_0c_00.4.iec958-ac3-surround-51" }
}
},
apply_properties = {
["api.alsa.period-size"] = 128,
["api.alsa.headroom"] = 2048,
["session.suspend-timeout-seconds"] = 0
}
},
{
matches = {
{
{ "node.name", "matches", "alsa_input.usb-BEHRINGER_UMC202HD_192k-00.analog-mono" }
}
},
apply_properties = {
["api.alsa.period-size"] = 128
}
}
}
一時停止/スリープ動作を防ぐには、このsession.suspend-timeout-seconds
プロパティを設定します。0
WirePlumberのソースコードに示すように、動作を完全に無効にします。
変更を適用するには、WirePlumberを再起動する必要があります。
systemctl --user restart wireplumber