Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:alsa [2012/05/07 00:31] |
wiki:alsa [2012/07/04 21:58] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Установка, обновление, переконфигурирование системы вывода звука ALSA ====== | + | ====== ALSA ====== |
- | * Если у вас в Ubuntu нет звука, не работает микрофон или неправильно настроены каналы вывода звука, то вам придётся скачать и пересобрать вручную систему вывода звука ALSA. | + | |
- | <note>Перед тем, как выполнять инструкции, приведённые на этой странице, проверьте настройки микшера и регулятора громкости в Ubuntu, в современных версиях особенных проблем c выводом звука замечено не было.</note> | + | {{:wiki:alsa:alsa-logo.png?nolink&64 |}} |
+ | **ALSA** (**A**dvanced **L**inux **S**ound **A**rchitecture) -- архитектура звуковых драйверов, обеспечивающая поддержку множества звуковых карт. Главными особенностями ALSA являются: | ||
+ | * Широкая поддержка аудиоаппаратуры, начиная от потребительских звуковых карт и заканчивая профессиональными мультиканальными аудио интерфейсами. | ||
+ | * Поддержка устаревшего [[Open Sound System (OSS)]] API, обеспечивающего бинарную совместимость с большинством программ использующих OSS. | ||
+ | |||
+ | ===== Обновление ALSA ===== | ||
+ | Если у вас возникают какие-либо проблемы в работе звуковой подсистемы попробуйте обновить ALSA из [[PPA]], поддерживаемого //Ubuntu Audio Development Team//. | ||
+ | <code bash>sudo apt-add-repository ppa:ubuntu-audio-dev/ppa | ||
+ | sudo apt-get update | ||
+ | sudo apt-get upgrade</code> | ||
===== Сборка, установка и конфигурирование ALSA ===== | ===== Сборка, установка и конфигурирование ALSA ===== | ||
+ | <note important>При решении проблем со звуком прибегайте к этой части статьи в последнюю очередь!</note> | ||
- | <note important>Все команды выполняются в [[терминал|терминале]]. Копируются отсюда и вставляются в терминал с помощью "правого клика мыши => вставить"</note> | + | Все дальнейшие действия выполняются в [[терминал|терминале]]. Все команды рекомендуется вводить по одной, чтобы отслеживать процесс на возможные ошибки. Продолжать сборку при возникновении ошибки бессмысленно. Если не можете выяснить ее причину обратитесь на [[http://forum.ubuntu.ru/index.php?topic=99987.0|форум]]. |
- | + | -- Для начала следует установить необходимые пакеты для сборки ПО из исходных текстов: | |
- | * 1. Для начала следует установить необходимые пакеты для сборки ПО из исходных текстов: | + | .. <code bash>sudo apt-get install linux-headers-`uname -r` linux-backports-modules-alsa-`uname -r` build-essential gawk libgettext-ruby-util libgettext-ruby1.8 libncurses5-dev libncursesw5-dev xmlto autoconf automake checkinstall pkg-config</code> |
- | + | .. :!:Установка этих пакетов потянет за собой около 400МБ траффика. Выполнять дальнейшие инструкции без их установки бессмысленно. | |
- | <code> | + | -- Скачиваем исходные коды ALSA с официального сайта, желательно самые последние //(на момент последнего обновления статьи 29 Января 2012г. это была версия 1.0.25)// : |
- | sudo apt-get update | + | .. :!:Поддержка Alsa версий __выше 1.0.23__ есть в ядрах версий __2.6.38__ и выше. Сборка на старом ядре в результате приведет к тому, что Alsa не будет распознавать звуковые карты. Последние сборки ядра можно скачать [[http://kernel.ubuntu.com/~kernel-ppa/mainline/|отсюда]]. |
- | </code> | + | .. <code bash>wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.25.tar.bz2 |
- | Для Ubuntu 10.04: | + | |
- | <code> | + | |
- | sudo apt-get install linux-headers-`uname -r` linux-backports-modules-alsa-`uname -r` linux-backports-modules-alsa-lucid-generic build-essential | + | |
- | </code> | + | |
- | Для Ubuntu 10.10: | + | |
- | <code> | + | |
- | sudo apt-get install linux-headers-`uname -r` linux-backports-modules-alsa-`uname -r` linux-backports-modules-alsa-maverick-generic build-essential | + | |
- | </code> | + | |
- | Далее: | + | |
- | <code> | + | |
- | sudo apt-get install gcc gawk libgettext-ruby-util libgettext-ruby1.8 libncurses5-dev libncursesw5-dev xmlto autoconf automake checkinstall pkg-config | + | |
- | sudo apt-get upgrade | + | |
- | </code> | + | |
- | <note important>**Установка этих пакетов займет продолжительное время и потянет за собой около 400МБ траффика. | + | |
- | Выполнять дальнейшие инструкции без их установки бессмысленно.** | + | |
- | </note> | + | |
- | <note warning>**Все команды рекомендуется вводить по одной, чтобы отслеживать процесс на возможные ошибки. Продолжать сборку при возникновении ошибки бессмысленно! \\ | + | |
- | Если не можете выяснить ее причину обратитесь на [[http://forum.ubuntu.ru/index.php?topic=99987.0|форум]].** | + | |
- | </note> | + | |
- | + | ||
- | * 2. Скачиваем исходные коды ALSA с официального сайта, желательно самые последние //(на момент последнего обновления статьи 29 Января 2012г. это была версия 1.0.25)// : | + | |
- | <note important> | + | |
- | Внимание! Поддержка Alsa версий __выше 1.0.23__ есть в ядрах версий __2.6.38__ и выше.\\ | + | |
- | Сборка на старом ядре в результате приведет к тому, что Alsa не будет распознавать звуковые карты.\\ | + | |
- | Последние сборки ядра можно скачать [[http://kernel.ubuntu.com/~kernel-ppa/mainline/|отсюда]]. | + | |
- | </note> | + | |
- | <code> | + | |
- | wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.25.tar.bz2 | + | |
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.25.tar.bz2 | wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.25.tar.bz2 | ||
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.25.tar.bz2 | wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.25.tar.bz2 | ||
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.25.tar.bz2 | wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.25.tar.bz2 | ||
- | wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.25.tar.bz2 | + | wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.25.tar.bz2</code> |
- | </code> | + | -- Распаковываем архивы: |
- | + | .. <code bash>tar jxvf alsa-driver-1.0.25.tar.bz2 | |
- | * 3. Распаковываем архивы: | + | |
- | <code> | + | |
- | tar jxvf alsa-driver-1.0.25.tar.bz2 | + | |
tar jxvf alsa-lib-1.0.25.tar.bz2 | tar jxvf alsa-lib-1.0.25.tar.bz2 | ||
tar jxvf alsa-utils-1.0.25.tar.bz2 | tar jxvf alsa-utils-1.0.25.tar.bz2 | ||
tar jxvf alsa-firmware-1.0.25.tar.bz2 | tar jxvf alsa-firmware-1.0.25.tar.bz2 | ||
- | tar jxvf alsa-plugins-1.0.25.tar.bz2 | + | tar jxvf alsa-plugins-1.0.25.tar.bz2</code> |
- | </code> | + | -- Собираем и устанавливаем alsa-driver: |
- | * 4. Собираем и устанавливаем alsa-driver: | + | .. <code bash>cd |
- | <code> | + | |
- | cd | + | |
rm -rf ~/.pulse* | rm -rf ~/.pulse* | ||
cd ./alsa-driver-1.0.25 | cd ./alsa-driver-1.0.25 | ||
./configure | ./configure | ||
make | make | ||
- | sudo make install | + | sudo make install</code> |
- | </code> | + | -- Собираем и устанавливаем alsa-lib: |
- | * 5. Собираем и устанавливаем alsa-lib: | + | .. <code bash>cd |
- | <code> | + | |
- | cd | + | |
cd ./alsa-lib-1.0.25 | cd ./alsa-lib-1.0.25 | ||
./configure | ./configure | ||
make | make | ||
- | sudo make install | + | sudo make install</code> |
- | </code> | + | -- Собираем и устанавливаем alsa-utils: |
- | * 6. Собираем и устанавливаем alsa-utils: | + | .. <code bash>cd |
- | <code> | + | |
- | cd | + | |
sudo /sbin/alsa-utils stop | sudo /sbin/alsa-utils stop | ||
sudo /sbin/alsa stop | sudo /sbin/alsa stop | ||
Строка 80: | Строка 52: | ||
./configure | ./configure | ||
make | make | ||
- | sudo checkinstall | + | sudo checkinstall</code> |
- | </code> | + | .. :!:Если при компиляции alsa-utils выдает ошибку вроде такой: <file>mv: невозможно выполнить stat для «t-ja.gmo»: Нет такого файла или каталога</file> |
- | <note warning>Если при компиляции alsa-utils выдает ошибку вроде такой: | + | .. то нужно установить пакет ''gettext'': |
- | ''mv: невозможно выполнить stat для «t-ja.gmo»: Нет такого файла или каталога'' | + | .. <code bash>sudo apt-get install gettext</code> |
- | + | .. :!:Внимательно смотрите чтобы сборка alsa-utils прошла без ошибок! На некоторых компьютерах сборка не проходит. Если ошибка всеже есть, скачиваем готовый пакет по ссылкам: | |
- | то нужно установить пакет gettext: | + | * [[http://dl.dropbox.com/u/8047492/alsa-utils_1.0.24.2-0ubuntu1_i386.deb|Для 32-bit]] |
- | ''sudo apt-get install gettext'' | + | * [[http://dl.dropbox.com/u/8047492/alsa-utils_1.0.24.2-0ubuntu1_amd64.deb|Для 64-bit]] |
- | + | -- Собираем и устанавливаем alsa-firmware: | |
- | </note> | + | .. <code bash>cd |
- | <note warning>**Внимательно смотрим чтобы сборка alsa-utils прошла без ошибок! На некоторых компьютерах сборка не проходит. Если ошибка всеже есть, скачиваем готовый пакет по ссылкам:** | + | |
- | * [[http://dl.dropbox.com/u/8047492/alsa-utils_1.0.24.2-0ubuntu1_i386.deb|Для 32-bit]] | + | |
- | * [[http://dl.dropbox.com/u/8047492/alsa-utils_1.0.24.2-0ubuntu1_amd64.deb|Для 64-bit]] | + | |
- | </note> | + | |
- | * 7. Собираем и устанавливаем alsa-firmware: | + | |
- | <code> | + | |
- | cd | + | |
cd ./alsa-firmware-1.0.25 | cd ./alsa-firmware-1.0.25 | ||
./configure | ./configure | ||
make | make | ||
- | sudo make install | + | sudo make install</code> |
- | </code> | + | -- Собираем и устанавливаем alsa-plugins: |
- | * 8. Собираем и устанавливаем alsa-plugins: | + | .. <code bash>cd |
- | <code> | + | |
- | cd | + | |
cd ./alsa-plugins-1.0.25 | cd ./alsa-plugins-1.0.25 | ||
./configure | ./configure | ||
make | make | ||
- | sudo make install | + | sudo make install</code> |
- | </code> | + | -- Настраиваем ALSA. |
- | * 9. Настраиваем ALSA. Выбираем нужную звуковую карту, нажимаем "ок" и на последующие вопросы отвечаем всегда "Да/Y": | + | .. FIXME Судя по багу [[lpbug>29597]] не стоит использовать alsaconf так как он нарушает работу других скриптов настройки. |
- | <code> | + | .. Выбираем нужную звуковую карту, нажимаем "ок" и на последующие вопросы отвечаем всегда "Да/Y": |
- | sudo alsaconf | + | .. <code bash>sudo alsaconf</code> |
- | </code> | + | .. Начиная с версии 1.0.24 alsaconf нужно брать в папке alsa-utils/alsaconf: |
- | Начиная с версии 1.0.24 alsaconf нужно брать в папке alsa-utils/alsaconf: | + | .. <code bash>cd |
- | <code>cd | + | |
cd ./alsa-utils-1.0.25/alsaconf/ | cd ./alsa-utils-1.0.25/alsaconf/ | ||
chmod +x alsaconf | chmod +x alsaconf | ||
sudo ./alsaconf</code> | sudo ./alsaconf</code> | ||
- | * 10. Перезаружаем систему и настраиваем громкость вывода звука, ставим все на максимум //(кроме PC Beep)//: | + | -- Перезаружаем систему и настраиваем громкость вывода звука, ставим все на максимум //(кроме PC Beep)//: |
- | <code> | + | .. <code bash>alsamixer</code> |
- | alsamixer | + | |
- | </code> | + | |
<note warning>Если после обновления ядра пропал или неправильно воспроизводится звук, нужно проделать все действия заново.</note> | <note warning>Если после обновления ядра пропал или неправильно воспроизводится звук, нужно проделать все действия заново.</note> | ||
Строка 127: | Строка 87: | ||
===== Возможные проблемы и их решение ===== | ===== Возможные проблемы и их решение ===== | ||
- | <note tip> :!: Если звука по прежнему нет, то нужно добавить в файл **/etc/modprobe.d/alsa-base.conf** одно из следующих значений:\\ | + | Если звука по прежнему нет, попробуйте выполнить следующие действия: |
- | </note> | + | ** Откройте в файл ///etc/modprobe.d/alsa-base.conf// в текстовом редакторе: |
- | * Для этого в терминале: | + | .. <code bash>sudo gedit /etc/modprobe.d/alsa-base.conf</code> |
- | <code>sudo gedit /etc/modprobe.d/alsa-base.conf | + | ** Добавьте в конце строчку |
- | </code> | + | .. <file>options snd-hda-intel model="значение"</file> |
- | * Добавляем в конце строчку с одним из значений: | + | .. с одним из значений: |
- | <code>options snd-hda-intel model="значение" | + | <file> |
- | </code> | + | |
- | <note> | + | |
- | Чтобы узнать какое именно значение вам нужно, вводим команду в терминале: | + | |
- | <code>cat /proc/asound/pcm</code> | + | |
- | В выводе будут строчки с информацией о чипе наподобие этих: | + | |
- | <code> | + | |
- | 00-00: STAC92xx Analog : STAC92xx Analog : playback 1 : capture 1 | + | |
- | 00-01: STAC92xx Digital : STAC92xx Digital : playback 1 | + | |
- | </code> | + | |
- | Ниже в таблице ищем свой чип и берем оттуда значения. Описанию большого значения не придавать, оно подобрано владельцами этих звуковых карт. \\ | + | |
- | Если вам помогло какое-нибудь значение, а в описании этого значения нет модели вашего ноутбука, можете ее смело добавить в таблицу. | + | |
- | </note> | + | |
- | <code> | + | |
1 Чип Значение Описание | 1 Чип Значение Описание | ||
2 | 2 | ||
Строка 559: | Строка 506: | ||
411 imac27 IMac 27 Inch | 411 imac27 IMac 27 Inch | ||
412 auto BIOS setup (default) | 412 auto BIOS setup (default) | ||
- | </code> | + | </file> |
- | + | <note>Чтобы узнать какое именно значение вам нужно, вводим команду в терминале: | |
+ | <code bash>cat /proc/asound/pcm</code> | ||
+ | В выводе будут строчки с информацией о чипе наподобие этих: | ||
+ | <code>00-00: STAC92xx Analog : STAC92xx Analog : playback 1 : capture 1 | ||
+ | 00-01: STAC92xx Digital : STAC92xx Digital : playback 1</code> | ||
+ | В таблице ищем свой чип и берем оттуда значения. Описанию большого значения не придавать, оно подобрано владельцами этих звуковых карт. \\ | ||
+ | Если вам помогло какое-нибудь значение, а в описании этого значения нет модели вашего ноутбука, можете ее смело добавить в таблицу.</note> | ||
+ | ===== Смотрите также ===== | ||
+ | * [[PulseAudio]] | ||
+ | * [[OSS]] | ||
+ | * [[JACK]] | ||
===== Ссылки ===== | ===== Ссылки ===== | ||
- | * Обсуждение этой статьи на [[http://forum.ubuntu.ru/index.php?topic=99987.0|форуме]] | + | * [[http://alsa-project.org|Официальный сайт ALSA]] (англ.) |
- | * [[http://www.gentoo.org/doc/ru/alsa-guide.xml]] | + | * [[http://forum.ubuntu.ru/index.php?topic=99987.0|Обсуждение этой статьи на форуме]] |
+ | * [[http://www.gentoo.org/doc/ru/alsa-guide.xml|Руководство ALSA в Gentoo Linux]] | ||
{{tag>Аудиоаппаратура ALSA HOWTO}} | {{tag>Аудиоаппаратура ALSA HOWTO}} |