LINUX.ORG.RU

Звук через HDMI

 , , ,


1

1

Есть у меня XBMC и там всё работает (там можно устройство вывода указать в конфиге).
А как быть со всемы остальными приложениями, которые для вывода звука используют стандартное устройство вывода ALSA? Как альсе сказать, что нужно играть через HDMI?

Перемещено post-factum из talks

★★★★★

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

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

Мне бы не хардово в конфигах прописывать, а одной командой перенаправить вывод звука. Так нельзя?

CYB3R ★★★★★
() автор топика

Поставить пульсу, делов-то

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

А что нужно перезапустить, чтобы изменения вступили в силу? Или всё и так должно работать?

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

Что воспроизводит звук, напр. плеер.

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

Правда лучше выставлять defaults.pcm.card или defaults.pcm.device, да.

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

Спасибо, анон. Создал такой .asoundrc, дописал в свой скрипт:

#!/bin/bash
mv ~/.asoundrc.save ~/.asoundrc
xinit /usr/bin/supermeatboy -- :1 -config samsung.cfg
mv ~/.asoundrc ~/.asoundrc.save

CYB3R ★★★★★
() автор топика

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

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

For most changes to .asoundrc you will need to restart the sound server (ie. sudo /etc/init.d/alsa-utils restart) for the changes to take effect.

С голой алсой нет «sound server»-а, след. нечего рестартить, след. на вики писало какое-то угрёбище, не понимая о чём пишет. Не ленимся и смотрим в /sbin/alsa:

case "$1" in
...
  reload)
	EXITSTATUS=0
	unload_modules all || EXITSTATUS=1
	load_unloaded_modules || EXITSTATUS=1
	exit $EXITSTATUS
	;;
  force-unload)
	force_unload_modules all || exit $?
	;;
  force-reload)
	EXITSTATUS=0
	force_unload_modules all || EXITSTATUS=1
	load_unloaded_modules || EXITSTATUS=1
	exit $EXITSTATUS
	;;
Ога, выгрузка драйвера у нас приведёт к фейлу записи сэмплов во всех програмах использующих сейчас alsa, ну а дальше в зависимости от того как они написаны. Ну правда, у меня такое приводило к фризу модуля зк, и повторяющемуся на воспроизв. сэмплу (пердение такое). Советующим такое делать нужно срочно уебать, тк этот скрипт предназначен для перезагрузки модулей, в случае, если они установлены отдельно от ядра. А вот этот /sbin/alsa — это сугубо дебиановская поделка, в ванильных утилитах алсы его нет.

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

Ему, ЕМНИП, можно передать устройство вывода параметром.

CYB3R ★★★★★
() автор топика

Встречный вопрос: как заставить альсу вообще забыть, что есть HDMI выход? В среднем после одного из пяти ребутов хдми становится дефолтным аудиовыходом, а править .asoundrc как-то не улыбается.

leave ★★★★★
()

переменные окружения

ALSA_CARD ALSA_PCM_DEVICE итп:

grep -R ALSA_ /usr/share/alsa/* | awk '{print $2}' | sort -u

что куда выставлять - смотреть в тех же конфигах

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

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

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

Вот что мне в альсе не нравится - так это конфиги

зато можно настроить очень гибко

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

Похоже, что да, ибо hdmi-output появляется после загрузки модуля видюхи. Для radeon на x.org написано, что «Requires loading radeon with the audio parameter set to 1 (e.g., add radeon.audio=1 on the kernel command line in grub)», но у меня и без этого параметра оно откуда-то вылазит.

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

Гм, не обращал внимания, если честно. Надо будет попробовать

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

Позор на мои седины:

[09:38][leave][~]$ lsmod 
Module                  Size  Used by
isofs                  30576  0 
udf                    66653  1 
crc_itu_t              12331  1 udf
cpufreq_userspace      12520  0 
cpufreq_stats          12762  0 
cpufreq_powersave      12422  0 
cpufreq_conservative    12987  0 
parport_pc             22036  0 
ppdev                  12651  0 
lp                     12797  0 
parport                31254  3 lp,ppdev,parport_pc
ext3                  138190  1 
jbd                    47281  1 ext3
reiserfs              172065  1 
loop                   17810  0 
snd_hda_codec_hdmi     26319  1 
snd_emu10k1_synth      12872  0 
snd_emux_synth         28069  1 snd_emu10k1_synth
snd_seq_midi_emul      12682  1 snd_emux_synth
snd_seq_virmidi        13015  1 snd_emux_synth
snd_emu10k1           109618  3 snd_emu10k1_synth
snd_ac97_codec         84201  1 snd_emu10k1
snd_util_mem           12624  2 snd_emu10k1,snd_emux_synth
snd_hda_intel          21856  2 
snd_hda_codec          63477  2 snd_hda_intel,snd_hda_codec_hdmi
snd_hwdep              12943  3 snd_hda_codec,snd_emu10k1,snd_emux_synth
tuner_simple           17031  1 
tuner_types            12305  1 tuner_simple
snd_pcm_oss            36181  0 
snd_mixer_oss          17668  1 snd_pcm_oss
snd_pcm                53390  6 snd_pcm_oss,snd_hda_codec,snd_hda_intel,snd_ac97_codec,snd_emu10k1,snd_hda_codec_hdmi
tea5767                12734  0 
tda9887                12573  1 
ir_lirc_codec          12631  0 
lirc_dev               12807  1 ir_lirc_codec
ir_mce_kbd_decoder     12551  0 
ir_sony_decoder        12403  0 
tda8290                17110  0 
ir_jvc_decoder         12401  0 
snd_page_alloc         12867  3 snd_pcm,snd_hda_intel,snd_emu10k1
tuner                  17257  2 
ir_rc6_decoder         12401  0 
snd_seq_midi           12744  0 
snd_seq_midi_event     13124  2 snd_seq_midi,snd_seq_virmidi
ir_rc5_decoder         12401  0 
rc_manli               12370  0 
ir_nec_decoder         12401  0 
saa7134               129228  0 
tveeprom               16473  1 saa7134
videobuf_dma_sg        13055  1 saa7134
radeon                570953  4 
videobuf_core          17561  2 videobuf_dma_sg,saa7134
v4l2_common            13054  2 saa7134,tuner
videodev               61658  3 v4l2_common,saa7134,tuner
media                  13692  1 videodev
ttm                    42997  1 radeon
snd_rawmidi            18376  3 snd_seq_midi,snd_emu10k1,snd_seq_virmidi
rc_core                17918  10 ir_jvc_decoder,saa7134,ir_nec_decoder,rc_manli,ir_rc5_decoder,ir_rc6_decoder,ir_mce_kbd_decoder,ir_sony_decoder,ir_lirc_codec
snd_seq                39487  5 snd_seq_midi_event,snd_seq_midi,snd_seq_virmidi,snd_seq_midi_emul,snd_emux_synth
drm_kms_helper         22699  1 radeon
snd_seq_device         13016  5 snd_seq,snd_rawmidi,snd_seq_midi,snd_emu10k1,snd_emu10k1_synth
drm                   134178  6 drm_kms_helper,ttm,radeon
power_supply           13283  1 radeon
i2c_algo_bit           12713  1 radeon
snd_timer              22356  3 snd_seq,snd_pcm,snd_emu10k1
sp5100_tco             12752  0 
i2c_piix4              12480  0 
i2c_core               19116  14 i2c_piix4,i2c_algo_bit,drm,drm_kms_helper,videodev,v4l2_common,radeon,tveeprom,saa7134,tuner,tea5767,tda8290,tda9887,tuner_simple
snd                    42691  23 snd_timer,snd_seq_device,snd_seq,snd_rawmidi,snd_pcm,snd_mixer_oss,snd_pcm_oss,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_ac97_codec,snd_emu10k1,snd_seq_virmidi,snd_emux_synth,snd_hda_codec_hdmi
hid_logitech_dj        12991  0 
psmouse                54927  0 
serio_raw              12803  0 
powernow_k8            17343  1 
k10temp                12539  0 
mperf                  12421  1 powernow_k8
joydev                 17010  0 
evdev                  17225  6 
soundcore              12921  1 snd
ac97_bus               12462  1 snd_ac97_codec
processor              27565  1 powernow_k8
button                 12817  0 
thermal_sys            17752  1 processor
pcspkr                 12515  0 
wmi                    13051  0 
ext4                  302665  2 
crc16                  12327  1 ext4
jbd2                   52246  1 ext4
mbcache                12897  2 ext4,ext3
usbhid                 31523  1 hid_logitech_dj
hid                    60120  2 usbhid,hid_logitech_dj
sg                     21476  0 
sd_mod                 35425  6 
crc_t10dif             12332  1 sd_mod
sr_mod                 17468  1 
cdrom                  34813  1 sr_mod
ata_generic            12439  0 
r8169                  41810  0 
mii                    12595  1 r8169
ohci_hcd               22059  0 
pata_atiixp            12648  0 
ahci                   20821  5 
libahci                18308  1 ahci
ehci_hcd               35509  0 
usbcore               104352  4 ehci_hcd,ohci_hcd,usbhid
usb_common             12338  1 usbcore
libata                124981  4 libahci,ahci,pata_atiixp,ata_generic
scsi_mod              135124  4 libata,sr_mod,sd_mod,sg

Последний раз тыкался еще с блобом, и почему-то был свято уверен, что тогда hda_intel не было. Спасибо!

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

Я ведь правильно помню, что узнать в рантайме опции, с которыми был загружен модуль, в общем случае невозможно?

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

В любом случае их можно подсмотреть.

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

Где-то в /sys/module/ (или как-то так) можно было.

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

два лингвистических деформатора в одном треде это катастрофа -_-

ну ладно домой приду тебя пойму.

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

нет, modinfo показывает возможные опции загрузки модуля. А рантайм статус уже загруженного - нет.

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