[Development report #43] Audio Stack Improvements

From: Christos Margiolis <christos_at_freebsd.org>
Date: Tue, 15 Jul 2025 14:04:39 UTC
snd_hda: Implement automatic redirection between associations:
https://reviews.freebsd.org/D50070

- Updated Laptop Project's GitHub issue:
  https://github.com/FreeBSDFoundation/proj-laptop/issues/17
- Rebased.
- More calls for testing.

sound: Retire the MIDI sequencer:
https://cgit.freebsd.org/src/commit/?id=79b968063998e67a3c65b580908da640c4544a56

sound: Retire midisynth:
https://cgit.freebsd.org/src/commit/?id=6cdd3226c7186f91d3495aa5233ce559a880ad9d

sound: Retire /dev/midistat:
https://cgit.freebsd.org/src/commit/?id=7f1426971e302a50a6a992064b03a1951921b250

sound: Retire unused MIDI sysctls:
https://cgit.freebsd.org/src/commit/?id=0ca9410eab24f5905a235bf1e283f543333a0d15

sound: Remove unused mpu_if methods:
https://cgit.freebsd.org/src/commit/?id=fa20737ed1b7973062ec503b43857d7af0443070

sound: Remove duplicate mpu_if.h include:
https://cgit.freebsd.org/src/commit/?id=17b38023ea253c3a876284230521eff6ce2deadf

sound: Remove unnecessary comments from midi/midi.c:
https://cgit.freebsd.org/src/commit/?id=c566edbceb6925a72c80c3d562e9f2c659449686

sound: Remove unused midi_cmdname():
https://cgit.freebsd.org/src/commit/?id=9a138abb21e17cabb8823f2cefab983d2926d82b

sound: Remove dead printfs from midi/mpu401.c:
https://cgit.freebsd.org/src/commit/?id=92336491ccc2115a3c81a2c6442ddb6c53c3e378

sound: Retire SND_DEV_*:
https://cgit.freebsd.org/src/commit/?id=3ba480f4180149da9ec7dc8869df2a51335b66d0

Status/2025Q2/audio.adoc: Add report:
https://cgit.freebsd.org/doc/commit/?id=88a97b663a28ae25d7c68ac76707f94c94ea5622

Porting virtual_oss to base with fuz@:

- Reviewed and merged:
  https://github.com/freebsd/virtual_oss/pull/1
- virtual_oss: Move sys includes to the top:
  https://github.com/freebsd/virtual_oss/commit/3279177a41ea0a771582f7ce0daad94e38d0d45a
- virtual_oss: Retire HAVE_{SNDSTAT,BLUETOOTH,BLUETOOTH_SPEAKER,EQUALIZER,COMMAND,HTTPD,DEBUG}:
  https://github.com/freebsd/virtual_oss/commit/f3f68992e433d2be14388064a668f9d1d1839565
- virtual_oss: Remove www/:
  https://github.com/freebsd/virtual_oss/commit/489d7bb56c670e35ea7cb3ea04ce8c2590a426c0
- Removed GSOC project from Wiki:
  https://wiki.freebsd.org/action/info/SummerOfCodeIdeas?action=diff&rev2=442&rev1=441
- Preparing more patches.
- Experimenting with dynamically loading the ffmpeg and sndio backends
  using dlopen(), to avoid porting those dependencies to base as well.
- Once we have it ported, we can also go forward with D50070.

Reviewed:

- d.7: Document the DTrace scripting language:
  https://reviews.freebsd.org/D51268
- dtrace_profile.4: Document the DTrace profile provider:
  https://reviews.freebsd.org/D51278
- dtrace_fbt.4: Document the DTrace fbt provider:
  https://reviews.freebsd.org/D50922
- dtrace_dtrace.4: Document the DTrace dtrace provider:
  https://reviews.freebsd.org/D51267
- dtrace.1: Document evaltime:
  https://reviews.freebsd.org/D51301
- HW Relnotes: Move uaudio to Sound:
  https://reviews.freebsd.org/D51262
- snd_uaudio.4: Rework SYNOPSIS, add HARDWARE, SPDX:
  https://reviews.freebsd.org/D51240

Bug reports:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287813
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283948
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287687

Published BSDCan trip report. Will also be published to the FreeBSD
Journal:
https://margiolis.net/en/w/bsdcan2025_report/

Attended Foundation's laptop project call.

Christos

This work is sponsored by the FreeBSD Foundation.