Сразу оговорюсь, мне трудно правильно сформулировать вопрос - насколько, оказывается, поддержка звука в Sabayon отличается от поддержки звука в Win. Попытаюсь тогда привести побольше вводных данных:
HTPC собран на GA-E7AUM-DS2H. там 2 звуковых контроллера - один интегрирован в чипсет GeForce 9400 (выход через HDMI) а другой Realtek ALC 889A с выходом SPDIF (есть и другие аудиовыходы, но я ими не пользуюсь). SPDIF подключен к 5,1 ресиверу. В Win все было просто - основным устройством вывода был назначен Realtek, включен SPDIF выход и выбрано 5.1 ну и мелочи типа частоты дискретизации итд. В основном я использовал XBMC, там настройка тоже была проста. В результате на ресивере был звук такой же канальности как и в источнике, громкость управлялась XBMC. То есть все было правильно и логично.
Теперь о том, как выглядят звуковые дела в Sabayon: lspci показывает 1 устройство звука - nvidia HDA (сразу возник
вопрос #1- почему?) , kcmshell4 sound показывает Card Config: HDA nvidia, Audio Devices: ALC 889A, Mixer: ALC 889A если в биосе выключено HDMI Audio и HDA nvidia если HDMI Audio включено. (
Вопрос #2 - почему эти контроллеры логически объединены под эгидой Nvidia?). В KMix дела понятнее не обстоят - там можно вытащить в конфигурации каналов IEC958 и IEC958 Default PCM. После перезагрузки они иногда пропадают и их надо снова вытаскивать и включать. В VLC плеере звук есть (если Mixer ALC 889A, то в KMix звук регулируется каналом PCM, если Mixer NVIDIA, то звук в KMix не регулируется - тоже совсем непонятно).
Перейдем к XBMC. Там из аудионастроек основной является Analog либо Digital sound. Если включаем Digital и passthru устройство стоит iec958 - все нормально, вот только громкость не регулируется потому что passthru. если ставим Analog то получаем регулируемый по громкости только стерео звук, устройство default или вручную написанное iec958 - без разницы. Я вас уже достаточно запутал?

/blush.gif\' class=\'bbc_emoticon\' alt=\':blush:\' />
Тогда
главный вопрос встает сам собой - как получить регулируемый звук на SPDIF с правильными каналами, как настраивать выходную частоту дискретизации и прочие нюансы и главное - ЧЕМ все это делать?
Спасибо всем, кто дочитал

/wacko.gif\' class=\'bbc_emoticon\' alt=\':wacko:\' />
ппц, я запутался....

/wacko.gif\' class=\'bbc_emoticon\' alt=\':wacko:\' />
надо подумать, со звуком глубоко не заморачивался в linux.
но для начала покажите:
lspci -k(про аудио устройства)
aplay -L
aplay -l
eix pulse
вот совет из документации (http://www.gentoo.org/doc/ru/alsa-guide.xml)
ЦитироватьНесколько звуковых карт
Вы можете использовать больше одной звуковой карты, при условии что вы собрали ALSA как модули ядра (или из пакета alsa-driver). Сначала в файле /etc/modules.d/alsa вам следует лишь указать, какая из карт должна быть запущена первой. В этом файле карты идентифицируются по именам своих драйверов. 0 означает первую карту, 1 -- вторую, и так далее. Вот пример для системы, в которой присутствуют две звуковые карты.
Листинг 4.8: Две карты в файле /etc/modules.d/alsa
options snd-emu10k1 index=0
options snd-via82xx index=1
Или если у вас две карты, использующие один и тот же драйвер, то их следует указать на одной строке, разделяя цифры запятой. Ниже приведён пример системы, в которой установлено три звуковые карты, две из которых являются картами Intel High Definition Audio.
Листинг 4.9: Несколько звуковых карт в /etc/modules.d/alsa
options snd-ymfpci index=0
options snd-hda-intel index=1,2
Чтобы упростить задачу, я выключил в биосе HDMI audio
lspci -k:
00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)
Subsystem: Giga-byte Technology Device a102
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel
aplay -L:
pulse
Playback/recording through the PulseAudio sound server
front:CARD=NVidia,DEV=0
HDA NVidia, ALC889A Analog
Front speakers
surround40:CARD=NVidia,DEV=0
HDA NVidia, ALC889A Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=NVidia,DEV=0
HDA NVidia, ALC889A Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=NVidia,DEV=0
HDA NVidia, ALC889A Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=NVidia,DEV=0
HDA NVidia, ALC889A Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=NVidia,DEV=0
HDA NVidia, ALC889A Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=NVidia,DEV=0
HDA NVidia, ALC889A Digital
IEC958 (S/PDIF) Digital Audio Output
aplay -l:
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC889A Analog [ALC889A Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC889A Digital [ALC889A Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
eix у меня в системе отсутствует. Из выводов команд я так понял, что теперь в системе 2 устройства вывода - ALC889A аналог и цифра. Опять везде NVidia (наверное Realtek теперь ей принадлежит

/tongue.gif\' class=\'bbc_emoticon\' alt=\':P\' /> )
как раз наткнулся на подобную темку (http://www.gentoo.ru/content/ustanovka-razryadnosti-i-chastoty-diskretizacii-cifrovogo-audiopotoka).
а можно еще вывод
cat /etc/asound.conf
cat ~/.asoundrc
настройка выходной частоты и пр. настраивается в них, вроде бы...)
add: так как у вас уже настроен в системе pulseaudio, мне кажется не стоит ковырять alsa
вот сайт (http://pulseaudio.org/wiki/Documentation) с документацией
ЦитироватьI have a surround sound card, but PulseAudio uses just the front speakers!
Many people have a surround card, but have speakers for just two channels, so PulseAudio can't really default to a surround setup. To enable all the channels, edit /etc/pulse/daemon.conf: uncomment the default-sample-channels line (i.e. remove the semicolon from the beginning of the line) and set the value to 6 if you have a 5.1 setup, or 8 if you have 7.1 setup etc. After doing the edit, restart pulseaudio.
ЦитироватьIf the PulseAudio plugin for alsalibs is installed all applications with support for the ALSA API should be able to access a PulseAudio server. You need version 1.0.12 or newer of the ALSA packages for the PulseAudio plugin to be included.
To activate the driver edit /etc/asound.conf or ~/.asoundrc and add:
Этих файлов у меня нет.
If the PulseAudio plugin for alsalibs is installed - а как это узнать и установить если не установлено?
хммм... завтра отвечу)
Цитата: hedgeven от 18 Июня 2010, 16:50хммм... завтра отвечу)
Проблему самостоятельно решить не удалось - так что падавану придется обращаться к Учителю

/rolleyes.gif\' class=\'bbc_emoticon\' alt=\':rolleyes:\' /> Откуда и куда копать, я так и не знаю...
мне не хватит опыта, чтобы сказать как сделать. чтобы приобрести опыт нужно такое оборудование под рукой(тоже нету). хотя жутко интересно в этом разобраться.
пробовали писать на gentoo.ru?
Цитата: hedgeven от 24 Июня 2010, 10:05мне не хватит опыта, чтобы сказать как сделать. чтобы приобрести опыт нужно такое оборудование под рукой(тоже нету). хотя жутко интересно в этом разобраться.
пробовали писать на gentoo.ru?
если есть время, давайте попробуем разобраться вместе. в конце концов могу и к терминалу доступ пробросить. на gentoo.ru попробую написать - на sabayon.org ответа не дождался.
Вот, наконец-таки стронулось с мертвой точки: http://www.gentoo.ru...nastroyke-zvuka
### Кое что нашел - http://sonosaurus.com/ac3jack/ (http://sonosaurus.com/ac3jack/) Сможет ли Оби помочь в установке и тестировании этого? 
/cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />
оставить на потом если не выйдет с ALSA A52_plugin
вот http://www.alsa-proj....php/A52_plugin (http://www.alsa-project.org/main/index.php/A52_plugin) вроде бы то что нужно.
1. Я затрудняюсь определить, установлен ли он у меня. Как это сделать?
2. нужно сконфигурировать ALSA для использования плагина. Нужна помощь. Вот инструкция:
[size="1"]A52 OUTPUT PLUGIN
=================
This plugin converts S16 linear format to A52 compressed stream and
send to an SPDIF output. It requires libavcodec for encoding the
audio stream.
A PCM using this plugin can be defined like below:
pcm.myout {
type a52
}
In addition, the following options are available:
- The "card" option specifies the card ID or number of the SPDIF.
The output PCM becomes "iec958:{CARD=$CARD}" with extra AESx
settings. When omitted, the default card is used.
- The "slavepcm" option specifies a string of the slave PCM
explicitly. This is useful if a device has no proper SPDIF
configuration (e.g. usb-audio), or if you want to pass your own PCM
definition. This option is exclusive with "card" option.
- The "rate" option specifies the input/output sample rate in HZ.
The accepted rate is either 44100 or 48000.
When omitted, 48000 is used.
- The "channels" option specifies the number of _input_ channels.
It must be either 2, 4 or 6. The default value is 6.
- The "bitrate" option specifies the bit-rate of the compressed
stream in kbps. Too small or too big value may not be accepted by
the encoder. When omitted, 448 is used.
- The "format" option specifies the output format type. It's either
S16_LE or S16_BE. As default, S16_LE is used.
An example using the secondary card, 44.1kHz, 4 channels, output
bitrate 256kbps and output format S16_BE looks like below:
pcm.myout {
type a52
card 1
rate 44100
channels 4
bitrate 256
format S16_BE
}
For using slavepcm option,
pcm.mypcm {
card 1
device 2
}
pcm.myout {
type a52
slavepcm "mypcm"
}
The plugin reads always S16 format (i.e. native-endian) as input, so
you'd need plug layer appropriately to covert it.
[/size]
Цитата: beelzebubbie от 26 Июня 2010, 00:47### Кое что нашел - http://sonosaurus.com/ac3jack/ (http://sonosaurus.com/ac3jack/)
а для этого плагина придется настраивать звуковой сервер jack вместо pulseaudio, хотя может оно и решит проблемы
тут все есть в портэжах.
eix aften
* media-libs/aften
Available versions: 0.0.8 **9999[1] {cxx}
Homepage: http://aften.sourceforge.net/
Description: An A/52 (AC-3) audio encoder
[1] "proaudio" layman/pro-audio
eix ac3jack
* media-sound/ac3jack [1]
Available versions: (~)0.1.2 (~)2.0.3
Homepage: http://essej.net/ac3jack/
Description: Tool for creating an AC-3 (Dolby Digital) multichannel stream from its JACK input ports
[1] "proaudio" layman/pro-audio
Цитата: beelzebubbie от 26 Июня 2010, 04:46вот http://www.alsa-proj....php/A52_plugin (http://www.alsa-project.org/main/index.php/A52_plugin) вроде бы то что нужно.
1. Я затрудняюсь определить, установлен ли он у меня. Как это сделать?
вам нужно установить пакетным менеджером alsa-plugins, a52 туда входит
usr/lib64/alsa-lib/libasound_module_pcm_a52.so
usr/lib64/alsa-lib/libasound_module_pcm_vdownmix.so
usr/lib64/alsa-lib/libasound_module_pcm_oss.so
usr/lib64/alsa-lib/libasound_module_ctl_oss.so
usr/lib64/alsa-lib/libasound_module_pcm_upmix.so
usr/lib64/alsa-lib/libasound_module_pcm_usb_stream.so
usr/lib64/alsa-lib/libasound_module_ctl_arcam_av.so
usr/lib64/alsa-lib/libasound_module_rate_lavcrate.so
так же a52 может быть включен глобально для приложений в make.conf. информация о нем (http://www.calculate-linux.org/packages/flags/a52).
Цитата: hedgeven от 26 Июня 2010, 07:29вам нужно установить пакетным менеджером alsa-plugins, a52 туда входит
usr/lib64/alsa-lib/libasound_module_pcm_a52.so
usr/lib64/alsa-lib/libasound_module_pcm_vdownmix.so
usr/lib64/alsa-lib/libasound_module_pcm_oss.so
usr/lib64/alsa-lib/libasound_module_ctl_oss.so
usr/lib64/alsa-lib/libasound_module_pcm_upmix.so
usr/lib64/alsa-lib/libasound_module_pcm_usb_stream.so
usr/lib64/alsa-lib/libasound_module_ctl_arcam_av.so
usr/lib64/alsa-lib/libasound_module_rate_lavcrate.so
так же a52 может быть включен глобально для приложений в make.conf.
что пишет emerge:
media-plugins/alsa-plugins-1.0.23-r1 was built with the following:
USE="ffmpeg jack libsamplerate pulseaudio speex -debug"
a52 есть в make.conf, я пробовал и USE="a52" emerge.... все равно не вижу что он сработал)) как это вообще узнать?
Мне пишут, что
ЦитироватьUSE index подсказывает, что есть одноимённый USE-флаг a52.
Я бы начал с глобального выставления этого флага (и пересборки мира с опцией --newuse).
что есть
пересборка мира?
а по поводу таких конструкций:
pcm.myout {
type a52
card 1
rate 44100
channels 4
bitrate 256
format S16_BE
}
это что такое и где про это почитать?