I managed to generate more audio issues trying to fix the ones I had. I have migrated from pulseaudio to pipewire a few months ago. I have been having issues with vmware and runelite since. I was trying to fix those 2 issues and decided to reinitialize alsa. Those issues are still a thing, but now every time I boot, I need to set the default to my sound card in the volume control since it keeps grabbing my VR Headset.
VMware gives the following error message if I have an application already playing sound:
`Failed to set Alsa sound device parameter (snd_pcm_hw_params_set_buffer_size_near): Invalid argument.
The sound connection control operation failed.
If I have no application playing sound, I do not get the error message and can hear the sound, but can’t start playing sound from any application on my desktop.
As for runelite it simply does not play sound.
When runelite is running
sudo fuser -f /dev/snd/pcm*
outputs:
Cannot stat file /proc/6737/fd/4: Permission denied
Cannot stat file /proc/6737/fd/5: Permission denied
Cannot stat file /proc/6737/fd/1023: Permission denied
What are you using to set default audio device? A quick fix is perhaps to install Easyeffects to manage pipewire and set default audio device there (open Easyeffects > Pipewire > General > uncheck ‘use default’ and select the appropriate device. Make sure to enable ‘Start Service at Login’ in hamburger menu (top right) > General > Service.
I am using pavucontrol. Is there a pipewire equivalent that I am not aware of? Would there be a way for me to set in cli through config files instead of easyeffects?
As far as I’m aware the closest to an equivalent of Pavucontrol for Pipewire is Easyeffects.
I do think tools like pactl/pacmd/pamixer will still work with Pipewire (assuming you have pipewire-pulse set up) if you want a command line tool. This Archwiki section could be worth reading.
There may be a method to set default device in the Pipewire config files; I am not sure. If the options above do not work, you could look around in the Pipewire config files under /usr/share/pipewire. Note that you should not edit these directly, as a Pipewire update will restore their defaults, but instead copy them to ~/.config/pipewire and edit them there.
Edit: If none of the methods above work/persists on reboot, you could consider adding a small script running pactl on startup (or include the command in your wm config if you’re not running a de).
So I solved the default device issue by going to configuration in pavucontrol and setting the other cards to disable since I do not use them. I also set it to default using pactl just in case. When I rebooted the other cards were still disabled.
I am still puzzled by the other issues. Here is when I list sinks, not sure if that helps:
Just one question: Why is pavucontrol still installed by default with the ISO, although PipeWire is now standard? By the way, for me the external DAC is recognized as default without any problems (set in pavucontrol).
You would have to ask the developers, but as the switch to Pipewire was a recent one I think it’s in a bit of a transitional period from Pulse. For example, I don’t think Wireplumber is being shipped as default yet either.