Извеняте если влезу не в тему в вашу борьбу за/простив ALSA/OSS, но мне кажется вам может помочь небольшой "ликбез" по этим двум "зверям":
Сейчас в линухе ALSA/OSS могут работать/"быть установлены" в двух вариантах:
1. Скомпилены или вкомпелены в/с ядром. ("Device Drivers" -> "Sound" -> "Sound card support" + "ALSA" или "OSS")
2. В ядре есть только поддержка звуковых карт ("Device Drivers" -> "Sound" -> "Sound card support"), а ALSA/OSS ставится как отдельные пакеты (ALSA пакет называется alsa-drivers).
Ставить ALSA/OSS в виде драйверов или компилить с ядром разници практически нету, как написано у "девов" ALSA'ы, пакет с дровами может выйти на день раньше чем патчик к ядру.
Теперь по поводу блока OSS прогами звукового канала:
В OSS по определнию одно устройство не может быть ипользовано боле чем одним источником звука, т.е. XMMS + TS2 обламываются, именно из-за этого в первую очередь появились так называемые "звуковые демоны" (если мне моя память ни с кем не изменяет), это не относится к PulseAudio, он появился по координально другой причине.
Фактически при использовании OSS звук от программы идёт в звуковой демон (aRts, ESD и т.д.) в ём оно микшируется и уже объеденённый поток звука идёт в /dev/sound/dsp (/dev/dsp это только линка), таким образом обходилось ограничение OSS в "древности", и надо заметить это было сильно не удобно из-за сомна звуковых демонов.
Именно эти проблемы и побудили к появлению ALSA, сейчас нужды в OSS
НЕТ, так-как ALSA прекрасно умеет эмулировать OSS ("Device Drivers" -> "Sound" -> "Sound card support" -> "ALSA" -> "OSS (Mixer, PCM, Sequencer) API") и всё, у вас есть и ALSA и OSS(через ALSA), так-же вы избавлены от ограничений на один канал вывода на OSS устройство, тут уж всё ALSA сама разруливает.
Теперь более "приземлённо", так как вы все (как я успел заметить) сидите на бинарных дистрах, вариант с компиляцией ядра вам не подойдёт (я ещё не встречал бинарного дистра с ALSA в модулях (ну кроме очень раней шапки), в большинстве таких дистрах ALSA в виде пакетов драйверов, как следствие вам нужно в системе пакеты на подобие (я сижу на Gentoo, и "пакетов" у меня нету, как следствие названия пакетов
будут отличатся):
alsa-driver, alsa-lib, alsa-utils, alsa-oss
У вас может и не быть именно этих пакетов, они могут быть обьеденены в другие пакеты и т.д. и т.п....
Но alsa-oss и alsa-utils будут идти отдельными пакетами (скорее всего).
От OSS пакетов в системе я-бы вам посоветовал избавится полностью, надобности в них при правильно поставленной ALSA'e нету никакой, только мешатся будут.
И есть ещё одна "проблемка" я ALSA'у всегда компилил в ядро(мне не лень ядро перекомпилить если новую звуковуху прикуплю), а в варианте alsa-driver нудно как-то сказать ему какая у вас звуковуха, конечно в бинарных дистрах он(пакет) собран со всеми возможными модулями, но я просто не знаю как это всё реализованно, я никогда на бинарном дистре не сидел....
У меня сейчас всё работает через ALSA, стоят только вышеозначеные "пакеты", кроме alsa-driver, (они кстати на
http://www.alsa-project.org так и называются), и всё, включая TS2, прекрасно работает.
P.S.: oss-linux если я всё правильно понял это пакет с OSS драйвером, от OSS лучше уходить совсем.
P.P.S.: говоря что нужды в OSS сейчас нет я немного лукавил, нужда есть если у вас дико древняя и редкая звуковуха на ISA шине... (жесть)
Сообщение отредактировал hash: 26 February 2008 - 14:30