Re: Tragic State of FreeBSD Audio/Sound

Kevin Bowling <[email protected]> Tue, 21 Jul 2026 02:57:16 -0700
Newsgroups gmane.os.freebsd.devel.hackers,gmane.os.freebsd.current,gmane.os.freebsd.stable
Message-ID <CAK7dMtCRpXO71v=AEsrtuQufVJHjN++hsN6CT_MkXhMa1-JOzw@mail.gmail.com>
On Sun, Jul 19, 2026 at 5:04=E2=80=AFPM vermaden <[email protected]> wrot=
e:
>
> Hi.
>
> For a start lets define some TERMS. I use UPPERCASE not to shout - but to=
 underline a part of the sentence that is needed to be underlined - this is=
 plain email - I do not have Bold/Underscore/Italic options - keep that in =
mind - now - to the core of the issue ...
>
> I always considered FreeBSD OSS audio/sound subsystem superior to all ALS=
A/PulseAudio/PipeWire and other dramas from the Linux world ... but not any=
more.
>
> Somewhere between 14.3-RELEASE and 14.4-RELEASE things begin to get broke=
n - I thought that upgrade to latest and greatest 15.1-RELEASE would solve =
my issues - as there were LOTS of sound/audio related things.
>
> I will not even start about PITA syntax of mixer(1) which went into this:
>
> % mixer -f ${DEV} vol.volume=3D+0.05
>
> ... from MUCH MORE friendly syntax.
>
> But these random 'boozing' sounds are just unacceptable ... and I can not=
 even tell where they came from ... is it OSS problem? Is is PulseAudio pro=
blem? Something in between? Because there is NOTHING in the logs for audio.

PulseAudio is a disaster.  I recommend switching to PipeWire with the
pipewire-pulse compatibility layer as a drop in replacement and my OSS
sink: https://www.freshports.org/audio/pipewire-spa-oss-ng.

Only major outstanding work is pipewire/pipewire-pulse don't know how to
elevate their priority on FreeBSD and they really should be RT.

Disable the stock PulseAudio autostart.  On a KDE box the package drops
`/usr/local/etc/xdg/autostart/pulseaudio.desktop`.  Override it in your hom=
e
directory:

   cp /usr/local/etc/xdg/autostart/pulseaudio.desktop \
      ~/.config/autostart/pulseaudio.desktop

and add to the end:
Hidden=3Dtrue

Start PipeWire from the session.  I use a small wrapper and a KDE autostart
desktop file:

`~/.local/bin/start-pipewire-freebsd`:
   #!/bin/sh

   if [ -z "$XDG_RUNTIME_DIR" ]; then
       export XDG_RUNTIME_DIR=3D"/var/run/user/$(id -u)"
       mkdir -p "$XDG_RUNTIME_DIR"
       chmod 700 "$XDG_RUNTIME_DIR"
   fi

   pgrep -U "$(id -u)" -x pipewire >/dev/null || pipewire &
   sleep 1
   pgrep -U "$(id -u)" -x wireplumber >/dev/null || wireplumber &
   pgrep -U "$(id -u)" -x pipewire-pulse >/dev/null || pipewire-pulse &

`~/.config/autostart/pipewire-freebsd.desktop`:
   [Desktop Entry]
   Type=3DApplication
   Name=3DPipeWire FreeBSD
   Exec=3D/home/kev009/.local/bin/start-pipewire-freebsd
   X-KDE-autostart-phase=3D1
   NoDisplay=3Dtrue

Log out and back in (or terminate pulseaudio and run the script once
by hand).  Confirm the stack:

   pgrep -a pipewire
   pgrep -a wireplumber
   pactl info          # should say "PulseAudio (on PipeWire ...)"
   wpctl status        # sinks/sources with [freebsd-oss]

Desktop volume keys, pavucontrol, and `wpctl set-volume` should drive the O=
SS
mixer on devices that expose one, instead of only attenuating in software.

> Its also possible to get that file from my personal 'mediafire.com' accou=
nt here:
> - https://mediafire.com/file/jw3cpk8g77rvks2/freebsd-tragic-audio-sound.m=
p4/file
>
> ... and its not some fancy laptop from yesterday ... its a ThinkPad T480 =
from 2018 for fuck sake - hardware like that used to run smooth as Carlos S=
ainz 'smooth operator' in Singapore GP ... but not anymore.
>
> I do not even know what to add here ... its a message send our of despair=
 ... as newer releases only made these things worse ... I have been repeati=
ng this over and over again - but its again probably the issue that 'too le=
ss' FreeBSD developers use FreeBSD as their daily driver/desktop/laptop sys=
tem.
>
> Sorry to disappoint.
>
> Regards,
> vermaden
>
>