<> ## page was copied from OpenSound ||'''Contents'''<
><>|| = Введение = Проект '''Open Sound System''' ('''OSS''') предоставляет низкоуровневые драйвера для пользователей и Интерфейс программирования приложений (API) для разработчиков. По умолчанию, для звуковых драйверов Ubuntu использует '''Advanced Linux Sound Architecture''' ('''ALSA'''). Это руководство поможет вам заменить '''ALSA''' последней версией '''OSS'''. Для начала откройте консоль (она же терминал) (Applications -> Accessories -> Terminal). С помощью комбинации клавиш '''Ctrl+Shift+c''' - '''Ctrl+Shift+v''' (либо просто выделив текст мышкой - кликнув колёсиком) вы можете копировать команды из этого руководства и вставлять их непосредственно в консоль. '''Note''': вы могли прочитать, что некоторые люди, например, разработчики ядра Linux, указывают, что OSS "устарела" и подлежит замене на ALSA. Это верно для OSS 3.x. Разработка OSS 4.x жива и чувствует себя неплохо. Многие приложения используют API '''OSS''' для работы со звуком потому что оно (API) хорошо документировано и поддерживает несколько платформ ('''Linux, Solaris, BSD, Haiku''', и т.д.). = Поддерживает ли OSS моё оборудование? = Возможно. Проверьте список здесь - [[attachment:devices.list]]. Заметим, что встроенные в материнскую плату звуковые кодеки перечислены в списке по их южному мосту, а не кодеку. Например, ICH9 включает кодеки от Realtek, Sigmatel, ADI, Conexant, и других производителей. Также, некоторые устройства функционируют лишь частично (модуль X-Fi ограничен Стерео режимом, т.е. пока без 5.1-звука). Если есть сомнения, проверьте секцию "Дополнительная поддержка" в конце руководства. = Остановка ALSA = {{{ sudo chmod 776 /etc/modprobe.d/blacklist sudo cat /lib/linux-sound-base/noALSA.modprobe.conf >> /etc/modprobe.d/blacklist }}} Следующий текстовый блок - это одна команда! Копируйте ячейку целиком: {{{ sudo echo "blacklist snd_hda_intel blacklist snd_mixer_oss blacklist snd_pcm blacklist snd_timer blacklist snd_page_alloc blacklist snd_hwdep blacklist snd blacklist soundcore" >> /etc/modprobe.d/blacklist }}} == Настраиваем linux-sound-base == {{{ sudo dpkg-reconfigure linux-sound-base }}} В открывшемся "окошке" нужно нажать [Enter]. Далее нас попросят выбрать звуковую систему по умолчанию. Стрелочками выбираем OSS, жмём клавишу-Tab, чтобы перенести выделение на 'OK', снова жмём [Enter] = Устанавливаем необходимые пакеты = {{{ sudo apt-get install -y build-essential binutils linux-headers-`uname -r` gawk libtool libgtk2.0-dev mercurial sudo apt-get install -y libesd0 libsdl1.2debian-oss libssl-dev }}} == Системные звуки в GNOME == === Ubuntu Hardy/GNOME 2.22 (и более старые) === Если вы хотите иметь возможность слышать системные звуки (например, при login/logout), вам нужно установить Enlightenment Sound Daemon (ESD) {{{ sudo apt-get install -y esound esound-clients esound-common libesd0 }}} === Ubuntu Intrepid/GNOME 2.24 (и более новые) === Начиная с версии 2.24 GNOME использует библиотеку libcanberra для проигрывания системных звуков. На текущий момент Ubuntu Intrepid использует версию libcanberra, совместимую только с ALSA/PulseAudio. Более современная версия libcanberra имеет поддержку OSS и/или gstreamer-бэкэнда, но пока не ясно, правильно ли она работает. == Системные звуки в KDE3 == Убедитесь, что установлен пакет aRts {{{ sudo apt-get install -y arts }}} = Собираем OSS = OSS 4.0-1016 доступен в .deb пакете, но на настоящий момент эта версия считается сравнительно старой. Заместо неё мы будем собирать самую свежую - релиз кандидат OSS 4.1 На всякий случай перед сборкой перезагрузите компьютер, что бы модули ALSA никак не смогли нам помешать. После перезагрузки залогиньтесь, откройте консоль и мы начнём. == Получаем исходный код OSS == Исходный код OSS 4.1 можно получит скачав тестовый тарбол или через Mercurial-репозиторий. Версия в репозитории обновляется чаще, но в результате может быть временно неработоспособной. Если ваша аудиокарта серии X-Fi - используйте версию из репозитория, потому в ней содержатся некоторые улучшения. === Получаем исходный код OSS используя последний доступный тестовый тарбол === {{{ wget -A '*.bz2' -nd -r -l 1 http://www.4front-tech.com/developer/sources/testing/gpl/ sudo tar xf oss-v4.1*.tar.bz2 -C /usr/src sudo mv /usr/src/oss-v4.1* /usr/src/oss-devel }}} === Получаем исходный код OSS используя систему управления версиями Mercurial === {{{ cd /usr/src sudo hg clone http://mercurial.opensound.com/ oss-devel }}} == Создаём сборочную директорию == Для сборки OSS обязательно нужна пустая директория. Ее можно создать напрямую из файлового менеджера, либо следующей командой в консоли (будет создана папка oss41build в вашей домашней директории) {{{ cd ~/ sudo rm -rf oss41build mkdir oss41build cd oss41build/ }}} == Специальные инструкции для Ubuntu 8.10 (intrepid) == При сборке OSS используются флаги -Wall и -Werror, так что предупреждения рассматриваются как ошибки и сборка заканчивается неудачей. В репозиторий недавно были добавлены патчи, чтобы обойти эту проблему, но если OSS всё равно не собирается, нужно изменить вызов команды configure на следующий: {{{ NO_WARNING_CHECKS=yes /usr/src/oss-devel/configure }}} == Можем собирать! == {{{ NO_WARNING_CHECKS=yes /usr/src/oss-devel/configure make }}} == Инсталлируем OSS == Мы можем установить OSS просто командой: {{{ sudo make install }}} Но предпочтительно сначала собрать .deb-пакет и затем установить его стандартным способом (через dpkg или kpackage/gdebi) - в дальнейшем это облегчит жизнь при удалении OSS или откате на предыдущую версию: {{{ sudo make deb sudo dpkg -i oss*.deb }}} == Обновляем вашу сборку OSS == Это сработает, если вы ранее брали исходный код из репозитория, с исходниками из тарбола - не получится {{{ cd /usr/src/oss-devel sudo hg pull sudo hg update cd ~/ sudo rm -rf oss41build mkdir oss41build }}} Теперь переходим в секцию "Можем собирать!" = Настраиваем приложения для работы с OSS = Нам нужно настроить приложения, чтобы они использовали вывод звука через OSS, а не через ALSA Некоторые программ, например, аудиоплеер Audacious позволяют сделать это легко и просто. Для вразумления других может понадобится консоль, либо изменение в конфигурационных файлах. [[http://www.4front-tech.com/wiki/index.php/Configuring_Applications_for_OSSv4|Смотри подробные инструкции в OSS wiki]]. Для некоторых популярных приложений инструкции представлены ниже. == Микшеры == === "Родной" микшер === В комплекте с OSS идут два микшера: консольный ossmix и oss'''x'''mix с графической оболочкой на базе Gtk. Оба микшера можно запускать из консоли, но для oss'''x'''mix рекомендуется создать отдельный пункт в меню. Например в KDE это делается так: открыть KMenu: правый клик на любом элементе -> Изменить элемент -> Создать Новый элемент, вписываем в поле "Название" - ossxmix, в поле "Команда" - ossxmix -x, можно назначить горячую клавишу. === Микшер среды GNOME Mixer/апплет Управление Звуком === В Ubuntu 8.04.x апплет Управления звуком, основанный на gstreamer, не совместим с OSS, потому что в hardy используется старая версия gstreamer-plugins (в Ubuntu 8.10 всё работает), чтобы исправить эту ситуацию нужно подключить этот репозиторий: {{{ deb http://ppa.launchpad.net/gstreamer-team/ubuntu hardy main }}} и установить из него пакеты gst-plugins-bad gst-plugins-base gst-plugins-good === kmix для KDE 3.5.9 === Рекомендуется обновиться до версии KDE 3.5.10 === kmix для KDE 3.5.10 === Нужный патч уже применён, но чтобы kmix нашёл необходимые ему для работы данные, нужно скопировать файл /usr/lib/oss/include/sys/soundcard.h в папку /usr/include/sys, заменив soundcard.h уже имеющийся там. Это можно сделать командой в консоли: {{{ sudo cp /usr/lib/oss/include/sys/soundcard.h /usr/include/sys }}} === kmix для KDE 4.x === К сожалению, kmix-kde4 пока не работает с OSS. Вы можете пользоваться ossxmix, либо назначить команды на горячие клавиши. [[http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Using_multimedia_keys_with_OSS|Здесь лежат полезные в этом случае скрипты]] == Flash == Скачайте файл install_flash_player_10_linux.tar.gz [[http://get.adobe.com/flashplayer/|отсюда]], распакуйте во временную папку, перейдите в неё и скопируйте файл libflashplayer.so в папку ~/.mozilla/plugins === Пользователям 64-битных систем === ==== Нативный 64-битный Flash Player 10 ==== Скачайте архив [[http://labs.adobe.com/downloads/flashplayer10.html/|отсюда]], распакуйте во временную папку, перейдите в неё и скопируйте файл libflashplayer.so в папку ~/.mozilla/plugins Так как нативная 64-битная версия Flash Player находится пока в альфа стадии, возможны ошибки и сбои в работе плеера, браузера или всей системы. Смотри, например, [[http://www.4front-tech.com/forum/viewtopic.php?t=2960&postdays=0&postorder=asc&start=0|здесь]] ==== 32-битный Flash Player в 64-битном окружении ==== Нужно скачать файл libflashsupport.so [[http://www.fileupyours.com/view/77985/libflashsupport.so|отсюда]] скопировать его в /usr/lib. Если вы сохранили libflashsupport.so в домашнюю папку, то команда будет выглядеть так: {{{ sudo cp ~/libflashsupport.so /usr/lib32/ sudo ldconfig }}} === Дополнительная настройка === Вы также можете собрать свою версию libflashsupport.c ([[http://ubuntuforums.org/showpost.php?p=5374886&postcount=273|Смотри как]]) = Решение проблем = Если у вас возникли проблемы, сначала попробуйте воспользоваться следующими советами: == Восстановление после неудачной установки .deb-пакета == Если вы устанавливали OSS из .deb-пакета и в процессе вас постигла неудача, выполните следующее (воспользуйтесь этим способом '''только''' в случае неудачной установки): {{{ cd /var/lib/dpkg/info rm oss-linux* }}} Откройте (с правами администратора) в любимом текстовом редакторе файл /var/lib/dpkg/status Вам нужно удалить секцию с примерно следующим содержанием: {{{ Package: oss-linux Status: install ok installed Priority: extra Section: alien Installed-Size: 8440 Maintainer: root Architecture: amd64 Version: v4.0rc9-999 Depends: libatk1.0-0 (>= 1.12.1), libc6 (>= 2.4-1), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.3.0), libglib2.0-0 (>= 2.12.0), libgtk2.0-0 (>= 2.10.3), libpango1.0-0 (>= 1.14.5), libx11-6, libxcursor1 (>> 1.1.2), libxext6, libxfixes3, libxi6, libxinerama1, libxrandr2, libxrender1 Conffiles: /etc/oss.conf 055432d38aaf37fc6de3dba4a95accc3 Description: Open Sound System sound drivers for Linux Open Sound System for Linux (OSS/Linux) is a commercial quality sound driver distributed by 4Front Technologies (http://www.opensound.com). OSS provides support for practically all sound cards on the market including PnP and many PCI ones. Installation and configuration is higly automated and easy to perform. To obtain technical support and additional features, you will need to order a license key from http://www.opensound.com/order.html . (Converted from a rpm package by alien version 8.64.) }}} == Консультация с официальной wiki OSS == Рекомендуется посетить официальную [[http://www.opensound.com/wiki/index.php|wiki проекта Open Sound System]] секцию [[http://www.opensound.com/wiki/index.php/Troubleshooting|Troubleshooting]] - возможно там находится ответ на ваш вопрос. == Дополнительная поддержка == Если вы установили драйвера OSS правильно, но у вас остались нерешенные проблемы у проекта OSS есть форум поддержки пользователей и IRC-канал. Прежде чем обращаться за помощью, выполните и сохраните, например, [[http://oss.pastebin.com/|сюда]] вывод команд: {{{ uname -a ossmix ossinfo -v3 }}} это всё равно вам понадобится. Также сообщите о результатах работы команды {{{osstest}}} - есть ли звук вообще или какие ошибки она выдаёт. === Форумы === Вы можете спросить [[http://forum.ubuntu.ru/index.php?topic=16512.0|в этой теме]] на форуме [[http://forum.ubuntu.ru/|forum.ubuntu.ru]] или открыть тему на [[http://www.4front-tech.com/forum/index.php|форуме OpenSound]]. === IRC === Сервер [[http://freenode.net/irc_servers.shtml|Freenode]], канал #oss. Не забудьте дать ссылку на pastebin.com с результатом диагностики. == Возвращаем назад ALSA == [[http://ubuntuforums.org/showpost.php?p=5539687&postcount=331|Здесь]] можно узнать как вернуть назад ALSA (проверено на ubuntu 8.10) = Содействие OSS = Исходники OSS были открыты лишь недавно, сообщество разработчиков и пользователей только начинает формироваться вокруг проекта. Несмотря на то, что создатели OSS признательны за дополнительную техническую поддержку, открытие исходников лишило их основного заработка. Если вы хотите внести свой вклад в разработку OSS, вы можете это сделать несколькими способами: * Оплатить лицензию на OSS. Таким образом вы получаете в течении двух лет техническую поддержку непосредственно от разработчиков * Сделать пожертвование посредством PayPal (любая сумма) на адрес hannu@opensound.com * Внести свой код через сообщество разработчиков. Подписаться на рассылку можно [[http://mailman.opensound.com/mailman/listinfo/oss-devel|здесь]] * Дополняя и развиваю базу знаний - [[http://www.4front-tech.com/wiki/index.php|OSS wiki]] * Помогая другим пользователям [[http://www.4front-tech.com/forum/index.php|на форуме]] и/или IRQ-канале #oss сервер Freenode * Распространяя информацию об OSS, там где пользователи сталкиваются с проблемами драйвера ALSA = Ссылки на другие ресурсы = * [[http://www.opensound.com|www.opensound.com]] - домашняя страница проекта OpenSound * [[http://4front-tech.com/hannublog/?p=5|Пост]] в блоге Hannu касательно истории аудидрайверов в мире UNIX и Linux * [[http://www.opensound.com/wiki/index.php/Main_Page|OSS wiki]] * [[http://forum.ubuntu.ru/index.php?topic=16512.0|В этой теме]] на форуме forum.ubuntu.ru можно задать вопрос относительно OSS на русском языке = Page Maintainer(s) = seajey (Sergei Andreev) ---- CategoryAudio