Alsa драйвер для linux

Alsa драйвер для linux

работающая система Linux (например дистрибутив Slackware), с установленными приложениями: gcc, make и т.д.

некоторые практические знания о Linux (подразумевается ваше знание «ls», «cd», «tar» и т.д.)

доступ с паролем root


Если у вас нет звуковой карты, то в ALSA есть драйвер, который ее эмулирует! (Он абсолютно ничего не делает, но программы, которые требовали карту, будут работать).

Если у вас есть карта PnP, тогда вам так же потребуется:

пакет программ isapnptools.


В каталоге драйвера есть файл INSTALL, в котором говорится, что для некоторых карт поддержка PnP не требуется, так как она уже установлена.

Надо отметить, что у вас не должно быть никаких активных звуковых драйверов, когда вы используете драйверы ALSA. Если у вас встроенный драйвер, то вам придется перекомпилировать ядро. Если у вас стоит старый модуль «sound.o», то вы должны его сделать нерабочим. При использовании kerneld это означает, что вам надо удалить sound.o из каталога /lib/modules/ /misc . Новейшие системы RedHat могут использовать несколько активных звуковых модулей. Вам потребуется удалить их все.

При использовании ядер серии 2.2 вы должны включить в них поддержку звука, но не драйвер карты. Затем скомпилируйте и установите ядро, и после этого скомпилируйте драйверы ALSA.

Для установки драйверов ALSA вам понадобятся драйверы, библиотеки и утилиты; например, вы выбрали зеркало A2000, вы берете там ftp://linux.a2000.nl/alsa/driver/alsa-driver-0.4.1e.tar.gz, ftp://linux.a2000.nl/alsa/lib/alsa-lib-0.4.1d.tar.gz и ftp://linux.a2000.nl/alsa/utils/alsa-utils-0.4.1.tar.gz

Драйверы ALSA далеко не новы. Их разработка началась еще для ядер 2.0, затем и для ядер 2.2 (у которых есть собственное звуковое ядро).

У меня замечательно работает версия 0.4 , я думаю, что и версии 0.4.1e (или более новые) будут не хуже. Если у вас ядро 2.0.x, вам понадобятся версии 0.3.0 или более старые. Я бы посоветовал использовать alsa-driver-0.3.0-pre4, alsa-lib-0.3.0-pre4 и alsa-utils-0.3.0-pre3.

Более старые версии, такие как 0.2.0-pre10p3 или старше, работают под ядром 2.0.x, но я не смог их запустить под 2.2.x .

Вы можете разархивировать драйверы командой типа tar -zxf . Было бы сподручнее если бы вы сделали это в каталоге /usr/src, но для этого вы должны зайти как пользователь root. Наберите «su» и пароль root для того, чтобы получить права одноименного пользователя. Но лучше не пользоваться этими правами без лишней необходимости. Итак:

tar -zxf ˜/alsa-driver-0.4.1e.tar.gz

tar -zxf ˜/alsa-lib-0.4.1d.tar.gz

tar -zxf ˜/alsa-utils-0.4.1.tar.gz

Есть еще один проверочный файл, найдите

-name alsa* -exec tar -zxf <> \; (нежелательно это прослушивать в присутствии детей). Замечание: если вы скачиваете файлы при помощи Netscape, вы можете скачать неразархивированные драйверы с расширением «.tgz». Если tar будет ссылаться на неправильный формат файла, уберите «z» в настройках tar.

До того, как вы начнете использовать библиотеки, у вас должен быть драйвер, а до использования утилит у вас должны быть библиотеки:

(для не столь опытных: нажмите (клавиша «tab») после «alsa-d». Это называется автоматическое завершение командной строки .)
Если вы хотите использовать встроенные интерфейсы PnP, вы должны выполнить
Теперь вам потребуются права пользователя ‘root’ для установки программ
Если после этого система выдает сообщение вида «version.h cannot be found», значит, у вас нет соответствующего файла в исходных текстах ядра. Вам потребуются некоторые файлы исходного текста ядра для компиляции драйверов ALSA. Разархивируйте linux-2.x.y.tar.gz в каталог /usr/src и запустите make menuconfig . (В принципе, make symlinks было бы достаточно). Теперь откомпилируйте библиотеки:
Хорошо, вы закончили с библиотеками, теперь утилиты:

Замечание: вы можете вообще не делать «make install» для утилит и даже не собирать библиотеки и утилиты, если вам просто надо проверить, работает ли драйвер.

В каталоге драйвера есть скрипт, который установит звуковые устройства ALSA в ваш каталог /dev . Наберите

в каталоге драйвера. Теперь там должен появиться подкаталог /dev/snd (проверьте это. Если вы при помощи команды «ls» не нашли соответствующего каталога, то вам придется прочесть другой HOWTO. У вас должны быть кое-какие навыки работы с Linux для того, чтобы установить эти драйверы).

Теперь вы можете установить драйвер. Это описано в следующей главе.

Источник

Alsa драйвер для linux

ALSA (Advanced Linux Sound Architecture) – архитектура звуковых драйверов, обеспечивающая поддержку множества звуковых карт. Главными особенностями ALSA являются:

Обновление ALSA

Если у вас возникают какие-либо проблемы в работе звуковой подсистемы попробуйте обновить ALSA из PPA, поддерживаемого Ubuntu Audio Development Team.

Сборка, установка и конфигурирование ALSA

Все дальнейшие действия выполняются в терминале. Все команды рекомендуется вводить по одной, чтобы отслеживать процесс на возможные ошибки. Продолжать сборку при возникновении ошибки бессмысленно. Если не можете выяснить ее причину обратитесь на форум.

Для начала следует установить необходимые пакеты для сборки ПО из исходных текстов:

Установка этих пакетов потянет за собой около 400МБ траффика. Выполнять дальнейшие инструкции без их установки бессмысленно.

Скачиваем исходные коды ALSA с официального сайта, желательно самые последние (на момент последнего обновления статьи 29 Января 2012г. это была версия 1.0.25) :

Поддержка Alsa версий выше 1.0.23 есть в ядрах версий 2.6.38 и выше. Сборка на старом ядре в результате приведет к тому, что Alsa не будет распознавать звуковые карты. Последние сборки ядра можно скачать отсюда.

Собираем и устанавливаем alsa-driver:

Собираем и устанавливаем alsa-lib:

Собираем и устанавливаем alsa-utils:

Если при компиляции alsa-utils выдает ошибку вроде такой:

то нужно установить пакет gettext :

Внимательно смотрите чтобы сборка alsa-utils прошла без ошибок! На некоторых компьютерах сборка не проходит. Если ошибка всеже есть, скачиваем готовый пакет по ссылкам:

Собираем и устанавливаем alsa-firmware:

Собираем и устанавливаем alsa-plugins:

Судя по багу 29597 не стоит использовать alsaconf так как он нарушает работу других скриптов настройки.

Выбираем нужную звуковую карту, нажимаем «ок» и на последующие вопросы отвечаем всегда «Да/Y»:

Начиная с версии 1.0.24 alsaconf нужно брать в папке alsa-utils/alsaconf:

Перезаружаем систему и настраиваем громкость вывода звука, ставим все на максимум (кроме PC Beep):

Возможные проблемы и их решение

Если звука по прежнему нет, попробуйте выполнить следующие действия:

Откройте в файл /etc/modprobe.d/alsa-base.conf в текстовом редакторе:

Добавьте в конце строчку

с одним из значений:

В выводе будут строчки с информацией о чипе наподобие этих:

В таблице ищем свой чип и берем оттуда значения. Описанию большого значения не придавать, оно подобрано владельцами этих звуковых карт.
Если вам помогло какое-нибудь значение, а в описании этого значения нет модели вашего ноутбука, можете ее смело добавить в таблицу.

Источник

Download

Contents

Latest Software Source Releases

Package Stable Release Development Release Description
Drivers (see kernel.org) (see kernel.org) Kernel drivers
Firmware (alsa-firmware) 1.2.4 (sig) none Firmware for cards that require it
Library (alsa-lib) 1.2.5.1 (sig) none Userspace library
Plugins (alsa-plugins) 1.2.5 (sig) none Additional library plugins Eg.jack, pulse, maemo .
Utilities (alsa-utils) 1.2.5.1 (sig) none Utilities aplay,arecord,amixer etc
Tools (alsa-tools) 1.2.5 (sig) none Tools
PyALSA (pyalsa) 1.1.6 (sig) none Python bindings for ALSA lib
OSS compat lib (alsa-oss) 1.1.8 (sig) none OSS compatibility library
Tiny compress library (tinycompress) 1.2.5 (sig) none Tiny compress library

See ChangeLogs to find out what has changed since the previous release.

  • GPG signing key fingerprint: F04D F507 37AC 1A88 4C4B 3D71 8380 596D A6E5 9C91
  • GPG public key block: [1]

Detailed package descriptions

alsa-driver

alsa-driver contains the ALSA components that run in kernel space (e.g. all the modules). It also contains a few user-space components, including the alsasound startup script and a set of ALSA headers.

This package is now obsolete. The kernel development continues in the standard linux kernel tree [2].
The old drivers (alsa-driver) are still available.

alsa-lib

alsa-lib contains the user space library that developers compile ALSA applications against.

alsa-utils

alsa-utils contains various generic ALSA command line tools, such as amixer, aplay, alsaconf, etc.

alsa-tools

alsa-tools contains various more obscure tools and loaders.

alsa-firmware

alsa-firmware contains binary drivers for various third-party products.

alsa-plugins

alsa-plugins contains plugins for various ALSA needs (e.g. Jack).

alsa-oss

alsa-oss contains the OSS compatibilty layer.

pyalsa

pyalsa contains the Python bindings for ALSA

.bz2 extension handling

The .bz2 extension belongs to the bzip2 compression utility which replaces gzip. You may unpack the .tar.bz2 files directly using one of the following commands:

FTP Access

HTTP access

Developers: GIT access

Online Snapshot From ALSA Server

Tarballs are generated from the latest code in ALSA GIT repositories immediately. Get very fresh ALSA code now.

Daily Snapshot Tarballs (from Takashi Iwai)

The tarballs of the latest GIT version with ready-for-build configure script are available at:

Источник

Настройка звука в Ubuntu

У меня есть хобби — написание музыки. Поэтому после установки свежей версии Ubuntu на свой ноутбук мне понадобилось настроить звук чуть более тонко, чем обычным пользователям. К моему сожалению, сделать это у меня не вышло. Тем не менее, я хочу рассказать о шагах, которые немного приблизили меня к результату. Я надеюсь, что кому-то это сэкономит время. А может, с помощью читателей я смогу пройти дальше. Если вы пользуетесь Linux и можете произнести слова sidechain и компрессия в одном осмысленном предложении — Добро пожаловать!

Кратко

Для начала более подробно о сути задачи: есть ноутбук Asus N55 с Kubuntu 17.10 на борту. Нужно добиться той же конфигурации, которую можно получить на Windows:

  • Без подключения сабвуфера драйвер работает в режиме 2.0
  • При подключении сабвуфера драйвер переключается в режим 2.1. При этом переключении к каналам применяются частотные фильтры — НЧ для сабвуфера и ВЧ для колонок
  • При подключении наушников, вывод звука переключается на них, вывод на колонки/сабвуфер приостанавливается
  • При необходимости низких задержек можно с помощью выбора другого драйвера перейти в режим, обеспечивающий монопольный захват звуковой карты

Сразу после установки получаем нерабочий сабвуфер и нерабочие наушники.
В результате моих опытов мне удалось добиться следующего состояния системы:

  • Драйвер работает в режиме 2.1
  • При подключении сабвуфера ничего не изменяется
  • При подключении наушников, вывод звука переключается на них, вывод на колонки/сабвуфер приостанавливается, но фильтры продолжают работать и в наушники идут только ВЧ
  • При необходимости низких задержек можно адресоваться к карте через ALSA, но в этом режиме не работает сабвуфер, фильтры. Но работает переключение на наушники

Для знакомства с LMMS(с которой как оказалось нормально работать нельзя, но это отдельная тема) этого в общем-то хватает.
Если вы тоже добрались до этого состояния, то ничего нового этой статьей я вам не расскажу.

Обзор

Вы когда-нибудь задумывались о том, как устроена звуковая система Linux? Вот и я нет — обычно звук либо был не нужен, либо как-то работал, колонки играли — ни о каких фокусах подключения сабвуфера или наушников речи не было.
Похоже, теперь самое время узнать об этом немного больше. Гугление показало следующую картину:

Мысль первая: удаляем PulseAudio — ставим JACK

Мало кто говорит, что PulseAudio де-факто является стандартом для интеграции звука, по крайней мере в Ubuntu. Практически любой софт, который издает звуки, будет с большой долей вероятности пользоваться PulseAudio API. FF, например, для поддержки JACK надо отдельно собирать.
Поэтому удалять PulseAudio не стоит, если вы не уверены, что все чем вы будете пользоваться, умеет работать с JACK. Видимо, поэтому существует еще вариант интеграции Jack-PulseAudio. Но от этого варианта я отказался, т.к. для работы в том софте, где требуются низкие задержки, меня устраивает монопольный доступ через ALSA(под Windows это работает так же — там, где нужна низкая задержка, запрашивается монопольный доступ). Возможно, когда дело дойдет до установки какого-нибудь Ardour, мне придется вернуться к этому варианту.

Мысль вторая: ALSA и PulseAudio надо настраивать

Так, ну хорошо, JACK не нужен. Выходит, чтобы все заработало, мне надо настроить ALSA-компонент для своей карточки и интеграцию его с PulseAudio

PulseAudio

Тут нам из коробки предлагают вот такую UI консоль

Мне кажется, к такому инструменту пояснения излишни. После применения настроек вы сразу сможете слышать изменения, так что пробуйте.
Еще amarao советует обратить внимание на pactl /pacmd. Если я доберусь — напишу, что там к чему с этими утилитами

Диагностика ALSA

Первым делом понадобятся хоть какие-то инструменты для диагностики — это пакет alsa-utils
sudo apt install alsa-utils
Теперь посмотрим, как видит наше оборудование система
aplay -l

Кроме того, настройки надо проверять. Для этих целей обнаружилась утилита speaker-test

вызов speaker-test —help покажет, что умеет утилита, но мне особенно интересна конфигурация
speaker-test -Dplughw:1,0 -c4

  • -D — id устройства. 1,0 — это индексы устройства и подустройства, их мы видели выше в выводе aplay
    а вот структура текстовой части описана тут
  • -c — количество каналов на которые будет выведен тест
    В моем случае первые 2 канала работают хорошо, а вот дальше интересно — 3й канал LFO не звучит, но зато звучит 4й канал. Такое ощущение, что LFO настроен как… стерео. Мне кажется, это часть моей проблемы.

Настройка ALSA

Тут и тут советуют поизучать dmix — это модуль микшера каналов в ALSA — буду смотреть

alsamixer

alsamixer — псевдографический интерфейс микшера. Половина советов по настройке ограничивается этой утилитой. И действительно, именно эта утилита часто покажет, когда канал неожиданно замьютился или у него сбросился уровень громкости.

Но настройка в микшере результата не дала.

hdajacksensetest

Следующая полезная утилита — hdajacksensetest. Показывает какие разъемы детектируют подключение внешних устройств.

Ок, я вижу, что мой внешний сабвуфер подключен на порт 0x1a.
Давайте попробуем найти как можно объяснить карте, куда выводить LFO.

hdajackretask

Большинство советов по настройке маппинга указывают на утилиту hdajackretask:

Тут вроде бы все понятно — есть порты, есть маппинг. К сожалению, никакие манипуляции с портом 0x1a к успеху не привели.
Может, после настройки надо явно перезагружать сервисы?
sudo alsa force-reload
Нет, смотрим дальше.

HDAAnalyzer

Для настройки маппинга есть еще одна утилита:
скачать ее можно в виде python-скрипта(. ) вот тут.

Выглядит эта штука как прокачанный вариант hdajackretask — она даже умеет строить схему маршрутизации портов графически. Но эксперименты с этой штукой тоже не привели ни к чему, кроме полной потери звука.
Никакого гайда по настройке я не нашел, поэтому пробовал методом проб и ошибок.

Правка конфигов

Других утилит, способных помочь в настройке звука я не обнаружил. Остается попробовать только одно — искать и править конфиги. С помощью гугла и find, мне удалось обнаружить несколько локаций.

PulseAudio

/usr/share/pulseaudio
в папке alsa-mixer тут лежат конфиги. Т.к. Pulseaudio более-менее работает тут я ничего трогать не стал.
/etc/pulse/daemon.conf
Как я понял, это настройки службы pulseaudio — один из немногих конфигов, изменения в котором на что-то влияют. именно тут настройками:
enable-lfe-remixing = yes
lfe-crossover-freq = 200
я заставил звучать свой сабвуфер из Pulseaudio так, как он должен. Для lfe-crossover-freq 200 — это очевидно частота среза в герцах.
Но тут же становится очевидно, что настроить нечто более сложное(при подключении наушников прекращать отправлять бас на сабвуфер) в этом конфиге возможности нет.

/usr/share/alsa/*
Тут лежит несколько shell-скриптов, в т.ч. alsa-info.sh, который может быть полезен при подготовке дефекта в трекере и т.д.
а в папке pcm какие-то конфиги, разобраться в которых мне не удалось:

Трогать их я пока не решился.
/etc/modprobe.d/alsa-base.conf — второй доказанно полезный конфиг. Вот эта строчка, дописанная в низ конфига, реально заставила работать наушники под ALSA:
options snd-hda-intel model=auto,auto probe_mask=1
Про настройку этого конфига написано довольно много. Одна из его целей, как я понял — сопоставить устройствам кодеки(model). Кодеки это… какой-то пресет маппингов… Есть табличка (копия есть тут). Думаю, в большинстве случаев для стандартных конфигураций этого действительно достаточно.
Там описаны модели для разных контроллеров. Но если для вас они не срабатывают, то вам рекомендуют добавить свою конфигурацию.
Звучит классно, но тут я должен сделать 2 ремарки:

  • гайда как сделать свою конфигурацию — что конфигурить, куда сохранять, коммитить и т.д. я не нашел.
  • После изменения настроек в alsa-base.conf нужно перезагружать ОС. Без перезагрузки никакие sudo alsa force-reload и даже хардкорный echo 1 | sudo tee /sys/class/sound/hwC1D0/reconfig не заставляют ALSA перечитать кодек устройства.

Кстати, в /sys/class/sound/hwC1D0/ — лежат файлы уже непосредственно устройства, т.е. как я понял hdajackretask работает именно с этими файлами. Тут тоже, наверное, можно сделать что-то полезное, если знать куда что писать.

Выводы

На этом у меня все. После правок в daemon.conf и alsa-base.conf , я получил результат, описанный в начале. Это все, чем я мог помочь вам в деле настройки звука под Ubuntu.
Большинство приведенной тут информации я получил здесь и документации ALSA на Arch Linux.
Как я и говорил, после проделанной работы появляется больше вопросов, чем ответов:

  • как так pulseaudio нормально работает с сабвуфером, а ALSA нет.
  • какие все-таки конфиги надо править для правки маппинга портов??
  • как оформить вот свою модель HD-Audio.
  • насколько ALSA эффективна по сравнению с аналогами в других ОС? подходит ли она вообще для работы со звуком?

Общий вывод, который я могу сделать по результатам проделанной работы: в целом видно, что если GUI, например, сообщество более-менее занимается, то звуковая подсистема явно остается за бортом.
На сегодняшний день возможности использования этой подсистемы не выдерживают никакой конкуренции с аналогами в других популярных ОС.
Такие досадные проблемы, как неработающий сабвуфер или наушники, или отсутствие НЧ-фильтра для сабвуфера, заставляют еще раз подумать, прежде чем отказываться от предустановленного софта. Ведь никому не хочется получать от своей железки меньше отдачи из-за кривостей ОС.

Источник

Читайте также:  Как отгадать пароль от компьютера windows
Оцените статью