?

Log in

No account? Create an account
May 2012   01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
hedgehog, ёжик

Затачиваем убунту на ALSA вместо pulseaudio

Posted on 2009.03.12 at 12:02
Нашёл полезную для себя статью про замену сервера Pulseaudio на ALSA в *BUNTU 8.10 (Itrepid) без фактического удаления pulseaudio (т.е. чтобы можно было всё вернуть, как было, если что-то пойдёт не так.

Привожу здесь что-то вроде конспекта-перевода.

1. Готовимся! Установите следующие пакеты (если их у вас ещё нет). Первый - это "обёртка" вокруг ALSA для OSS; 2-й - это библиотека ALSA, а 3-й - библиотека плагинов ALSA. Последний будет нужен для удаления pulseaudio из разных уровней выполнения (runlevels). Впрочем, можно это сделать и ручками, разумеется :)


% sudo apt-get install alsa-oss
% sudo apt-get install libasound2
% sudo apt-get install libasound2-plugins
% sudo apt-get install sysv-rc-conf

2. Приступаем к удалению! Удалите запуск pulseaudio из Xsession, переместив скрипт запуска в безопасное место (на случай, если вы когда-нибудь снова захотите pulseaudio). Давайте спрячем его в домашнюю папку (~/).


% sudo mv /etc/X11/Xsession.d/70pulseaudio ~/


Далее - удаляем pulseaudio (sound plugin) из gnome-settings-daemon


% gconftool-2 -s -t bool /apps/gnome_settings_daemon/plugins/sound/active false

Впрочем - можно и ручками. Запускаем gconf-editor - а там движемся по дереву папок слева - apps - gnome_settings_daemon - plugins - sound - и там снимаем галку active.

Убираем Pulseaudio


% asoundconf unset-pulseaudio

Удаляем из уровней запуска [для полной уверенности]


% sudo sysv-rc-conf

Мотаем вниз до строчки “pulseaudio”, и снимаем все галочки (пробелом). Выходим (q).


3. Настраиваем ALSA! Теперь настраиваем ALSA на использование основной звуковой карты


% asoundconf list
Names of available sound cards:
Intel
% asoundconf set-default-card Intel

Убедитесь, что в файле libao.conf прописана alsa в качестве системы. Это можно проверить так:


% sudo nano /etc/libao.conf
default_driver=alsa

Запустите из меню: Система - Параметры - Звук, убедитесь, что все галки стоят, как на скриншотах ниже (только по-русски :) ):


ALSA




non-pulse-daemon


С этого момента у вас больше не будет звука входа в систему :( . Чтобы починить вы можете создать собственное событие автозапуска и там запустить “aplay” или “mpg123-alsa” или “mplayer” с путём к вашему звуку входа в систему.


Для дальнейшего выкорчёвывания pulseaudio, поправьте файл .bashrc в вашей домашней папке и вставьте туда вот это:


export SDL_audiodriver=alsa
#Use this line if you want alsa wrapper for OSS: % export SDL_audiodriver=aoss

В Ubuntu 8.10 содержится пакет flash 10 [adobe-flashplugin], поэтому мультизвук и флэш звук будут в совершентсве работать без библиотеки libflashsupport (её больше нет в репозитарии) :)


Не устали? Гы :) Перезагружаемся и наслаждаемся ALSA. В качестве самопроверки - запустите в терминале команду “pgrep pulseaudio”. Если она не написала вам никакого числа, значит pulseaudio благополучно отключён :)



ПРОБЛЕМЫ: 10-секундная задержка воспроизведения


Мне наконец-то удалось победить 10-секундную задержку воспроизведения. Эти приложения сперва ищут pulseaudio, а когда не находят, после 10-секундного таймаута берутся за ALSA.


=======

Решение:

=======


+ Поправьте /etc/mplayer/mplayer.conf, строка 74, поменяйте там порядок устройств (в оригинале там pulse,alsa)


# Specify default audio driver (see -ao help for a list).

ao=alsa,pulse


+ Totem-gstreamer - я не смог пока найти для него решения, поэтому в качестве временного решения можно использовать totem-xine, а в нём поправить конфиг ~/.config/totem/xine_config , и убедиться, что pulseaudio там закомментирован.


+ Конфиг сиснемного уровня (пока я тестировал только с mpg123-alsa, aplay, moc). Сохраните файл /usr/share/alsa/alsa.conf. Затем в самом верху файла поменяйте (или просто закомментируйте /usr/share/alsa/pulse.conf или переместите вниз, но я предпочитаю удалить, поскольку есть сохранённая копия)


# pre-load the configuration files


@hooks [

{

func load

files [


"/usr/share/alsa/bluetooth.conf"

"/etc/asound.conf"

"~/.asoundrc"

]

errors false

}

]


Собственно, всё!


Comments:


burunduk-2
bur_ii at 2009-05-29 06:07 (UTC) (Link)
если не секрет, в чём причина отказа от pulseaudio ?
klirichek
klirichek at 2009-05-30 02:47 (UTC) (Link)

Вис иногда

Не сказать, что часто - но когда машина работает в аптайме 10 суток и больше - и потом приходится перезагружать только лишь из-за pulseaudio - лучше поискать что-нибудь по-стабильнее. Сейчас с alsa таких проблем нет.
burunduk-2
bur_ii at 2009-05-30 10:01 (UTC) (Link)

Re: Вис иногда

вот как.
спасибо. у меня тоже кеды подвисали раз 5-ть на день. но я это списывал на баги kde.. теперь подвисоны прекратились :)
(Anonymous) at 2009-06-29 10:09 (UTC) (Link)

Re: Вис иногда

Ребята у вас проблемы с восприятием... Pulse это не модуль, это сервер... Более того он позволяет смешивать потоки и много другой полезной фичи. Это надстройка над ALSA а не модуль :) Ппц... Проще настроить пульс на корректную работу нежели отключать его вообще.
vadiml
vadiml at 2009-11-22 19:57 (UTC) (Link)
Спасибо, мне для федоры пригодилось -- с kde4, 2мя экземплярами иксов и 2мя звуковыми PA изрядно мешает.
Previous Entry  Next Entry