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