Re: git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations
Date: Wed, 01 Oct 2025 08:28:04 UTC
On Tue Sep 30, 2025 at 10:10 PM CEST, Guido Falsi wrote: > 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 <christos@FreeBSD.org> >>> AuthorDate: 2025-09-30 10:52:44 +0000 >>> Commit: Christos Margiolis <christos@FreeBSD.org> >>> 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. That should fix it: https://cgit.freebsd.org/src/commit/?id=5cc36854ee63dc695d90a841d9db587bec67ba24 Sorry for the breakage once again. Christos