On 9/30/25 21:22, Guido Falsi wrote:
On 9/30/25 12:52, Christos Margiolis wrote:
The branch main has been updated by christos:
URL: https://cgit.FreeBSD.org/src/commit/?
id=2ffaca551eaf32c17f701762ecf29a961cf19aa4
commit 2ffaca551eaf32c17f701762ecf29a961cf19aa4
Author: Christos Margiolis <[email protected]>
AuthorDate: 2025-09-30 10:52:44 +0000
Commit: Christos Margiolis <[email protected]>
CommitDate: 2025-09-30 10:52:44 +0000
snd_hda: Implement automatic redirection between associations
For audio to be redirected to the headphones/headset after
plugging the
jack, or back to the speaker/internal mic when unplugging it, the
speaker and headphone pins need to be part of the same association
(i.e., the same PCM device). This patch makes it possible to
redirect
audio even between different associations, which can reduce the
need for
manual pin patching.
The idea is that we issue a devctl_notify() from within the jack
detection callback whenever a jack is (un-)plugged to redirect
audio to
the appropriate device. Then the snd.conf devd script is
responsible for
using virtual_oss to change the playback/recording device to
whatever
snd_hda(4) selected. The reason for requiring virtual_oss is that
it has
hot-swapping support, which is necessary for jack redirection.
Sponsored by: The FreeBSD Foundation
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D50070
---
sbin/devd/Makefile | 5 +++++
sbin/devd/devd.conf.5 | 16 +++++++++++++
sbin/devd/snd.conf | 23 +++++++++++++++++++
sys/dev/sound/pci/hda/hdaa.c | 53 ++++++++++++++++++++++++++++++++
+-----------
4 files changed, 84 insertions(+), 13 deletions(-)
diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile
index 5d5721d16884..f65eee93dd4b 100644
--- a/sbin/devd/Makefile
+++ b/sbin/devd/Makefile
@@ -51,6 +51,11 @@ NVMEDIR= ${DEVDDIR}
NVME+= nvmf.conf
NVMEPACKAGE= nvme-tools
+CONFGROUPS+= SND
+SNDDIR= ${DEVDDIR}
+SND+= snd.conf
+SNDPACKAGE= snd
Looks like this is causing the package building step of the build to
look for a src/release/packages/ucl/snd-all.ucl file.
Is it intentional to cause this to produce a new base package?
Looks like in this case an ucl file for the description is needed?
After working around this one locally, I get a similar issue with
virtual_oss missing its ucl file too.
Just reporting this right away so it is known.
--
Guido Falsi <[email protected]>