Skip to main content
Topic: Pipewire troubleshoting / logging (Read 2012 times) previous topic - next topic
0 Members and 4 Guests are viewing this topic.

Pipewire troubleshoting / logging

I have this weird issue on my system. Every couple of days when i boot the system pipewire cannot see the card. Blank window in qpwgraph. Reboot or two will solve it.

No config changes (pipewire config as default from repos), and no recent updates. (problem persists over updates) Running Artix linux and Audio4DJ USB device.

How to get around troubleshooting it? I was looking for any logs related to pipewire, nothing found.


Re: Pipewire troubleshoting / logging

Reply #2
How to get around troubleshooting it? I was looking for any logs related to pipewire, nothing found.
When I was having issues with pipewire (randomly died, Kmix only showing 'Dummy sound device' or similar, sometimes restarting the pipewire constituent parts worked, sometimes I had to remove the soundcards kernel module and reinsert to get sound back, or of course reboot) I looked for logs and found little.

However starting in a terminal window did provide some error messages which while not especially easy to decipher did prove helpful and after a while I could recognise the error which meant I had to restart the kernel module.

Thankfully at some point the issue went away for me.

So in my ~/xinitrc is, among other things, the following which starts pipewire. (your setup may differ ? The concept is the same)
Code: [Select]
/usr/bin/pipewire &
/usr/bin/pipewire-pulse &
/usr/bin/wireplumber &
So that , for me, in a terminal window provided some debug output.

For a while I had disabled the autostart of pipewire and always started it manually so that I could try to capture the output at the time of the crash.

Also it's just come back to me that there were occasions when I had to use htop to kill hung pipewire / pipewire-pulse / wireplumber processes before I could get it to restart.

Re: Pipewire troubleshoting / logging

Reply #3
I have this weird issue on my system. Every couple of days when i boot the system pipewire cannot see the card. Blank window in qpwgraph. Reboot or two will solve it.

No config changes (pipewire config as default from repos), and no recent updates. (problem persists over updates) Running Artix linux and Audio4DJ USB device.

How to get around troubleshooting it? I was looking for any logs related to pipewire, nothing found.
I also got this really weird problem with pulseaudio where it doesn't see the USB speaker I connect to my computer for some reason.

Killing it and then starting it fixes the problem.

I would also advice you to restart pipewire instead of rebooting.

 

Re: Pipewire troubleshoting / logging

Reply #4
I kind of found the issue.
It was wireplumber not starting during the boot.
Running it manually helped.
I`m still not sure why this was happening. Perhaps pipewire takes longer to start and wireplumber when started did not see it running?
Solved by re-ordering things in autostart script on openbox.

Code: [Select]
[nbd@artixlinux ~]$ cat ~/.config/openbox/autostart 
xsetroot -solid "#000000" &
autorandr -l adas &
lxpanel > /dev/null 2>&1 &
setxkbmap gb &
pipewire &
syncthing &
syncthingtray &
conky -p 1 &
wireplumber &
qpwgraph -m &


Re: Pipewire troubleshoting / logging

Reply #5
I kind of found the issue.
Solved by re-ordering things in autostart script on openbox.

Code: [Select]
[nbd@artixlinux ~]$ cat ~/.config/openbox/autostart 
xsetroot -solid "#000000" &
autorandr -l adas &
lxpanel > /dev/null 2>&1 &
setxkbmap gb &
pipewire &
syncthing &
syncthingtray &
conky -p 1 &
wireplumber &
qpwgraph -m &
Instead of changing the order, it is better to use sleep.

Code: [Select]
(sleep 5 && wireplumber) &

See:

Code: [Select]
man sleep
"Wer alles kann, macht nichts richtig"

Artix USE="runit openrc slim openbox lxde gtk2 qt4 qt5 qt6 conky
-gtk3 -gtk4 -adwaita{cursors,themes,icons} -gnome3 -kde -plasma -wayland "

Re: Pipewire troubleshoting / logging

Reply #6
>Instead of changing the order, it is better to use sleep.
why use sleep in this instance?