> Поздно посмотрел на ник. Ещё был artsd, который сегодня phonon. OSS наверно
> до 2010 ещё жил и использовался в софте, в 2008 он
> ещё был основным (для alsa дров было мало и они хуже) Ты прав. Я решил не усложнять текст для новичка. Потому что с нюансами он был слишком длинным, а потому трудный для восприятия.
В KDE был aRts, в GNOME был ESD. Как-то они не договорились о едином сервере.
Когда произошёл переход на ALSA, то оставалось много приложений, написанных раньше этого, и которые ничего не знали про ALSA. Например Quake III Arena 1.32.
Поэтому была эмуляция OSS. Она и сейчас есть, просто выключена по умолчанию. Включается так: modprobe snd-pcm-oss; modprobe snd-mixer-oss. Опционально ещё модуль snd-seq-oss, это для MIDI.
Вывод звука в OSS очень прост. Это mmap() или write() в файл /dev/dsp. Однако существовала проблема, при которой программа, когда отправляла поток данных в этот файл, то другая программа не могла это делать. Проще говоря, звук работал только из одного приложения, а из двух сразу - нет.
Вот поэтому и использовали ESD/aRts. Чтобы звук работал из нескольких приложений. После появления ALSA, в них не стало необходимости: звук стал микшироваться даже без звукового сервера. Хотя бывало и так, что ты используешь ALSA, а одно приложение захватило весь звук.
Что интересно, была ОДНА звуковая карта, на которой, при использовании OSS, звук из двух приложений работал ДАЖЕ без ESD/aRts. И никаких конфликтов при доступе двух программ к одному файлу. Это звуковая карта Creative. Линейка AWE32, Live!, и Audigy. А остальные (такие как "встройки" AC97 и SB-совместимые карточки) остаются за бортом.
В AC97 точно было аппаратное микширование. Потому что моя Win98 выводила звук из двух программ. Было бы микширование программным - я думаю, всё бы тормозило. Значит, оно точно было аппаратным
P.S. Очень хороший коммент по этому вопросу: https://www.linux.org.ru/forum/talks/14747049?cid=14747754