Audio not working no matter what I try

0 views
Skip to first unread message

Polarian

unread,
May 27, 2026, 7:19:52 AM (yesterday) May 27
to freebsd-...@freebsd.org
Hey,

So I have moaned about this on IRC a lot with no solution. So a few
years ago when I started using FreeBSD I had no issues with audio, it
just worked. However I did a reinstall at some point and it never
worked since then, that was probably 2 years ago from now.

I very rarely need to use audio on my laptop, and I got lazy and
anything I needed audio for I would use my phone or a second laptop.

However I need to do a presentation and I need my dev environment,
which is on FreeBSD, and I can't get working audio, so I can't present
it.

Steps:

1. kldload snd_driver
2. cat /etc/sndstat

Installed devices:
pcm0: <IDT 92HD93BXX (Analog 2.0+HP/2.0)> (play/rec) default
pcm1: <IDT 92HD93BXX (Analog)> (play/rec)
pcm2: <Intel Panther Point (HDMI/DP 8ch)> (play)
pcm3: <Intel Panther Point (HDMI/DP 8ch)> (play)
pcm4: <Intel Panther Point (HDMI/DP 8ch)> (play)

I know from previous experiences, that pcm0 is the right one, but I
have tried all of them just to be sure.

3. Check mixer

pcm0:mixer: <IDT 92HD93BXX (Analog 2.0+HP/2.0)> on hdaa0 (play/rec)
(default) vol = 1.00:1.00 pbk
pcm = 0.27:0.27 pbk
speaker = 1.00:1.00 pbk
line = 0.01:0.01 rec
mic = 0.34:0.34 rec src
mix = 0.35:0.35 rec
rec = 0.35:0.35 pbk
ogain = 1.00:1.00 pbk

No issues there it appears.

4. beep(1) or write to /dev/dsp*, andddddddd nothing!

I have a feeling because desktop packages pull in pulseaudio that this
could be the issue, but this would require me literally uninstalling my
desktop, which is 1. not a solution and 2. not something I
have time to do for debugging.

So I am hoping its not that, does anyone have any ideas?

Thank you,
--
Polarian
Jabber/XMPP: pola...@icebound.dev

Ralf Mardorf

unread,
May 27, 2026, 8:00:59 AM (yesterday) May 27
to ques...@freebsd.org
On Wed, 2026-05-27 at 12:19 +0100, Polarian wrote:
> I have a feeling because desktop packages pull in pulseaudio that this
> could be the issue, but this would require me literally uninstalling
> my desktop, which is 1. not a solution and 2. not something I
> have time to do for debugging.

Hi Polarian,

consider to test what Google's AI answered me:

"To control PulseAudio in FreeBSD, install a GUI mixer like pavucontrol
or CLI tools like pulsemixer. These tools map to your PulseAudio server,
allowing you to manage individual application streams and hardware
endpoints directly."

or

"To disable PulseAudio on FreeBSD, stop the running daemon and prevent
it from auto-spawning. To ensure it remains disabled after rebooting,
you should also disable the XDG autostart entry and stop it from
launching inside specific desktop environments or web browsers.

1. Disable PulseAudio Auto-spawn

Open (or create) the client configuration file for your user:nano
~/.config/pulse/client.confAdd the following line to disable auto-spawn:

autospawn = no

(Optional) Repeat the steps for /usr/local/etc/pulse/client.conf to
apply this setting globally for all users.

2. Kill the Running Daemon

pulseaudio --kill

[...]

General Desktop: Open your Desktop Environment’s audio settings (e.g.,
KDE Plasma or XFCE) and verify your output device is set to the default
native FreeBSD audio device (often listed as /dev/dsp), rather than the
PulseAudio virtual device."

I don't have a FreeBSD at hand. However, "beep" and escape sequences are
issue on their own, don't try to use this for testing audio output.

On Linux I installed empty dummy packages for

pulseaudio
pulseaudio-bluetooth
pulse-native-provider
pipewire-pulse

the packages

libpulse
lib32-libpulse

are installed. IOW the libpulse.so rubbish is installed, but not the
rest.

Pulseaudio isn't in the way and I have ALSA working. You probably could
try to "rm" the pulseaudio clobber, but keep the libpulse.so rubbish and
after that try to get OSS working.

Regards,
Ralf

Polarian

unread,
May 27, 2026, 9:11:25 AM (yesterday) May 27
to ques...@freebsd.org
Hey,

> "To control PulseAudio in FreeBSD, install a GUI mixer like
> pavucontrol or CLI tools like pulsemixer. These tools map to your
> PulseAudio server, allowing you to manage individual application
> streams and hardware endpoints directly."

I have already done that. However beep(1) hooks into OSS not pulseaudio
so should be unaffected.

Same thing as writing to the dsp directly, it should bypass pulse, the
only thing I could see pulse interfering with is desktop application
audio which would likely hook into pulse over OSS.

> "To disable PulseAudio on FreeBSD, stop the running daemon and prevent
> it from auto-spawning. To ensure it remains disabled after rebooting,
> you should also disable the XDG autostart entry and stop it from
> launching inside specific desktop environments or web browsers.
>
> 1. Disable PulseAudio Auto-spawn
>
> Open (or create) the client configuration file for your user:nano
> ~/.config/pulse/client.confAdd the following line to disable
> auto-spawn:
>
> autospawn = no
>
> (Optional) Repeat the steps for /usr/local/etc/pulse/client.conf to
> apply this setting globally for all users.
>
> 2. Kill the Running Daemon
>
> pulseaudio --kill
>
> [...]

I am aware I can just kill pulse, I poorly explained this, I have
previously tested the laptop on Linux to ensure the audio is working on
a hardware basis, in which it was, and I have killed pulseaudio before
to test if pulse is the issue, its not.

The only thing I can't test is removing pulseaudio entirely, as I
explained, this would require me stripping a large amount of my system
out, due to dependants.

> General Desktop: Open your Desktop Environment’s audio settings (e.g.,
> KDE Plasma or XFCE) and verify your output device is set to the
> default native FreeBSD audio device (often listed as /dev/dsp),
> rather than the PulseAudio virtual device."

I don't use a desktop environment.

> I don't have a FreeBSD at hand. However, "beep" and escape sequences
> are issue on their own, don't try to use this for testing audio
> output.

Like I said, I have written /dev/random to /dev/dsp* it doesn't make a
difference.

I thank you for the effort, but I would like to highlight AI responses
rarely ever yield anything useful other than common sense solutions you
would likely have already attempted if you read the docs (like I have
already).

I feel like there is a bigger underlying issue, so I am hopeful someone
else has encountered this and knows how to solve it :)

Ralf Mardorf

unread,
May 27, 2026, 10:29:23 AM (yesterday) May 27
to ques...@freebsd.org
On Wed, 2026-05-27 at 14:10 +0100, Polarian wrote:
> I have already done that. However beep(1) hooks into OSS not
> pulseaudio so should be unaffected.

As for FreeBSD OSS, I'd have to ask Google AI ;D or to read the docs.

But that’s not the case with Linux’s ALSA. Depending on the audio
device, ALSA may allow multiple programs to access the audio interface
even without dmix, but often only one device can access it at a time,
meaning that if, for example, PulseAudio claims access to the audio
interface first, even if it isn’t working, another instance can no
longer access it.

On my Linux terminal I can run echo -e "\a" or beep with or
without pcspkr loaded without hearing any sound, otherwise, I don't have
any problems with audio. Running play -q -n synth 0.1 sin 880
works.

Polarian

unread,
May 27, 2026, 11:41:41 AM (yesterday) May 27
to ques...@freebsd.org
Hey,

Even if I play a flac with mpv which uses OSS, there is no audio
output, only the sound of my laptop fan in the heat of London right
now. (My laptop doesn't like it)

I think its safe to say something is broken. I could find a spare drive
potentially and swap it out and install freebsd 15.0-RELEASE on it
(same as I am running on my laptop right now) and see if that fixes the
problem.

But right now, I am clueless on what to do.

Thanks,
--
Polarian
Jabber/XMPP: pola...@icebound.dev

Ralf Mardorf

unread,
May 27, 2026, 12:11:34 PM (yesterday) May 27
to ques...@freebsd.org
On Wed, 2026-05-27 at 16:41 +0100, Polarian wrote:
> the heat of London right now. (My laptop doesn't like it)

It's too cold in the fridge for my olive oil, and the current room
temperature is way too high for it. This is how the end of the world
begins: when you just can't seem to keep "things" happy anymore.



Mark G.

unread,
May 27, 2026, 1:07:40 PM (yesterday) May 27
to ques...@freebsd.org, Polarian
Some ideas (on 14.4p5 and 15.0p9) for working sound:

You don't say what programs you want to use for audio,
so I will offer general advice on how I got my
stuff working.

rc.conf:

sndiod_enable="YES"
pipewire_enable="YES"
virtual_oss_enable="YES"

The pipewire/sndiod entries may be optional, but some software had
an option to use it. The virtual_oss is what I rely on.

I use mixertui to select/set devices for default. It's in pkg/ports.

I also use this shell script to set a default for virtual_oss:

==============
#!/bin/sh
#
# Set the virtual oss device defaults
# to the dsp number passed, usually for the speakerphone.
#
DEV=${1}

if [ "x${1}" = "x" ]; then
DEV=6
fi

virtual_oss_cmd /dev/dsp.ctl -P /dev/dsp${DEV}
virtual_oss_cmd /dev/dsp.ctl -R /dev/dsp${DEV}
virtual_oss_cmd /dev/dsp.ctl

===========

Call it with the number 0 for pcm0 as the requested default device:

$ ./set-speakerphone.sh 0

I usually use both the script and mixertui before I
start chromium for a jitsi meeting. One must sacrifice
the correct number of chickens after all.

The most important item is to make sure that the ports
or packages you install are compiled with the proper
sound system support. This is what usually bites me
in the bottom trying to get sound working. So go
check the OPTIONS in make config and confirm that
the sound subsystem (e.g. pulseaudio) is actually compiled
in to the software you want to use.

For example, my poudriere build of chromium has these
options:

% pkg info chromium
chromium-146.0.7680.164_2
Name : chromium
Version : 146.0.7680.164_2
Installed on : Sat Apr 11 20:14:01 2026 PDT
Origin : www/chromium
Architecture : FreeBSD:14:amd64
Prefix : /usr/local
Categories : wayland www
Licenses : BSD3CLAUSE, LGPL21, MPL11
Maintainer : chro...@FreeBSD.org
WWW : https://www.chromium.org/Home
Comment : Google web browser based on WebKit
Options :
ALSA : on
CODECS : on
CUPS : on
DEBUG : off
DRIVER : on
HEIMDAL : off
HEIMDAL_BASE : off
KERBEROS : on
LTO : off
MIT : off
PIPEWIRE : on
PULSEAUDIO : on
SNDIO : on
TEST : off
WIDEVINE : off
...

I recall some packages from the FreeBSD repositories
not having some common sound subsystems compiled in
as OPTIONS and had to rebuild them myself.

Anyway, using mixertui/virtual_oss before starting chromium
for a meeting allows for a speakerphone to be used easily.
Otherwise the laptop microphone and speaker will also
work when specified.

Hope this helps,
Mark





Mark G.

unread,
May 27, 2026, 1:10:33 PM (yesterday) May 27
to ques...@freebsd.org, Polarian
One correction, virtual_oss is a package/port in 14.4,
so you'll have to install it. It is built in to the kernel in 15.0.
Reply all
Reply to author
Forward
0 new messages