Арч линукс настройка звука

Sound system

This article is about basic sound management. For advanced topics see professional audio.

General information

The Arch sound system consists of several levels:

  • Drivers and interface – hardware support and control
  • Usermode API (libraries) – utilized and required by applications
  • Usermode sound servers (optional) – best for the complex desktop, needed for multiple simultaneous audio applications, and vital for more advanced capabilities e.g. pro audio
  • Sound frameworks (optional) – higher-level application environments not involving server processes

A default Arch installation already includes the kernel sound system (ALSA), and lots of utilities for it can be installed from the official repositories. If you want additional features you can install one of several sound servers.

Drivers and interface

  • ALSA — The default Linux kernel component providing device drivers and lowest-level support for audio hardware.
  • OSS — An alternative sound architecture for Unix-like and POSIX-compatible systems which has been superseded by ALSA due to a licensing change, but got opened back in 2007.

Sound servers

  • JACK Audio Connection Kit — Sound server for pro audio use, especially for low-latency applications including recording, effects, realtime synthesis, and many others.
  • Network Audio System — An open-source, network-transparent, client–server audio transport system.
  • PipeWire — Multimedia framework intended as a replacement for both PulseAudio and JACK, supports containers like Flatpak.
  • PulseAudio — General purpose sound system intended for out-of-the-box audio, multiple simultaneous inputs, can handle complex setups; is network-capable.
  • This page was last edited on 13 July 2023, at 10:50.
  • Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.
  • Privacy policy
  • About ArchWiki
  • Disclaimers

Источник

User : Zunguguzunguzeng/ALSA

Advanced Linux Sound Architecture (ALSA) это компонент ядра, призванный заменить оригинальную Open Sound System (OSSv3) в предоставлении драйверов звуковым картам. Помимо драйверов звуковых устройств, ALSA также включает в себя пользовательскую библиотеку для разработчиков приложений, которые хотели бы использовать возможности драйвера с API более высокого уровня чем простое взаимодействие с драйвером ядра.

Установка

ALSA уже включена в ядро Арча по умолчанию, как набор модулей, так что в установке нет необходимости.

Читайте также:  Dexp wfa 1301 linux

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

Пользователи должны состоять в группе audio, чтобы воспроизводить звук с помощью ALSA. Для добавления пользователя в группу audio можно воспользоваться следующей командой:

# gpasswd -a yourusername audio

Пользовательские утилиты

Пакет alsa-utils включает в себя программу alsamixer, которая позволяет настраивать звук из консоли, или терминала. Устанавливается с помощью pacman:

Установите пакет alsa-oss если хотите, чтобы ваши OSS-приложения работали с dmix (software mixing):

Note: С версии udev>=171 , модули эмуляции OSS ( snd_seq_oss, snd_pcm_oss, snd_mixer_oss ) не загружаются автоматически по умолчанию.

Установите пакет alsa-plugins, если вам нужны high quality resampling, upmixing/downmixing и другие дополнительные программы:

Включение каналов

Текущая версия ALSA устанавливается с заглушенными по умолчанию каналами. Включать каналы нужно вручную.

Для этого прекрасно подойдёт alsamixer (сделанный в ncurses) (либо можно использовать amixer из командной строки):

Буквы «MM» под обозначением канала говорят о том, что канал заглушен, а «00» о том, что включен.

Включите каналы Master и PCM с помощью стрелок на клавиатуре, и клавиши M . Используйте клавишу ↑ , и увеличьте громкость, чтобы gain стал 0dB (его уровень можно увидеть левом верхнем углу: Item: Master [dB gain: 0,00, 0,00] ). Больший уровень gain может стать причиной искажений и шума.

Для 5.1 или 7.1 surround надо включить остальные каналы, такие как: Front, Surround, Center, LFE (subwoofer) и Side (это названия каналов Intel HD Audio, для других карточек они могут отличаться). Здесь надо заметить, что таким образом качество обычного стерео повышено не будет (как повысить качество читай #Upmixing/Downmixing).

Выход из alsamixer осуществляется кнопкой Esc .

Note: У некоторых карточек должен быть выключен digital output, чтобы услышать аналоговый звук. Для Soundblaster Audigy LS надо отключать IEC958 channel.

Note: У некоторых машин, (таких как Thinkpad T61), есть канал Speaker, его нужно включить и прибавить.

Дальше проверка, как работает/не работает звук:

Измените Change -c в соответствии со своей аудиосистемой. Для системы 7.1 используйте -c 8:

Если не работает, читайте #Настройка и #Поиск проблем, чтобы разобраться.

Если всё получилось, то осталось лишь сохранить настройки микшера:

# alsactl -f /var/lib/alsa/asound.state store

Этой командой создаётся файл /var/lib/alsa/asound.state , содержащий установки alsamixerа.

Потом добавьте демон alsa в секцию DAEMONS файла /etc/rc.conf , чтобы микшер автоматически восстанавливал значения при загрузке:

Читайте также:  Kali linux пароль rar

Note: демон alsa просто восстанавливает настройки каналов, читая их из /var/lib/alsa/asound.state . It is separate from the alsa audio library (and kernel level API).

Настройка

Если вы так ничего не слышите, то проверьте ещё раз настройки микшера, и попробуйте запустить alsaconf от имени root:

Все необходимые модули udev должен определить и подгрузить автоматически. Особых настроек потребоваться не должно, (если только для карт ISA).

Warning: Не используйте alsaconf если у вас звуковая карта PCI или ISAPNP, так как записи в modprobe.conf, которые делает alsaconf, могут нарушить автоопределение udevа.

Установка дефолтной звуковой карты

В окружении ядра

Чтобы предотвратить конфликты другого оборудования со звуковой картой, узнайте название модели: lspci(8), и названия модулей ALSA с помощью ls:

total 0 lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_hda_codec -> ../../snd_hda_codec lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_hda_codec_realtek -> ../../snd_hda_codec_realtek lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_hda_intel -> ../../snd_hda_intel lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_hwdep -> ../../snd_hwdep lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_pcm -> ../../snd_pcm lrwxrwxrwx 1 root root 0 Apr 25 00:56 snd_timer -> ../../snd_timer

Then add the names of your sound card modules to (source[2]):

options snd slots=snd-intel8x0

These entries ensure that the Intel 82801DB-ICH4 sound card will become card 0 and the PC speaker will become card 1.

Note: You will need to unload all your sound modules and reload them for the changes to take effect. It might be easier to reboot. Your choice.

Note: This method will NOT work if the conflicting devices use the same module. If you would prefer to not configure sound on a per user basis as in the section below, you can directly modify /usr/share/alsa/alsa.conf . For example, replace all «card 0» with «card 1» .

Пользовательский способ

Этот способ не требует прав администратора, изменения делаются от имени простого пользователя, и вступают в силу сразу после перезапуска приложения.

В файле /usr/share/alsa/alsa.conf содержится список настроек, которые alsa применяет по умолчанию. Он может быть переписан в файл ~/.asoundrc .

Опции ‘pcm’ определяют какая именно карта будет использоваться для воспроизведения звука. В свою очередь опции ‘ctl’ определяют какую карту будут использовать программы управления, такие как alsamixer, amixer итп.

Чтобы выяснить какие цифры какое устройство обозначают, используйте aplay -l .

$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: Conexant Digital [Conexant Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: JamLab [JamLab], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Audio [Altec Lansing XT1 - USB Audio], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0

Как узнать, загрузились ли модули

Допустим, что udev определил устройства правильно, вы можете это проверить:

$ lsmod|grep '^snd' | column -t snd_hda_codec_hdmi 22378 4 snd_hda_codec_realtek 294191 1 snd_hda_intel 21738 1 snd_hda_codec 73739 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel snd_hwdep 6134 1 snd_hda_codec snd_pcm 71032 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec snd_timer 18992 1 snd_pcm snd 55132 9 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer snd_page_alloc 7017 2 snd_hda_intel,snd_pcm

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

Читайте также:  Toshiba ac100 117 linux

Note: Начиная с udev>=171 , OSS модули ( snd_seq_oss, snd_pcm_oss, snd_mixer_oss ) не загружаются по умолчанию, это надо сделать вручную: modprobe и/или добавьте их в секцию MODULES , в /etc/rc.conf , если необходимо.

Вам также возможно захочется заглянуть в папку /dev/snd, чтобы просмотреть названия файлов устройств:

$ ls -l /dev/snd total 0 crw-rw---- 1 root audio 116, 0 Apr 8 14:17 controlC0 crw-rw---- 1 root audio 116, 32 Apr 8 14:17 controlC1 crw-rw---- 1 root audio 116, 24 Apr 8 14:17 pcmC0D0c crw-rw---- 1 root audio 116, 16 Apr 8 14:17 pcmC0D0p crw-rw---- 1 root audio 116, 25 Apr 8 14:17 pcmC0D1c crw-rw---- 1 root audio 116, 56 Apr 8 14:17 pcmC1D0c crw-rw---- 1 root audio 116, 48 Apr 8 14:17 pcmC1D0p crw-rw---- 1 root audio 116, 1 Apr 8 14:17 seq crw-rw---- 1 root audio 116, 33 Apr 8 14:17 timer

если у вас присутствуют по крайней мере устройства controlC0 и pcmC0D0p или аналоги, значит звуковые модули определены и загружены правильно.

В случае, если модули определились неправильно, можете попробовать загрузить их вручную:

  • Найдите модуль для своей звуковой карты здесь: ALSA Soundcard Matrix, перед названием модуля нужно поставить ‘snd-‘ (например: ‘snd-via82xx’).
  • Загрузите модули:
  • Сверьтесь с файлами устройств в /dev/snd (см. выше) and/or try if alsamixer or amixer have reasonable output.
  • Add snd-NAME-OF-MODULE and snd-pcm-oss to the list of MODULES in /etc/rc.conf to ensure they are loaded next time (make sure snd-NAME-OF-MODULE is before snd-pcm-oss).
  • This page was last edited on 29 November 2017, at 18:46.
  • Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.
  • Privacy policy
  • About ArchWiki
  • Disclaimers

Источник

Оцените статью
Adblock
detector