

Code: Select all
pulse.properties = {
# the addresses this server listens on
server.address = [
"unix:native"
#"unix:/tmp/something" # absolute paths may be used
"tcp:127.0.0.1:4713" # local server only
#"tcp:4713" # IPv4 and IPv6 on all addresses
#"tcp:[::]:9999" # IPv6 on all addresses
#"tcp:127.0.0.1:8888" # IPv4 on a single address
#
#{ address = "tcp:4713" # address
# max-clients = 64 # maximum number of clients
# listen-backlog = 32 # backlog in the server listen queue
# client.access = "restricted" # permissions for clients
#}
]
#pulse.min.req = 128/48000 # 2.7ms
#pulse.default.req = 960/48000 # 20 milliseconds
#pulse.min.frag = 128/48000 # 2.7ms
#pulse.default.frag = 96000/48000 # 2 seconds
#pulse.default.tlength = 96000/48000 # 2 seconds
#pulse.min.quantum = 128/48000 # 2.7ms
#pulse.idle.timeout = 0 # don't pause after underruns
#pulse.default.format = F32
#pulse.default.position = [ FL FR ]
# These overrides are only applied when running in a vm.
vm.overrides = {
pulse.min.quantum = 1024/48000 # 22ms
}
}
Code: Select all
PULSE_SERVER=tcp:127.0.0.1:4713
export PULSE_SERVER
Code: Select all
export DISABLE_RTKIT=1 PULSE_SERVER=tcp:127.0.0.1:4713
pipewire &
pipewire -c pipewire-pulse.conf &
sleep 1
exec wireplumber
For me the main reasons are google-chrome and discord.radio_flyer wrote:Until now I've been using ALSA just fine, but given the latest news it appears we're all going to have to find peace with pipewire sooner or later, particularly when running firefox.
Consistency: I just put the setup in my global profile.Is there any advantage to having the main user export PULSE_SERVER?
For me, this is the case, but especially google-chrome and discord is something I want to run with reduced permissions.The biggest problem I'm having getting pipewire set up is that all of the documentation seems to be written with the use case of one and only one user having full control of the computer at all times (ie the Microsoft way, not the UNIX way)
Code: Select all
$ gentoo-pipewire-launcher
$ chmod 777 /var/run/user/$UID/pipewire-0
$ echo $UID
1000
Code: Select all
if ! [[ -f "/run/user/$UID/pipewire-0" ]] ; then
ln -sf "/run/user/1000/pipewire-0" "/run/user/$UID/pipewire-0"
fiCode: Select all
bluez_monitor.properties["with-logind"] = falseEverything is in the UNIX way.dmpogo wrote:Funny how sound configuration did not become easier in 20+ years.
Code: Select all
$ dbus-launch gentoo-pipewire-launcher &Code: Select all
# rc-update add pipewire
# rebootCode: Select all
bluez_monitor.properties["with-logind"] = falseThis is up to the Gentoo developers to decide. You can write to them in the bugzilla and show them this example, and they should already draw conclusions based on this. I did this for myself, since I don’t really like the solution of autoloading the .desktop file. On the TDE desktop, system sounds run through the artsd sound server, so running pipewire as a system daemon is preferable. And of course, after adding this demon, now I like the sound work much more, since everything has become much more convenient.szatox wrote:ormorph, I wonder if it could be integrated into ebuilds already existing in the main repo.
media-video/pipewire[/code] already has "system-service" use flag, which I think enables global configuration, but it is currently only allowed with systemd. Would be great to have it init-agnostic.
Code: Select all
wireplumber.profiles = {
main = {
hardware.audio = required
hardware.bluetooth = required
monitor.bluez.seat-monitoring = disabled
}
}