:: Re: [DNG] Alsa sound for firefox-es…
Top Page
Delete this message
Reply to this message
Author: Steve Litt
Date:  
To: dng
Subject: Re: [DNG] Alsa sound for firefox-esr on excalibur?
Robert lewko via Dng said on Sun, 22 Feb 2026 18:47:48 -0700

>I had no sound in KDE when I installed Devuan 6.1. I cheated by going
>to grok for an answer. Here are the steps that worked for me:
>
>First some quick diagnostics:
>
>1: Check which sound servers are present:
>dpkg -l | grep -E 'pulseaudio|pipewire|wireplumber'
>
>
>2: Check if pulseaudio daemon is running (probably not):
>
>ps aux | grep -i pulseaudio
>
>3: Check if pipewire is running:
>
>ps aux | grep -E 'pipewire|wireplumber'
>pactl info # if this works → shows "Server Name: PulseAudio (on
>PipeWire...)" or similar
>
>
>4: List audio devices:
>aplay -l
>pactl list sinks # if pactl works
>
>Most likely fix is to switch to pipewire.
>
>Pipewire is the modern direction and is probably partially installed
>already.
>
>1: Install the full pipewire audio stack if not present.
>apt update
>apt install pipewire-audio wireplumber pipewire-pulse pipewire-pulse
>
>- pipewire-audio is often the main metapackage.
>- pipewire-pulse provides PulseAudio compatibility (critical for most
>desktop volume controls and older apps).
>- wireplumber is the modern session manager (replaces
>pipewire-media-session).
>- 2: Restart the services:
>- - logout and log back in is safest.
>- - run the services manually (these may need to be started as normal
>user.)
>
>3: if this doesn't work then reboot.
>
>To test, do the following:
>speaker -test -c 2
>- or just play an audio file.
>
>To make this permanent I have the following.
>
>~/bin/pipewire-start.sh
>cat ~/bin/pipewire-start.sh
>#!/bin/bash
>#
># Kill any existing instances
>pkill -u "$USER" -fx /usr/bin/pipewire-pulse >/dev/null 2>&1
>pkill -u "$USER" -fx /usr/bin/wireplumber >/dev/null 2>&1
>pkill -u "$USER" -fx /usr/bin/pipewire >/dev/null 2>&1
>
># Start pipewire
>/usr/bin/pipewire &
>
># Wait for pipewire to start
>while [ -z "$(pgrep -f /usr/bin/pipewire)" ]; do
> sleep 1
>done
>
># Start wireplumber and pipewire-pulse
>/usr/bin/wireplumber &
>/usr/bin/pipewire-pulse &
>
>cat ~/.config/autostart/pipewire-start.sh.desktop
>[Desktop Entry]
>Exec=/home/rob/bin/pipewire-start.sh
>Icon=
>Name=pipewire-start.sh
>Path=
>Terminal=False
>Type=Application
>
>Put those two files in place and that's what worked for me.


These look like a great use of a PERSONAL Runit supervisor (), which can
be used regardless of which init system you use.

I haven't tried it, but I'd guess the run script for pipewire would be:

=======================
exec /usr/bin/pipewire
=======================

The one for wireplumber would be:

=======================
[ -n "$(pgrep -f /usr/bin/pipewire)" ] && exec /usr/bin/wireplumber
=======================

The run script for /usr/bin/pipewire-pulse would be something like:

=======================
[ -n "$(pgrep -f /usr/bin/pipewire)" ] && wire_plumber_is_up && exec
/usr/bin/pipewire-pulse =======================

In the preceding, wire_plumber_is_up would be whatever test indicates
that wire plumber is up. Maybe something using pgrep, hopefully
something testing the actual readiness of wireplumber. Actually, the
test for pipewire being running should probably be something more
performative than a pgrep command also.

The killing of existing pipewire, pipewire-pulse and pipewire-plumber
are probably not necessary except in very bizarre situations. Runit
will keep all three running.

You are starting your pipewire-start.sh.desktop from the GUI desktop,
so you can start your personal runit's runsvdir from .xinitrc (for
booting to CLI and then running startx), or the other shellscript for
those who boot directly to GUI.

My life has become much simpler since I started using my personal runit
a few months ago. Daemon control has become *much* easier, especially
because I use a menu program to run scripts to do specific things with
the daemons including start, stop, and restart.

I've written more on the subject at
https://www.troubleshooters.com/linux/init/normal_user_runit.htm . I
would *never* go back to using other peoples' everchanging, distro
dependent recipes for such tasks, since establishing my personal runit.

NOTE: A personal Runit is compatible with any init system. You can
sysvinit all day and night and still benefit greatly from your own
personal runit.

SteveT

Steve Litt

http://444domains.com