Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jul 2026 23:32:58 +0000
From:      Shawn Webb <shawn.webb@hardenedbsd.org>
To:        Christos Margiolis <christos@freebsd.org>
Cc:        Matthew Grooms <mgrooms@shrew.net>, freebsd-current@freebsd.org
Subject:   Re: Tragic State of FreeBSD Audio/Sound
Message-ID:  <amAAM8o-3r1Bs-jY@mutt-hbsd>
In-Reply-To: <DK4MY9JRTNIS.1JEZ7YUN2Q1M0@freebsd.org>
References:  <hkttyyfmuguexmliuhmg@ewtn> <sirudbjwrqwlhpzjpfqf@abqv> <20260720202746.45869b21@rimwks.local> <qwepsnprfvciwlmciezl@sxog> <bbcc6833-6af0-4dba-ba6a-155aad5fafd5@shrew.net> <DK4LJJXHW21L.8WEP2JENAWZN@freebsd.org> <al_4DXATypQygeQP@mutt-hbsd> <DK4MY9JRTNIS.1JEZ7YUN2Q1M0@freebsd.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
On Wed, Jul 22, 2026 at 02:25:08AM +0300, Christos Margiolis wrote:
> On Wed Jul 22, 2026 at 1:55 AM EEST, Shawn Webb wrote:
> > On Wed, Jul 22, 2026 at 01:18:54AM +0300, Christos Margiolis wrote:
> >> On Mon Jul 20, 2026 at 8:59 PM EEST, Matthew Grooms wrote:
> >> > On 7/20/26 12:38, vermaden wrote:
> >> >>>> I will not even start about PITA syntax of mixer(1) which went into
> >> >>>> this:
> >> >>>>
> >> >>>> % mixer -f ${DEV} vol.volume=+0.05
> >> >>> Just use gtk-mixer, avail in ports.
> >> >>>
> >> >>> In recent years, I haven't noticed any bugs
> >> >>> in the operation of the OSS.
> >> >> I do it by scripts anyway ... but I needed to rewrite all my scripts because of these changes ... and this change in syntax was bad from at least three perspectives:
> >> >>
> >> >> 1. It happened in 'point' release (like from .2 to .3) - not in new major release - breaking stuff for EVERYONE.
> >> >>
> >> >> 2. It happened without any reason - the tool could do the same with old syntax underneath - the new syntax does not introduce anything new - it just has different syntax.
> >> >>
> >> >> 3. As FreeBSD (at least up to some time ago) cherished the POLA principle WHY the old syntax could not been also kept and accepted?
> >> >>
> >> >> ... and yes - I also think that 'gtk-mixer' works well - so is 'dsbmixer' tool.
> >> >
> >> >
> >> > It offered something new to me: Confusion. In the past, I'd need to 
> >> > fiddle with the mixer once a year and it was more or less obvious how it 
> >> > worked. The last time, I just gave up.
> >> >
> >> > -Matthew
> >> 
> >> I am genuinely curious. What is so confusing, and even worse, more
> >> obvious with old syntax than the new, to the point that you would give
> >> up?
> >
> > Another anecdotal data point:
> >
> > I, too, was impacted by the mixer(8) syntax change. I wrote my own
> > volume control scripts for my i3wm environment. I found the syntax
> > change to be somewhat confusing, whereas the old syntax seemed the
> > more straightforward of the two.
> >
> > I was able to adjust my script, but it definitely was an impactful
> > change that actually caught me somewhat off-guard at the time. Minor
> > annoyance, but doable for me.
> >
> > Thanks,
> 
> I do not object to the fact that the change was invasive and broke
> scripts, but I do disagree completely that the new syntax is more
> confusing or worse. It can naturally support more functionality and is
> structured in a well-known format: foo.bar=value.
> 
> Old syntax:
> 
> 	$ mixer vol 80
> 
> New syntax, which offers a couple of ways to do volume setting, because
> for volume setting there is also a shorthand (see last 2 examples):
> 
> 	$ mixer vol.volume=0.80
> 	$ mixer vol.volume=80%
> 	$ mixer vol=0.80
> 	$ mixer vol=80%
> 
> Especially given the last example, what exactly is so different or
> confusing?

I apologize, I don't recall the specifics. Too much time has passed.
But I do remember being confused, though the confusion was eventually
resolved (and really wasn't too big a deal, just surprising from an
outsider's perspective.)

> 
> The other functionality (of the two) of the old syntax, recording source
> setting, was used like this: {^|+|-|=}rec <dev>.


> 
> For example, old syntax:
> 
> 	$ mixer ^rec monitor
> 
> New syntax:
> 
> 	$ mixer monitor.recsrc=toggle

I don't use that part of mixer(8)'s functionality. I admit I'm quite
ignorant of the audio subsystem, even from a user's perspective (which
is a testament to how well the audio subsystem worked **for me** prior
to the overhaul.)

> 
> The new syntax also supports mixing different functionalities in one
> command:
> 
> 	$ mixer vol.volume=100% rec.mute=on monitor.recsrc=toggle
> 
> Apart from the fact that old syntax did not, and could not, support
> muting (unless a new interface was introduced), this would need 3
> separate commands.
> 
> The new syntax is more verbose, but I find it impossible to believe that
> the old one is more "obvious" or better.

It probably is better. I'm not nearly that advanced of an audio user
to really know the finer details. Audio goes up, audio goes down.
Microphone works or it doesn't. Right now neither work, but I already
discussed those details in another email (rest of my email seems
snipped for brevity.)

Thanks,

-- 
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

Signal Username:  shawn_webb.74
Tor-ified Signal: +1 (719) 756-1197 / activist_opsec.27
https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----

iQJPBAABCAA5FiEEA6TL67gupaZ9nzhT/y5nonf44foFAmpgAaEbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMiwzAAoJEP8uZ6J3+OH6D+QP/RYFlGs1WWsCU4C35Asc
hNxCXpQpJD5L3nh/RlHkccO/qEJgjQLToDJmcQumCVBVXk3MBoVaQtgXJYlW1UZg
uPc27zkZ78xx5pLYifHxlLTLj26vy48xLIg/dLVRz4GcSSGxiuw+EgyRNsr2hD0y
FEFE+FmYMel7xcMje4PpQn7MPnIDRDilhwD+TKegOJnda4gex4q4evsfj+vxQt5j
MpF7HQ3R397rIt8VIFwVdTyddrdCqmLtyc2ydj92Kalsmzt0xCb4KWif9NpxEFNE
ogOQlmYi2ZfN+IHanQMrM8rZT3nTpuHObZpcX84U76emRUUkeVZpnSd0tCeySCf0
y83RCacJcJ7kvPT1A+oMhpU9V0t7F7wtwZ4DZK+P+Ku8mKf+UXI0LJ1F87Np4hGE
OAgjahOBshxiQ6EbQw9JGAGfX3iv8PJA7LSZHk9TqHDXoB5eyDV6dANYvdXmPTkJ
3NQnyH4kS8dF0kRN2QE7xloC+SNBOJNhYOktNW5NNgSz3XeT1zhEh94yf3GOUOwH
qfygwVhW2GtEueC5HSKk3+wJUFqy8lrvTpWW1XNb2PLRq0dqUCFo4sT+LOPbY8d+
SuyHsvZg192U7+wxXWKYyXw2BWIZTOUCj0CcoITm5lP6ANCA/vG5Fcu/WR1u5hVB
qmPpx/li6pDsGmX7ulHlGczG
=ezM7
-----END PGP SIGNATURE-----
home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?amAAM8o-3r1Bs-jY>