ALSA: seq: Mark OSS sequencer emulation as deprecated

OSS sequencer API emulation has been implemented as a client of ALSA
sequencer, decades ago, at the time where OSS was still use.  But the
API itself became very niche, and almost noone using it for a real
purpose any longer -- only exceptions are AI and fuzzers, who have
been causing significant maintenance burden for issues they hit &
found.

Meanwhile, the most features of OSS sequencer API emulation can be
achieved in user-space, either by ALSA-OSS layer (aoss) or oss-seq-emu
program:
  https://github.com/alsa-project/alsa-oss
  https://github.com/tiwai/oss-seq-emu
where the former is LD_PRELOAD wrapper and the latter is a CUSE-based
daemon.  So we can drop the stuff from the kernel sooner or later.

Now, let's mark the OSS sequencer emulation as deprecated and give a
warning when loaded, so that we can drop it later actually.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260912124951.416761-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2026-09-12 14:49:45 +02:00
parent 4d4bc65658
commit a5af82f207
2 changed files with 8 additions and 2 deletions

View File

@ -27,14 +27,17 @@ config SND_SEQ_DUMMY
will be called snd-seq-dummy.
config SND_SEQUENCER_OSS
tristate "OSS Sequencer API"
tristate "OSS Sequencer API (deprecated)"
depends on SND_OSSEMUL
select SND_SEQ_MIDI_EVENT
help
Say Y here to enable OSS sequencer emulation (both
/dev/sequencer and /dev/music interfaces).
Many programs still use the OSS API, so say Y.
The OSS sequencer API is almost nowhere used, hence this option will
be dropped soon.
Use user-space wrapper (alsa-oss) or CUSE daemon (oss-seq-emu)
instead of the kernel-side emulation.
To compile this driver as a module, choose M here: the module
will be called snd-seq-oss.

View File

@ -67,6 +67,9 @@ static int __init alsa_seq_oss_init(void)
{
int rc;
pr_warn("seq-oss: kernel OSS sequencer emulation is deprecated\n");
pr_warn("seq-oss: Use user-space solution (alsa-oss or oss-seq-emu) instead.\n");
rc = register_device();
if (rc < 0)
goto error;