Есть такая игрушка арканоид Jardinains 2! http://jardinains2.com/download/

Свободная версия имеет 50 уровней. Работает без установки, но одна беда нет звука. В вендовой версии они предлагают для скачивания файл oalinst.zip. Я так понимаю, что это openal, но в линукс установка оного эффекта не даёт. Что посоветуете?
Jardinains 2! нет звука
Для начала, напомни, пожалуйста:
- дистрибутив
- используется ли в системе pulseaudio
и неплохо бы запустить игру из терминала и посмотреть вывод, а так же сделать
ldd исполняемый_файл_игрыи вывод сюда
Я так понимаю, что это openal, но в линукс установка оного эффекта не даёт
Редко требуется только openal.
Обычно требуется наличие libopenal, libvorbis и libvorbisfile, libogg.
Для начала, напомни, пожалуйста:
- дистрибутив
- используется ли в системе pulseaudio
Centos 6.4x86_64, pulseaudio используется.
Показать
ERROR: ld.so: object '/usr/lib64/libXft-infinality/libXft.so.2' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/lib64/freetype-infinality/libfreetype.so.6.6.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/lib64/libXft-infinality/libXft.so.2' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/lib64/freetype-infinality/libfreetype.so.6.6.1' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/lib64/cairo-freeworld/libcairo.so.2' from LD_PRELOAD cannot be preloaded: ignored.
linux-gate.so.1 => (0x00ef8000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x006b3000)
libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x002e2000)
libGL.so.1 => /usr/lib/nvidia/libGL.so.1 (0x002e7000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x0018e000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x008aa000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00d63000)
libm.so.6 => /lib/libm.so.6 (0x00525000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00c86000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00bdf000)
libc.so.6 => /lib/libc.so.6 (0xf754c000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00944000)
libdl.so.2 => /lib/libdl.so.2 (0x003ed000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00a5d000)
libnvidia-tls.so.319.32 => /usr/lib/nvidia/tls/libnvidia-tls.so.319.32 (0x00210000)
libnvidia-glcore.so.319.32 => /usr/lib/nvidia/libnvidia-glcore.so.319.32 (0xf5581000)
/lib/ld-linux.so.2 (0x00232000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x007ee000)
Nigelist. Спасибо! Попробую.
redix, проверил я игру, "из коробки" звука нет, т.е.
$ './Jardinains 2!'звука не будет.
запустил игру с padsp
$ padsp './Jardinains 2!'звук появился, но игру постоянно сегфолтит.
запустил игру с aoss
$ aoss './Jardinains 2!'звук есть, сегфолтов нет, работает исправно.
xxblx, установил два пакета alsa-oss и alsa-oss-libs, но звука нет. Подскажи может быть нужен ещё пакет какой то. Помню при сборке Maze of Galious требовался пакет sdl-mixer. Или игрушке требуются пакеты архитектуры i686?
xxblx, установил два пакета alsa-oss и alsa-oss-libs, но звука нет
А запускал как, с aoss ./игра?
Или игрушке требуются пакеты архитектуры i686?
[xxblx@localhost JN2Lite]$ file Jardinains\ 2\!
Jardinains 2!: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=874dc1df0589454750ef718a25ef6ca29dcba5a3, strippedДа, похоже что 32-битные компоненты нужны.
Еще можно вот что попробовать.
su
<root-пароль>
modprobe snd-pcm-oss
exit
./Jardinains\ 2\!Да пробовал запускать так, как и было написано.А запускал как, с aoss ./игра?
./Jardinains\ 2\! эта команда запустила со звуком! Спасибо!
Нет. Всётаки звук запускает это:
sudo modprobe snd-pcm-ossОстаётся вопрос, как эту команду прицепить к ярлыку запуска?
./Jardinains\ 2\! эта команда запустила со звуком! Спасибо!
Эта команда тоже самое, что './Jardinains 2', чтобы не использовать кавычки, можно ставить обратные слеши перед пробелами.
Нет. Всётаки звук запускает это:
sudo modprobe snd-pcm-oss
Именно так. Эта команда погружает модуль snd-pcm-oss.
Остаётся вопрос, как эту команду прицепить к ярлыку запуска?
Ну, если совсем "в лоб", то
#!/bin/sh
sudo modprobe snd-pcm-oss
./Jardinains\ 2\!
Но это, имхо, во-первых, извращение, во-вторых, профита не даст, т.к. скрипт из-за использования sudo один шиш придется запускать через терминал.
Возможные варианты:
1) Заменить в скрипте sudo на gksu/gksudo, kdesu/kdesudo или bessu в зависимости от того что есть в CentOS. Они пароль спрашивать будут во всплывающем окне, т.е. получится двойной клик по скрипту, ввод пароля в окошко, игра.
В таком случае, можно в конце, по завершению игры модуль выгружать.
#!/bin/sh
sudo modprobe snd-pcm-oss
./Jardinains\ 2\!
sudo modprobe -r snd-pcm-oss
2). Добавить модуль snd-pcm-oss в автозагрузку.
Но куда именно в CentOS пишут список модулей для автозагрузки - не знаю.
В разных дистрибутивах по разному, насколько я помню. Где-то в /etc/modules, а где просто в rc.local пишут modprobe или insmod.
По модулям рыл уже, а через fakeroot нельзя это сделать?
redix, в CentOS есть /etc/modules ?
Попробуй может в него добавить модуль.
Что касается fakeroot, я ей никогда не пользовался и вообще смутно представляю как оно работает. Почитал на OpenNET, ради интереса решил проверить.
[xxblx@localhost JN2Lite]$ fakeroot modprobe snd-pcm-oss
modprobe: ERROR: could not insert 'snd_pcm_oss': Operation not permittedТак что, по-видимому, нельзя.
Нет.в CentOS есть /etc/modules ?
Покажи
$ find /etc/sysconfig/modulesfakeroot
Зачем fakeroot, да и для другого оно предназначено. У вас должен быть каталог /etc/modprobe.d, там создайте файл snd-pcm.conf, в него впишите что-то вроде
install snd-pcm-ossВозможно, уже где-то есть такая команда, но она закомментирована. Нужно найти тот конфиг и раскомментировать.
Покажи
$ find /etc/sysconfig/modules
snd-pcm-oss.modules там есть, это я его туда поместил, но это не работает.
Решение найдено. Обобщаю:
sudo yum -y install alsa-oss alsa-oss-libs
sudo echo 'modprobe snd-pcm-oss' >> /etc/rc.modules
sudo chmod +x /etc/rc.modulesТеперь всё работает, всем спасибо.Решено.