Hi Keith Barrett schrieb am 20.08.2024, 14:40 +0100: >It appears that pipewire is now standard with mate. > >I was having issues switching from Orca to speakup so I attempted to remove >pipewire. > >When doing this, pulseaudio was installed instead, there does not seem to be >an option to remove pulse and pipewire. > >So, questions are: > >Is this likely to be the standard approach for the trixie release? > >Is there a suggested configuration to allow switching between console and >desktop without loosing speech if I leave pipewire installed? Note that I'm using BRLTTY with speechd that runs as root, not sure about speakup that runs in kernel mode. For my stable system, I have been configuring pulse to accept audio from multiple users, see my notes below this e-mail. For Testing, this doesn't work reliably and I haven't found yet the time to debug this. A potentially future-proof solution could be to make pipewire accept audio from multiple users: See § Permissions and File Bind Mounts: https://quantum5.ca/2021/06/05/sharing-unix-sockets-between-multiple-users/ It's untested but looks quite similar to my current pulse setup. If you get it working, please let me know. I'm not sure why pipewire and pulse insist on not acting as a multi-user sound server by default. This would need to be discussed / sorted out, but I lack the time to do so. Cheers Sebastian === Add to /etc/default.pa (careful: unix module line exists): ``` load-module module-native-protoc[0ol-unix auth-anonymous=1 socket=/tmp/.pulse.socket load-module module-dbus-protocol ``` /etc/pulse/client.conf, add/change: ``` default-server = unix:/tmp/.pulse.socket enable-memfd = yes ``` Service for Pulse: ``` sudo tee /etc/systemd/system/pulse-global.service <<EOF [Unit] Description=Pulseaudio sound server, sharing sound with all users RequiresMountsFor=/tmp # Make sure it starts after "vanilla" BRLTTY. It likely has no chance of starting up, yet is in # place something goes horribly wrong. After=systemd-udev-settle.service,dbus.service,brltty.service Before=lightdm.service Wants=systemd-udev-settle.service Requires=dbus.service [Service] User=pulse Group=audio ExecStart=/usr/bin/pulseaudio ExecReload=/bin/kill -HUP $MAINPID Restart=always RestartSec=5 [Install] WantedBy=sysinit.target EOF sudo systemctl enable pulse-global.service sudo systemctl start pulse-global ``` Configure speech-dispatcher to use pulse (default). Systemd likely starts pulse, and sometimes even MATE. 1. MATE: Go to settings, find personal preferences, startup programs. Disable pulse. 2. Systemd: find the socket activation, e.g. systemctl --user ``` systemctl --user list-units |grep -i pulse # use the found socket, e.g. systemctl --user disable pulseaudio.socket systemctl --user stop pulseaudio.socket ``` After this, pulse-global probably needs to be restarted.
Attachment:
signature.asc
Description: PGP signature