LINUX.ORG.RU

PulseAudio + mpd


0

1

Доброго времени суток.

Недавно решил перейти на PulseAudio. Все бы хорошо, но звук не хочет одновременно работать у двух различных пользователей (мой и mpd).

Как я понял, если пользователей не добавлять в группу audio, то работает режим Fast user switching, и воспроизводится звук того пользователя, чья консоль открыта в данный момент, а мне нужно, чтобы mpd работал всегда. При добавлении всех пользователей в группу audio, звук не перестает работать в разных консолях, но работает только от одного пользователя.

Если использовать system-wide режим, то все работает нормально, но авторы его не рекомендуют использовать. http://www.pulseaudio.org/wiki/WhatIsWrongWithSystemMode К тому-же этот флаг замаскирован в профиле # Don't use system-wide mode unless you *really* know what you're doing.

Некоторые запускают mpd от того-же пользователя, но это не решение, а костыль.

И еще, в начале была небольшая проблема, что не хотели стартовать одновременно два сервера под разными пользователями. решилось добавлением .nofail и .fail для load-module module-esound-protocol-unix

Уже успел проклянуть этот pulseaudio, и думал вернуться обратно на alsa. Перерыл весь интернет, ничего толкового не нашел и решил написать здесь.

Дистрибутив - Gentoo.

media-sound/pulseaudio-0.9.22-r2 (X alsa asyncns avahi bluetooth caps dbus glib ipv6 libsamplerate lirc realtime udev)

media-sound/mpd-0.16.2 (aac alsa ao audiofile bzip2 cdio curl ffmpeg fifo flac id3 ipv6 lame libsamplerate mad mikmod modplug musepack network ogg openal profile pulseaudio sndfile sqlite tcpd unicode vorbis wavpack zeroconf zip)

Все делал по этой http://en.gentoo-wiki.com/wiki/PulseAudio и этой http://pulseaudio.org/wiki/PerfectSetup инструкциям.

>Некоторые запускают mpd от того-же пользователя, но это не решение, а костыль.

С чего вдруг?

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

>>Некоторые запускают mpd от того-же пользователя, но это не решение, а костыль.

С чего вдруг?

Ну для mpd оно будет работать, а из под рута звуков вообще не будет? Хотя-бы beep.

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

> УМВР, конфиг дефолтный

System-wide? В каких группах состоят пользователи (audio, pulse, pulse-access)? С какими флагами скомпилен? Под каким пользователем запускается mpd?

albertn ()
Ответ на: комментарий от albertn
n1ghtmare ~ $ groups                                                                                                                    
lp wheel audio cdrom video users pulse pulse-access vboxusers                                                                           
n1ghtmare ~ $ eix pulseaudio                                                                                                            
[I] media-sound/pulseaudio                                                                                                                                                                                     
     Installed versions:  0.9.22-r2(19:12:46 27.05.2011)(X alsa asyncns bluetooth caps dbus glib ipv6 realtime udev -avahi -doc -gnome -jack -libsamplerate -lirc -oss -system-wide -test -tcpd)
n1ghtmare ~ $ eix mpd
[I] media-sound/mpd
     Installed versions:  0.16.2 (aac alsa ao audiofile  bzip2 cdio cue +curl debug ffmpeg fifo flac fluidsynth id3 inotify ipv6 jack lame lastfmradio libmms libsamplerate mad mikmod modplug mpg123 musepack network ogg pipe profile pulseaudio sid sndfile twolame unicode vorbis wavpack -avahi -openal -oss -tcpd -sqlite -wildmidi -zeroconf -zip )

MPD не от этого пользователя

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

> MPD не от этого пользователя

Смена флагов не помогла. А mpd работает через pulse, alsa или alsa через pulse?

albertn ()

> Недавно решил перейти на PulseAudio.

и думал вернуться обратно на alsa.

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

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

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

> А что, пульса уже без альсы работает? Я вот чего не пойму: для чего вам пульсаудио? Для воспроизведения звука в пределах компа используйте альсу без доп. прослоек.

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

Меня смущает, что одна программа может заблокировать звук 5.1, и ее потом приходится искать через lsof и закрывать. К тому-же старые программы/игры не умеют выводить звук вместе с другими (может из-за oss, может из-за звуковухи, хз)

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

> Меня смущает, что одна программа может заблокировать звук 5.1, и ее потом приходится искать через lsof и закрывать.

Вот ее нужно и направить через пульсу.

не умеют выводить звук вместе с другими (может из-за oss, может из-за звуковухи, хз)

Может, потому что в их настройках указано более низкоуровневый вывод? Имею в виду, что вместо альсового дефолта - микшера они используют непосредственно хардвар. OSS тут ни при чем, если стоит алса.

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

> Вот ее нужно и направить через пульсу.

Да я бы с радостью, но у меня pulseaudio во время воспроизведения блокирует воспроизведение других программ через alsa. По-этому то ли весь звук на одном, то ли на другом.

Может, потому что в их настройках указано более низкоуровневый вывод? Имею в виду, что вместо альсового дефолта - микшера они используют непосредственно хардвар. OSS тут ни при чем, если стоит алса.

Это игры, написанные на flash 6, скомпиленные под линух. Я даже не догадываюсь где у них могут быть настройки, да и они мне в принципе не так и нужны.

Как я понимаю, чтобы звук с mpd направить на 5.1, и чтобы он не блокировал звук при воспроизведении видео, это можно сделать только в pulseaudio? У меня древняя звуковая.

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

> но у меня pulseaudio во время воспроизведения блокирует воспроизведение других программ через alsa.

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

Как заставить микшер обрабатывать звук 5.1, вроде, обсуждали здесь -> http://www.linuxquestions.org/questions/linux-software-2/alsa-dmix-and-surrou... ну и вообще, гугл по запросу «alsa dmix 5.1»...

Это игры, написанные на flash 6, скомпиленные под линух.

Лучше б они OSS использовали вместо alsa:hw:0.0. alsa-oss конвертер хотя бы испольует alsa:default... Ну а пока Больше ничего не остается, кроме как в пульсаудио вывод направлять.

У меня древняя звуковая.

Это ни при чем. Пульсаудио работает не со звуковухой, а с альсой.

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

> В альсе понопольное запирание звука одним приложением обычно вызывается тем, что это приложение адресует аудиопоток не микшеру, а напрямую - драйверу.

У меня даже складывается впечатление, что у всех работает, так как звуковуха позволяет аппаратное смешивание каналов, а у меня нет.

Пульсаудио, похоже, даже придется править в исходниках.

Ну это не тру вей.

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