Re: Tragic State of FreeBSD Audio/Sound

From: Adrian Chadd <adrian_at_freebsd.org>
Date: Sun, 26 Jul 2026 04:09:07 UTC
Hi y'all,

On Sat, 25 Jul 2026 at 17:04, Tomoaki AOKI <junchoon@dec.sakura.ne.jp> wrote:
>
> > If starting your script via ~/.xinitrc and pulseaudio is
> > forcibly invoked by Mate later, killing pulseaudio doesn't help.
> > In this case, re-running your script after that didn't help, too.
> > Not sure why, though, at least currently.
> >
> > Regards.
>
> An additional info.
> Not a fix, nor clarification of root cause, but as a workaround,
> adding
>
>   pgrep -U "$(id -u)" -x pulseaudio >/dev/null && killall pulseaudio
>   sleep 5
>
> lines between the conditional for XDG_RUNTIME_DIR and first pgrep line
> in your start-pipewire-freebsd script is working for me.
>
> 5 seconds of sleep may be tuned. Just set because `killall pulseaudio`
> took 1 to 3 seconds depending on underlying workloads by seeing repeated
> `ps | fgrep pulseaudio`, so add 2 second mergin (as I don't think
> this 1-3 secs is not yet have valid statistical backgrounds).
>
> If killall doesn't return until confirming all detected matching
> processes are finished, this guard does NOT have any sense, but
> unfortunately, it seems to return just after the signal was sent.

Just to be clear, like, this is ok for "test out replacing pulseaudio"
but it can't be expected to work.
If y'all would like to see this happen, I highly recommend someone
dedicate / fund the work
to figure out splitting up pulseaudio into a build vs run dep, and all
the hijinx required to
provide pipewire or pulseaudio via some runtime mux.

I can't imagine anyone supporting this bait and switch :-P



-adrian