LINUX.ORG.RU

Проблемы с alsa в gentoo

 ,


0

1

Собрал gentoo для ноутбука aser v5-552g, не могу завести звук. Ядро версии 4.1.12, собрано на основе конфига из SystemReuseCD, в котором альса отсутствует.

Плееры собраны с поддержкой альсы, она включена в ядре, собран пакет media-libs/alsa-lib-1.0.29::gentoo USE="-alisp -debug -doc -python" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS=«python2_7» и alsa-utils.

alsamixer видит 2 звуковых катры и управляет каналами на них. Попытка воспроизвести звук большинством плееров даёт в консоль ошибку:

ALSA lib /tmp/portage/media-libs/alsa-lib-1.0.29/work/alsa-lib-1.0.29/src/pcm/pcm_dmix.c:1024:(snd_pcm_dmix_open) unable to open slave

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC282 Analog [ALC282 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0

lsmod | grep snd
snd_hda_codec_realtek 86016 1
snd_hda_codec_generic 69632 1 snd_hda_codec_realtek
snd_hda_codec_hdmi 49152 1
snd_hda_intel 32768 2
snd_hda_controller 32768 1 snd_hda_intel
snd_hda_codec 98304 5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hda_core 32768 5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_controller
snd_hwdep 16384 1 snd_hda_codec
snd_pcm 102400 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd_timer 32768 1 snd_pcm

Как завести звук?

Ответ на: комментарий от anonymous

ls -al /dev/snd/
итого 0
drwxr-xr-x 3 root root 260 фев 7 19:01 .
drwxr-xr-x 20 root root 4660 фев 7 19:05 ..
drwxr-xr-x 2 root root 80 фев 7 19:01 by-path
crw-rw----+ 1 root audio 116, 0 фев 7 19:01 controlC0
crw-rw----+ 1 root audio 116, 32 фев 7 19:01 controlC1
crw-rw----+ 1 root audio 116, 4 фев 7 19:01 hwC0D0
crw-rw----+ 1 root audio 116, 36 фев 7 19:01 hwC1D0
crw-rw----+ 1 root audio 116, 19 фев 7 19:01 pcmC0D3p
crw-rw----+ 1 root audio 116, 23 фев 7 19:01 pcmC0D7p
crw-rw----+ 1 root audio 116, 56 фев 7 19:01 pcmC1D0c
crw-rw----+ 1 root audio 116, 48 фев 7 19:01 pcmC1D0p
crw-rw---- 1 root audio 116, 1 фев 7 19:01 seq
crw-rw----+ 1 root audio 116, 33 фев 7 19:01 timer

~/.asoundrc изначально отсутствует у root и основного пользователя. Оба в группе audio.

http://pastebin.com/bWK9uGMT

kirill_rrr ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Я пытался собрать ядро по конфигу дебиана, 3.16. Но у меня не получилось с него запуститься. Хотя звук работал (в дебиане).

kirill_rrr ★★★★★ ()
Ответ на: комментарий от kirill_rrr

Но у меня не получилось с него запуститься

Уже ближе к делу. Что именно не получилось? Поправь конфиг, вкомпилив нужные модули контроллера HDD в ядро. Или собери initramfs через genkernel, например.

Я тут вспомнил «мутанта», которого мне пришлось собрать для проведения олимпиады по администрированию Linux. Это была Mandriva с самосборным ядром из генты :-)

Так что ничего там сверхсложного нет. А патч на твою звуковуху может быть в Debian, да.

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Кстати, в баге указано 3.13 ядро, а в 3.16 уже всё работало.

kirill_rrr ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Тот косяк не со звуком был связан. Я не заставил ядро грузиться с usb носителей без initrd, а корень генты тогда ещё был на флешке или в виртуалке. Если с того ядра пускался дебиан, то графики не было (конфликт свободного драйвера с каталистом), но звук был. В итоге от конфига дебиана я отказался, и добиваться запуска с usb не стал.

Да, и собирались gentoo-sources по конфигу дебиана.

kirill_rrr ★★★★★ ()
Последнее исправление: kirill_rrr (всего исправлений: 1)

Фактически всё работало, но по умолчанию использовалась HDA ATI HDMI. Из программ, способных звучать только vlc мог выбрать конкретное устройство самостоятельно, но он был неправильно собран. Vlc пересобрал, дефолтную карточку прописал в /etc/asound.conf

pcm.!default {
  type hw
  card Generic
             }

ctl.!default {
   type hw
  card Generic
             }

Всех проблем не решило, но 1 приложение теперь играет звук.

kirill_rrr ★★★★★ ()

Долгие поиски показали, что использовать в /etc/asound.conf

pcm.!default {
  type hw
  card Generic
             }

ctl.!default {
   type hw
  card Generic
             }
ни в коем случае нельзя! Это завтавляет любое приложение монопольно блокировать карточку. Чтобы этого избежать, надо использовать устаревшую и не нерекомендуемую форму записи:
defaults.ctl.card 1
defaults.pcm.card 1
defaults.timer.card 1

kirill_rrr ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.