fix: pipewire plugin launch fails

This commit is contained in:
hesam-init 2024-11-02 20:09:41 +03:30
parent 05531211dc
commit 94b7e38c4d
4 changed files with 136 additions and 96 deletions

View file

@ -4,7 +4,7 @@
windowrulev2 = workspace 1,class:^(Thorium-browser|chrome|google-chrome|Chrome|Firefox|firefox|FreeTube)$ windowrulev2 = workspace 1,class:^(Thorium-browser|chrome|google-chrome|Chrome|Firefox|firefox|FreeTube)$
windowrulev2 = workspace 2,class:^(code-url-handler|code|Code|Code - OSS|.*jetbrains.*)$ windowrulev2 = workspace 2,class:^(code-url-handler|code|Code|Code - OSS|.*jetbrains.*)$
windowrulev2 = workspace 3,class:^(nekoray|Nekoray|hiddify)$ # windowrulev2 = workspace 3,class:^(nekoray|Nekoray|hiddify)$
windowrulev2 = workspace 4,class:^(org.telegram.desktop|telegramdesktop|discord|vesktop)$ windowrulev2 = workspace 4,class:^(org.telegram.desktop|telegramdesktop|discord|vesktop)$
windowrulev2 = workspace 5,class:^(Spotify)$ windowrulev2 = workspace 5,class:^(Spotify)$
# windowrulev2 = workspace 6,title:^(.*PCSX2.*)$ # windowrulev2 = workspace 6,title:^(.*PCSX2.*)$

View file

@ -0,0 +1,37 @@
context.properties = {
## Properties for the DSP configuration.
default.clock.rate = 192000
default.clock.allowed-rates = [ 44100 48000 88200 96000 192000 352800 384000]
default.clock.quantum = 32
default.clock.min-quantum = 16
default.clock.max-quantum = 768
}
context.modules = [
#{ name = <module-name>
# ( args = { <key> = <value> ... } )
# ( flags = [ ( ifexists ) ( nofail ) ] )
# ( condition = [ { <key> = <value> ... } ... ] )
#}
#
# Loads a module with the given parameters.
# If ifexists is given, the module is ignored when it is not found.
# If nofail is given, module initialization failures are ignored.
# If condition is given, the module is loaded only when the context
# properties all match the match rules.
#
# Uses realtime scheduling to boost the audio thread priorities. This uses
# RTKit if the user doesn't have permission to use regular realtime
# scheduling.
{ name = libpipewire-module-rt
args = {
nice.level = -12
rt.prio = 89
rt.time.soft = 200000
rt.time.hard = 200000
}
flags = [ ifexists nofail ]
}
]

View file

@ -1,61 +1,63 @@
context.modules = [ # context.modules = [
{ # {
name = libpipewire-module-filter-chain # name = libpipewire-module-filter-chain
args = { # flags = [ ifexists nofail ]
node.description = "DeepFilter Noise Canceling Source" # args = {
media.name = "DeepFilter Noise Canceling Source" # node.description = "DeepFilter Noise Canceling Source"
filter.graph = { # media.name = "DeepFilter Noise Canceling Source"
nodes = [ # filter.graph = {
{ # nodes = [
type = ladspa # {
name = "DeepFilter Mono" # type = ladspa
plugin = /home/hesam/Pipewire/libdeep_filter_ladspa-0.5.6-x86_64-unknown-linux-gnu.so # name = "DeepFilter Mono"
label = deep_filter_mono # plugin = /home/hesam/Pipewire/libdeep_filter_ladspa-0.5.6-x86_64-unknown-linux-gnu.so
control = { # label = deep_filter_mono
"Attenuation Limit (dB)" 100 # control = {
} # "Attenuation Limit (dB)" 100
} # }
] # }
} # ]
audio.rate = 48000 # }
audio.position = [MONO] # audio.rate = 48000
capture.props = { # audio.position = [MONO]
node.passive = true # capture.props = {
} # node.passive = true
playback.props = { # }
media.class = Audio/Source # playback.props = {
} # media.class = Audio/Source
} # }
}, # }
# { # },
# name = libpipewire-module-filter-chain # {
# args = { # name = libpipewire-module-filter-chain
# node.description = "DeepFilter Noise Canceling Sink" # flags = [ ifexists nofail ]
# media.name = "DeepFilter Noise Canceling Sink" # args = {
# filter.graph = { # node.description = "DeepFilter Noise Canceling Sink"
# nodes = [ # media.name = "DeepFilter Noise Canceling Sink"
# { # filter.graph = {
# type = ladspa # nodes = [
# name = "DeepFilter Stereo" # {
# plugin = /home/hesam/Pipewire/libdeep_filter_ladspa-0.5.6-x86_64-unknown-linux-gnu.so # type = ladspa
# label = deep_filter_stereo # name = "DeepFilter Stereo"
# control = { # plugin = /home/hesam/Pipewire/libdeep_filter_ladspa-0.5.6-x86_64-unknown-linux-gnu.so
# "Attenuation Limit (dB)" 100 # label = deep_filter_stereo
# } # control = {
# } # "Attenuation Limit (dB)" 100
# ] # }
# } # }
# audio.rate = 48000 # ]
# audio.channels = 2 # }
# audio.position = [FL FR] # audio.rate = 48000
# capture.props = { # audio.channels = 2
# node.name = "deep_filter_stereo_input" # audio.position = [FL FR]
# media.class = Audio/Sink # capture.props = {
# } # node.name = "deep_filter_stereo_input"
# playback.props = { # media.class = Audio/Sink
# node.name = "deep_filter_stereo_output" # }
# node.passive = true # playback.props = {
# } # node.name = "deep_filter_stereo_output"
# } # node.passive = true
# } # }
] # }
# }
# ]

View file

@ -1,34 +1,35 @@
# context.modules = [ context.modules = [
# { {
# name = libpipewire-module-filter-chain name = libpipewire-module-filter-chain
# args = { flags = [ ifexists nofail ]
# node.description = "Noise Canceling source" args = {
# media.name = "Noise Canceling source" node.description = "Noise Canceling source"
# filter.graph = { media.name = "Noise Canceling source"
# nodes = [ filter.graph = {
# { nodes = [
# type = ladspa {
# name = rnnoise type = ladspa
# plugin = /home/hesam/Pipewire/linux-rnnoise/ladspa/librnnoise_ladspa.so name = rnnoise
# label = noise_suppressor_mono plugin = /home/hesam/Pipewire/linux-rnnoise/ladspa/librnnoise_ladspa.so
# control = { label = noise_suppressor_mono
# "VAD Threshold (%)" = 50.0 control = {
# "VAD Grace Period (ms)" = 200 "VAD Threshold (%)" = 50.0
# "Retroactive VAD Grace (ms)" = 0 "VAD Grace Period (ms)" = 200
# } "Retroactive VAD Grace (ms)" = 0
# } }
# ] }
# } ]
# capture.props = { }
# node.name = "capture.rnnoise_source" capture.props = {
# node.passive = true node.name = "capture.rnnoise_source"
# audio.rate = 48000 node.passive = true
# } audio.rate = 48000
# playback.props = { }
# node.name = "rnnoise_source" playback.props = {
# media.class = Audio/Source node.name = "rnnoise_source"
# audio.rate = 48000 media.class = Audio/Source
# } audio.rate = 48000
# } }
# } }
# ] }
]