Not sure how to proceed to fix crashes with Pipewire

Hey there! I have a problem with REAPER, which is crashing (link if you’re interested).
On another forum I see that a possible working solution is this:

The best solution for the future would be to set your system limits to allow each process more memory (through memlock), as well as run your pipewire in a rt process:
RLIMITs
Real-time priority limits are usually stored in /etc/security/limits.conf and /etc/security/limits.d/. The best option is to add a new file 95-pipewire.conf in /etc/security/limits.d/ with this content:

Default limits for users of pipewire

@pipewire - rtprio 95
@pipewire - nice -19
@pipewire - memlock 4194304
Then add your user to the PipeWire group so that you can use these priorities

Now I tried to follow this but I don’t have a pipewire, group nor user.
So I was wondering if this is normal and how to proceed, and since I’m a bit confused I thought it would be best to ask here first, before making any mess.
Is this a good idea? How can I try to apply these changes? Should I create a pipewire user and group?

  1. It’s better to install all pkgs.
    sudo pacman -S pipewire pipewire-alsa pipewire-jack pipewire-pulse pipewire-media-session pipewire-zeroconf pipewire-audio pipewire-v4l2 pipewire-x11-bell

  2. There are basic things to do after installation::

systemctl --user daemon-reload
systemctl --user --now enable pipewire pipewire-pulse pipewire-media-session

  1. basic local configuration

global configuration :
copy /usr/share/pipewire/media-session.d/ to /etc/pipewire/media-session.d/ (directory copy)
copy /usr/share/pipewire/client.conf to /etc/pipewire/client.conf (file copy)
copy /usr/share/pipewire/pipewire.conf to /etc/pipewire/pipewire.conf (file copy)
copy /usr/share/pipewire/pipewire-pulse.conf to /etc/pipewire/pipewire-pulse.conf (file copy)
Above copies belong to default configuration.

local configuration :
copy /usr/share/pipewire/client.conf to ~/username/.config/pipewire/client.conf (file copy)
copy /usr/share/pipewire/pipewire.conf to ~/username/.config/pipewire/pipewire.conf (file copy)
copy /usr/share/pipewire/pipewire-pulse.conf to ~/username/.config/pipewire/pipewire-pulse.conf (file copy)
copy /usr/share/pipewire/jack.conf to ~/username/.config/pipewire/jack.conf (file copy)
you can add your own sinks into pipewire.conf.

copy /usr/share/wireplumber/main.lua.d/50-alsa-config.lua to ~/username/.config/wireplumber/50-alsa-config.lua (file copy)

  1. configure audio, realtime, pipewire

    yay -S realtime-privileges
    sudo pacman -S rtirq
    sudo gpasswd -a username realtime && sudo usermod -a -G audio username (replace username with your own user name)

    sudo groupadd pipewire && sudo gpasswd -a username pipewire (replace username with your own user name)

    groups username (check your installed groups)

  2. edit /etc/security/limits.d/99-realtime-privileges.conf

@realtime - rtprio 99
@realtime - memlock unlimited
@realtime - nice -11
@audio - rtprio 98 ------------ added
@audio - memlock unlimited ------------ added
@username - rtprio 98 ------------ added
@username - memlock unlimited ------------ added

  1. restart wireplumber

systemctl --user restart wireplumber.service (or $ systemctl --user daemon-reload && systemctl --user restart wireplumber.service )

  1. run pavucontrol

  2. run celluloid (or other music app)

  3. run carla (or other graphic hoster)

  4. restart pipewire-pulse and pipewire

systemctl --user restart pipewire-pulse.service
systemctl --user restart pipewire.service

  1. my own case (i move pipewire server to /opt/pulse)

$ sudo mkdir /opt/pulse (make /opt/pulse readable and writable to group pipewire, need other condiguration in pipewire.conf)

If you intend to piewire, just do these things or just leave pipewire and use pulseaudio


if not works

rerun the following commands in order (repeatedly if needed) :

$ systemctl --user restart wireplumber.service
$ systemctl --user restart pipewire-pulse.service
$ systemctl --user restart pipewire.service

if works and you have a good OS, at each new boot,

you only need to do the three things :

  1. run pavucontrol

  2. run celluloid (or other music app)

  3. run carla (or other graphic hoster)

wow! thank you so much, I’ll try all of it. I’m curious to understand the difference between the default settings and these