Alsa не видит звуковую карту

Обновлено: 06.07.2024

Эти пакеты входят в дистрибутивы Astra Linux. В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) требуется ручная установка, в более поздних очередных обновелениях пакеты устанавливаются автоматически при установке ОС.

При этом в современных компьютерах, в большинстве случаев, "из коробки" имеется два варианта вывода звука:

  • аналоговый звук через аналоговый кодек, обычно интегрированный в материнскую плату;
  • цифровой звук через порт HDMI/Display Port видеокарты (как интегрированной в материнскую плату, так и дополнительной, если таковая имеется).
    Так как интерфейсы HDMI и Display Port поддерживают передачу и видео и звука, большинство современных видеокарт умеют передавать звук в видеопотоке, только бы подключенное устройство умело его воспроизводить.

Основным инструментом для работы с pulseaudio является графический инструмент pavucontrol.
Инструмент устанавливается автоматически при установке ОС и доступен для запуска из меню ("Пуск" - "Мультимедиа" - "Регулятор громкости PulseAudio) или из командной строки:

Инструмент позволяет выбрать и настроить нужное устройство для вывода звука в графическом режиме (Закладка "Конфигурация" - "Профиль"):


Файлы конфигурации alsa

Файлы конфигурации описаны в таблице в порядке их применения:

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

Определение звуковой карты

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

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

Она покажет примерно такой вывод:

К примеру мы хотим, чтобы первой звуковой картой определялась карта:

Тогда создать файл

  • /etc/asound.conf (для общесистемной настройки)
  • или в файле пользователя .asoundrc (для индивидуальной настройки )

со следующим содержимым:

pcm.!default type hw
card 2
device 0
>

ctl.!default type hw
card 2
device 0
>

Альтернативный вариант определения списка карт (однако, этот способ не позволит определить устройство внутри карты):

0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xfb400000 irq 39
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfb080000 irq 17

Тогда содержание /etc/asound.conf или .asoundrc:

pcm.!default type hw
card PCH
>

ctl.!default type hw
card PCH
>

Настройка вывода через HDMI

Выполнить aplay -l в котором видно несколько устройств HDMI:

Опытным путём надо подобрать device.
Например, проверив содержимое файлов *.eld в каталогах /proc/asoud/card*/ (в этих файлах хранится информация, которую сообщило о себе устройство, подключенное через HDMI/Display Port):

Пример информации, когда никакого устройства нет:

Пример информации при наличии подключенного устройства

monitor_present 1
eld_valid 1
monitor_name TX-SR606
connection_type HDMI
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0xcb3d
product_id 0x863
port_id 0x0
support_hdcp 0
support_ai 1
audio_sync_delay 0
speakers [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count 8
sad0_coding_type [0x1]
LPCM sad0_channels 2
sad0_rates [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad0_bits [0xe0000] 16 20 24
sad1_coding_type [0x1] LPCM
sad1_channels 8
sad1_rates [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad1_bits [0xe0000] 16 20 24
sad2_coding_type [0x2] AC-3
sad2_channels 8 sad2_rates [0xe0] 32000 44100 48000
sad2_max_bitrate 640000
sad3_coding_type [0x7] DTS
sad3_channels 8 sad3_rates [0xc0] 44100 48000
sad3_max_bitrate 1536000
sad4_coding_type [0x9] DSD (One Bit Audio)
sad4_channels 6
sad4_rates [0x40] 44100
sad5_coding_type [0xa] E-AC-3/DD+ (Dolby Digital Plus)
sad5_channels 8
sad5_rates [0xc0] 44100 48000
sad6_coding_type [0xb] DTS-HD
sad6_channels 8 sad6_rates [0x1ec0] 44100 48000 88200 96000 176400 192000
sad7_coding_type [0xc] MLP (Dolby TrueHD)
sad7_channels 8 sad7_rates [0x1480] 48000 96000 192000

Решение проблем со встроенной звуковой картой и USB в Alsa

Как я объяснил в моем предыдущем посте, у меня есть сервер Ubuntu, воспроизводящий HD-аудио и видео с использованием звуковой карты Turtle Beach USB и Broadcom CrystalHD.

Pulseaudio работал при использовании VLC, по какой-то причине я не получил прохождение Dolby / DTS от XBMC. Поэтому мне пришлось удалить его, как я объяснил в моем предыдущем посте. Несмотря на то, что pulseaudio может быть более качественным и сложным звуковым сервером, он не работал для меня, как большинство людей.

После настройки я получил превосходный 5.1-канальный звук Dolby Digital, отправленный через кабель Toslink и декодированный моим ресивером. Однако после перезапуска я потерял звук. После исследования я определил, что моя встроенная звуковая карта крала состояние звуковой карты по умолчанию с моей звуковой карты USB. Вот как я исправил проблему.

Найдите, какие звуковые модули включены, с помощью следующей команды:

Вывод может выглядеть примерно так:

Так как я не использую свою бортовую звуковую карту. Я хотел отключить это. Это может быть сделано через настройки BIOS или путем изменения файлов конфигурации ALSA. Я добавил свою встроенную звуковую карту в /etc/modprobe.d/blacklist:

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

Затем отредактируйте файл /etc/modprobe.d/alsa-base.conf, чтобы позволить USB-аудио принимать статус карты по умолчанию:

Добавьте следующую строку:

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

Это позволяет звуковой карте USB принимать статус карты по умолчанию. Перезагрузитесь, и у вас должна быть звуковая карта USB по умолчанию. Мои настройки звука XBMC теперь:

Иногда мы можем сталкиваться с такой проблемой, что в системе нет звука. В Windows, обычно, это вызывается проблемами со звуковыми драйверами и решается, чаще всего, переустановкой. В Linux же всё немного по-другому. Драйверы здесь встроены в ядро, но есть библиотеки управления звуковой подсистемой, которые иногда могут вызывать сбои и проблемы.

В этой небольшой статье мы рассмотрим несколько способов борьбы с такой проблемой, как "нет звука Ubuntu 18.04". Несмотря на то, что статья пишется для версии 18.04, она должна отлично работать, как на новых, так и на более старых версиях, а также в других дистрибутивах Linux.

Что делать, если нет звука в Ubuntu?

1. Громкость и беззвучный режим

Если в вашей системе раньше был звук, а потом пропал, нужно сначала проверить уровень громкости. Конечно, это очень простая причина, но не упомянуть о ней нельзя. Значок управления громкостью находится в правом верхнем углу:


Также можно посмотреть громкость в настройках системы. Для этого откройте утилиту настроек и перейдите на вкладку звук:

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

Это инструмент командной строки, но у него есть псевдографический интерфейс, поэтому в нём будет не сложно разобраться. Здесь представлены все звуковые устройства системы и их уровень громкости. Убедитесь, что нигде нет обозначения MM, это значит, что устройство находится в беззвучном режиме, особенно обратите внимание на Master, Hearphones и PCM. Если на одном из устройств выключена громкость или установлен беззвучный режим, выберите его с помощью кнопок со стрелками вправо/влево, а затем нажмите M, чтобы включить звук. Громкость звука настраивается кнопками вверх и вниз на клавиатуре.

Должно быть как на скриншоте, сохранять настройки не нужно, они применяются в реальном времени. Для выхода из программы нажмите кнопку Esc. Скорее всего ваша проблема "нет звука Ubuntu" уже была решена, если же нет, есть ещё несколько вариантов.

2. Перезагрузка модулей ALSA

Если вариант с настройками звука не сработал, например, потому что в настройках вовсе нет никаких устройств, значит ваша звуковая карта не распознаётся. Эту проблему можно попытаться решить, перезапустив ALSA, для этого выполните команду:

sudo alsa force-reload

После выполнения команды нужно перезапустить компьютер, и если всё прошло хорошо, то в списке устройств в настройках появится ваше звуковое устройство.

3. Переустановка ALSA и PulseAudio

Если же и это решение не помогло, вы можете попробовать полностью переустановить ALSA и PulseAudio. Для этого выполните такие команды:

sudo apt remove --purge alsa-base pulseaudio

sudo apt install alsa-base pulseaudio

Затем снова перезапустите ALSA:

sudo alsa force-reload

Далее, перезагрузите свой компьютер.

4. Диспетчер речи

Этот компонент системы должен быть отключён. Чтобы убедится, что это действительно так, откройте конфигурационный файл /etc/default/speech-dispatcher и убедитесь, что в строчке RUN находится значение no:

Выводы

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

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Нет звука в свежей установке Ubuntu? Видите только фиктивный вывод? Без проблем. Вот несколько методов, с помощью которых вы можете попробовать пофиксить проблему отсутствия звука в Ubuntu и других дистрибутивах Linux

Как это происходит с каждым новым выпуском Ubuntu, вы устанавливаете или обновляете свою ось до свежей версии Ubuntu и сталкиваетесь с рядом проблем. Но всегда есть способ преодолеть эти не большие, но досадные неприятности.

Одна из наиболее распространенных проблем - отсутствие звука после установки Ubuntu. Есть несколько причин отсутствия звука в Ubuntu, но я расскажу о тех приемах, которые сработали в моем случае.

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

Сначала установите инструмент inxi:

Теперь проверьте информацию о системе, машине и аудио с помощью этой команды:

Вы должны увидеть примерно такую ​​информацию:

Присмотритесь к аудио части вышеприведенного вывода. Он сообщает, что это Intel Sunrise Point-LP HD Audio, и у него есть драйвер Linux snd_hda_intel, и звук обслуживается Alsa. Эта информация может быть полезна на некоторых этапах устранения неполадок со звуком.

Исправление фиктивного вывода в настройках звука

Первый шаг, чисто, что называется, «для отчистки совести», проверьте, не замьючен ли звук. Убедившись в этом, перейдите в Настройки звука:


В настройках звука вы обнаружите, что здесь практически ничего нет, кроме фиктивного выхода. Довольно неприятно. Это означает, что ваша звуковая карта даже не распознается. Ба-дум-тс!


Без паники. Единственное решение, которое устранило проблему со звуком на моем Dell Inspiron с процессором Intel, — это принудительная перезагрузка Alsa. Для этого используйте в терминале следующую команду (Ctrl + Alt + T):

Вывод будет таким:


Вы можете подумать, что процесс подвис или все еще обрабатывается, но сам процесс занимает всего пару секунд. Вы можете просто закрыть террминал, нажав Ctrl + C.

Теперь вам нужно перезагрузить компьютер. А после: либо воспроизвести музыкальные или видеофайлы, либо заглянуть в настройки системы, что бы выяснить сработал ли этот способ.


Если прошлый способ не помог вам в устранении проблемы, попробуйте переустановить Alsa и Pulse audio следующим образом.

И снова принудительно перезагрузите Alsa:

Перезагрузитесь и проверьте, вернулся ли звук.

Перейдите в свой домашнюю директорию, а затем перейдите в скрытый каталог конфигурации. Переименуйте здесь каталог с именем pulse:

Теперь перезагрузите вашу систему. Каталог Pulse будет создан заново, и у вас должен восстановиться звук.

Третий альтернативный метод: попробуйте alsamixer

Откройте терминал и используйте следующую команду, чтобы открыть alsamixer:

Вы должны увидеть такой экран:


Проверьте, отключены ли здесь динамики или желаемый аудиовыход. MM означает отключение звука, а OO означает включение. Если желаемый аудиовыход (в основном это динамики) или мастер отключен, включите его.

Вы можете закрыть экран alsamixer, нажав клавишу Esc.

Обратите внимание: если команда alsamixer возвращает ошибку, возможно, это связано с тем, что у вас более одной звуковой карты. В этом случае вам нужно указать номер звуковой карты (см. Вывод inxi, который я упоминал в начале) следующим образом:

Диспетчер скорости (speed dispatcher) — это функция, которая позволяет вашей системе преобразовывать текст в речь. Иногда она конфликтует с другими настройками звука. Если вам не нужна эта функция, вы можете попробовать отключить ее, возможно это вернет вам звук.

Откройте терминал и отредактируйте файл диспетчера речи с помощью следующей команды:

Здесь измените RUN = yes на RUN = no. Перезагрузитесь и наслаждайтесь звуком.

Пятый альтернативный метод (специально для Lenovo Carbon X1)

Некоторые из наших читателей отметили, что ни один из вышеперечисленных методов не помог их ноутбуку Lenovo Thinkpad Carbon X1 7-го поколения.

Я изучил проблему и обнаружил следующее. У этой модели есть проблемы с Linux. Хотя в ядре Linux 5.5 и более поздних версиях улучшена поддержка этой модели, но для пользователей Ubuntu 18.04 и Mint 19, в которых используется ядро ​​более ранней версии — 5.3, все еще остаются проблемы.

Проверьте версию ядра Linux, и если она 5.4 или ниже, попробуйте следующий обходной путь, предложенный разработчиками Arch Linux и Ubuntu.

Откройте файл конфигурации alsa (команда может быть другой для Mint, потому что текстовый редактор Gedit не используется в Mint):

Добавьте в конец этого файла следующую строку:

Сохраните и закройте файл и перезагрузите систему. После этих действий звук должен вернуться.

Устранение проблемы со звуком, безусловно, является одним из обязательных действий после установки Ubuntu.

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

ALSA (Advanced Linux Sound Architecture) это одновременно и проект и программное обеспечение. Проект был создан, так как архитектура OSS в некоторых отношениях является технически слабой, и свободная версия OSS содержит недостатки в некоторых драйверах, а драйверы без недостатков доступны только в коммерческих версиях. В течении нескольких лет программное обеспечение ALSA разрабатывалось отдельно от Linux. Драйверы были добавлены в базу кода Linux во время разработки серий ядра 2.5 и стали стандартной системой драйвера звука в ядре Linux 2.6..

ALSA это не только набор драйверов звуковый драйверов; это также это и библиотека с собственными расширениями API, которая позволяет приложениям взаимодействовать с последними возможностями звуковых карточек (т.н. множество звуковых каналов, Dolby AC3, и т.д.). ALSA предоставляет эффективную поддержку для множества приложений, также полностью построена из модулей, поддерживает SMP и thread-safe.

Приложения, написанные для OSS, работают с ALSA, либо через эмуляцию пространства пользователя (используя программный загрузчик aoss), либо через эмуляцию пространства ядра (snd-*-oss драйверы). Но, Вы не можете одновременно использовать драйверы и ALSA, и OSS.

Примечание: название драйверов ALSA всегда начинается с snd- .

Пакеты

Загрузка модулей

Пакет alsa-base сделан по принципу "просто" работает. Пакет alsa-base не загружает модули; вместо этого, udev обнаруживает звуковые устройства и загружает подходящие ALSA модули и затем alsa-base заботится о настройке использования уровней микшера.

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

ALSA и OSS

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

Тестирование

Для тестирования драйвера, используйте aplay, mplay или, например, xmms.

Для тестирования midi, вы можете использовать aplaymidi.

Совместное использование карты несколькими процессами

Часто требуется использовать звуковую карточку совместно несколькими процессами, работающими одновременно. Этого требует возможность смешивать вывод звука от нескольких процессов в один поток.

Если Ваша дешёвая звуковая карта не поддерживает аппаратное смешивание, то можно попробовать плагин dmix. Это автоматически настраивается с версии libasound2 1.0.10-2; в предыдущих версиях, взгляните на /usr/share/doc/libasound2/examples/asound.conf_dmix, чтобы рассмотреть, как включить DMIX в файле /etc/asound.conf (для всех пользователей) или

.asoundrc (для Вашего пользователя).

Пример .asoundrc для современных ноутбуков, которые имеют один HDMI и простую звуковую карту в the wrong order would be (используйте сначала aplay -l чтобы получить имена ваших карт):

Альтернативный метод

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

2. Откройте скачанный файл, распакуйте его куда-нибудь (для примера, ваша домашняя директория), откройте терминал от пользователя root, и скомпилируйте это как обычно:

1. Удостоверьтесь, что у Вас необходимые средства для сборки (gcc, make, build-essential, linux-headers для Вашего ядра, и т.д.) уже установлены, прежде, чем выполнять скрипт установки, описанный выше.

2. Если вы обнаружите ошибки, прочтите файл INSTALL и внесите соответствующие изменения в нужных файлах конфигурации.

Поиск и устранение неисправностей

Что бы увидеть, какие индексы были присвоены картам, выполните следующие:

Первая звуковая карточка, найденная ALSA, обычно имеет индекс 0 и, таким образом, обычно является звуковой карточкой 'по умолчанию'. If you are unlucky then the first sound card found is one that it not suitable for playing system sounds. (However an error such as "Unknown PCM default" when playing a sound occurs if the user is not a member of the 'audio' group - run "sudo adduser <username> audio", and then "newgrp" as the user)

1. Принудительно загружаем модули звуковых карт в нужном порядке. Для этого добавляем в файл настроек модулей ядра /etc/modprobe.d/sound новые строки:

Эта настройка принудительно назначит звуковую карту Trident аудиоустройством по-умолчанию (card 0) и USB микрофон card 1.

2. Поменять карту по умолчанию отредактировав файл /etc/asound.conf или

Does rebooting bypass BIOS and GRUB menu? This could be caused by kexec-tools. It allows the bypass of BIOS during rebooting and prevent proper initialization of various devices. As root, edit file /etc/default/kexec and update LOAD_KEXEC to:

This will allow your BIOS to properly initialize sound and other devices during every reboot.

Читайте также: