LINUX.ORG.RU

Pulseaudio vs. Wine & other 32-bit apps


0

0

Имеется Генту (amd64); используется ALSA и Pulseaudio последних версий вместе с app-emulation/emul-linux-x86-soundlibs (и другими либами которые потянул за собой вайн). Wine 1.1.12.
При первом же запуске winecfg, получил что-то вроде

ALSA lib pcm.c:2104:(snd_pcm_open_conf) Cannot open shared library /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so
ALSA lib pcm.c:2104:(snd_pcm_open_conf) Cannot open shared library /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so


эти либы (64-битный вариант) идут вместе с media-plugins/alsa-plugins; для lib32 же ничто их не предоставляет...

Слил сорцы, собрал под 32-бит, закинул в /usr/lib32/alsa-lib/.
Получаю что-то вроде

E: shm.c: Invalid shared memory segment size

(причем с каждым тестом звука, таких сообщений появляется оч. много)

Но звук при тесте winecfg, тем не менее, появляется.

Ради теста запустил WoW - звук есть, все ок. Был рад. Оказалось зря.

Попытка запустить Quake 4 (нативный) закончилась неудачно:


------ Alsa Sound Initialization -----
E: shm.c: Invalid shared memory segment size
E: shm.c: Invalid shared memory segment size
E: shm.c: Invalid shared memory segment size
opened Alsa PCM device default for playback
quake4.x86: pcm_params.c:2333: sndrv_pcm_hw_params: Assertion `err >= 0' failed.
signal caught: Aborted
si_code -6
Trying to exit gracefully..


Удалил libasound_module_pcm_pulse.so и libasound_module_pcm_pulse.so из /usr/lib32/alsa-lib/:

------ Alsa Sound Initialization -----
ALSA lib pcm.c:2104:(snd_pcm_open_conf) Cannot open shared library /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so
snd_pcm_open SND_PCM_STREAM_PLAYBACK 'default' failed: No such file or directory
dlclose
--------------------------------------
----------- Alsa Shutdown ------------
--------------------------------------


Но игра все-таки запускается. Звук, ессно, не работает. WoW тоже запускается. И также без звука.

На Генту перешел недавно, до этого Дебиан использовал; возможно не нашел нужных ебилдов / оверлеев, или что-то не так делал.

Убить pulseaudio, себя об стену, поставить бубунту/венду и прочие "умные" вещи просьба не предлагать, а вот советы по теме - хотелось бы.

anonymous

С вайном проще, там есть вывод через oss (можно вывести в alsa через aoss), alsa. Из alsa уже можно пустить в pulse (в ~/.asoundrc надо настроить плагин pulse). Хотя вроде есть еще перенаправление oss -> pulse.

С играми Doom3,Q4,ETQW сложнее, с пульсом их подружить не всегда возможно. К тому же все зависит от звуковухи. Звук можно попытатся получить одним из следующих способов:

1. игра -> oss (в конфиге можно указать вывод через oss) -> aoss -> alsa - могут быть проблемы со звуком, заедание, зависания, и прочее.

2. игра -> alsa (вывод в alsa по дефолту, он же "best" в конфиге) - {специальные настройки alsa pcm} - очень проблемный вариант, у меня на встроенной звуковухе не работало, буфера не хватало, ставишь слишком большой - alsa начинает глючить, с rev5.1 теперь все отлично.

Игру возможно придется запускать через pasuspender, или временно отключать pulse: pulseaudio -k

PS: у меня то сейчас нормально с запущенным пульсом под rev5.1 работает, но не гента

Lucky1 ★★★
()

А почему бы не поставить esd в качестве устройства вывода звука?

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