Re: Tragic State of FreeBSD Audio/Sound

From: Tomoaki AOKI <junchoon_at_dec.sakura.ne.jp>
Date: Tue, 21 Jul 2026 23:54:16 UTC
On Tue, 21 Jul 2026 11:02:27 -0700
Kevin Bowling <kevin.bowling@kev009.com> wrote:

> On Tue, Jul 21, 2026 at 3:13 AM Gleb Popov <arrowd@freebsd.org> wrote:
> >
> > On Tue, Jul 21, 2026 at 12:57 PM Kevin Bowling <kevin.bowling@kev009.com> wrote:
> > >
> > > Only major outstanding work is pipewire/pipewire-pulse don't know how to
> > > elevate their priority on FreeBSD and they really should be RT.
> >
> > What's needed for that?
> 
> There are multiple issues:
> 
> 1) Either a fix for the priority in PipeWire (SCHED_FIFO, don't set a
> negative nice.level = -11 as a normal user) or something to make RTKit
> work
> 2) Use the process ID, _gettid().
> 3) kldload mac_priority and user in realtime group
> 
> > > Disable the stock PulseAudio autostart.
> >
> > Why, what's wrong with it?
> 
> Try killing it with KDE running and see what happens.

Putting others aside, if anyone want to use pipewire,
pulseaudio shouldn't be installed alongside.

IIUC, pipewire was (at least initially) developed as
the "successor" of pulseaudio and not intended to be installed
alongside (choose one basis), and provides pulseaudio
compatibility for apps not yet natively support pipewire.

And when I've tried pipewire a bit in early days it appeared
in ports tree, I've experienced the same on Mate DE.
The only workaround was to deinstall pulseaudio, but as
pulseaudio is depended upon by many ports, upgrading ports
forcibly pull pulseaudio in again unless nothing depending
upon pulseaudio is upgraded.

So, I think
  *Make pulseaudio and pipewire conflicting each other
  *Add USES to pull in whichever pulseaudio or pipewire
  *Add DEFAULT_VERSIONS for it to choose whichever as
   dependency
would be needed.

I imagine something like this.
  https://forums.freebsd.org/threads/porting-x11libre-to-freebsd.98455/page-5#post-711350


Not sure about current state (at the moment, OSS supports
was not yet provided and I've become too tired to play
around ALSA configurations, thus, abandoned further tests),
but if pulseaudio is still needed to build pulseaudio
compatibility supports, using distfiles for pulseaudio
but do NOT depend on pulseaudio port would be needed
to achieve the above.

Regards.


> > >    if [ -z "$XDG_RUNTIME_DIR" ]; then
> > >        export XDG_RUNTIME_DIR="/var/run/user/$(id -u)"
> > >        mkdir -p "$XDG_RUNTIME_DIR"
> > >        chmod 700 "$XDG_RUNTIME_DIR"
> > >    fi
> >
> > This is done by pam_xdg, you shouldn't do that yourself.


-- 
Tomoaki AOKI    <junchoon@dec.sakura.ne.jp>