[Development report #48] Audio Stack Improvements

From: Christos Margiolis <christos_at_freebsd.org>
Date: Tue, 30 Sep 2025 14:06:40 UTC
snd_hda: Implement automatic redirection between associations:
https://cgit.freebsd.org/src/commit/?id=2ffaca551eaf32c17f701762ecf29a961cf19aa4

	- Needs some more work, but we want to have it in 15.0-RELEASE.
	- Mark Laptop Project issues 15 and 17 as "Done":
		- https://github.com/FreeBSDFoundation/proj-laptop/issues/15
		- https://github.com/FreeBSDFoundation/proj-laptop/issues/17

virtual_oss: Port to base:
https://cgit.freebsd.org/src/commit/?id=9cab9fde5edad9b409dd2317a2aec7815e6d6bed

RELNOTES: virtual_oss in base:
https://cgit.freebsd.org/src/commit/?id=c457acb4ee821cf015930a94f52c3870786468a7

mixer(8): Update virtual_oss path:
https://cgit.freebsd.org/src/commit/?id=5c8835e5c0ce34ee50eba92bb5f4de36139ae7ea

virtual_bt_speaker(8): Fix aarch64 build:
https://cgit.freebsd.org/src/commit/?id=86a7787e324b1524abfc434982bae9bf87ad7390

virtual_oss(8): Use proper format specifier for uintmax_t:
https://cgit.freebsd.org/src/commit/?id=69ede18b950e32317d7741410cde7543fa0fce3c

virtual_oss(8): Fix GCC errors and warnings:
https://cgit.freebsd.org/src/commit/?id=0532cd2d771372d3266b97aebf4043d5b31b64bd

virtual_bt_speaker(8): Do not build if WITHOUT_BLUETOOTH is set:
https://cgit.freebsd.org/src/commit/?id=25d551b5fb1d28ed485d56d9d637993eb2d223b1

audio/virtual_oss_sndio: New port: https://reviews.freebsd.org/D52365

	- Discussion with arrowd@.

virtual_oss(8): Remove floating point formats from preference list:
https://cgit.freebsd.org/src/commit/?id=8af6aee96ed609456900c6dd92dafabac5e89c0a

	- Fixes PR 289904:
	  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289904
	- Also push fix to GitHub upstream to avoid this error in case
	  audio/virtual_oss gets updated:
	  https://github.com/freebsd/virtual_oss/commit/7eba0d8569cfbd4d78607e4568383406a72fd440

Discussions with Goran Mekić <meka@tilda.center> during EuroBSDCon 2025
about future improvements to virtual_oss, mostly regarding UCL
configuation files (see PR 287023), better documentation and making its
options less cryptic.

sound: Implement COMPAT_FREEBSD32 shims:
https://cgit.freebsd.org/src/commit/?id=749a9266982b8e012b5ec370b2fdfef11f34c0b2

	- Fixes PR 216568:
	  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216568
	- Also MFC'd to stable/14 and stable/15.

Status/2025Q3/audio.adoc: Add report:
https://cgit.freebsd.org/doc/commit/?id=0beb2668debe93c991bb669830ca301e20a8d1b4

Working on Journal audio article.

Unrelated to this contract, but gave EuroBSDCon 2025 presentation:
https://events.eurobsdcon.org/2025/talk/GBNXDL/

This work is sponsored by the FreeBSD Foundation.

Christos