LINUX.ORG.RU

Герои меча и магии 3 для Linux и звук

 , ,


4

2

В 2002 году появилась ALSA (в составе ядра Linux 2.6, и хотя в 2.4 тоже можно было запустить ALSA - будем считать что появилось в 2.6), которая пришла на смену OSS. Герои 3 - игра 1999 года, поэтому я включаю поддержку обратной совместимости с OSS в ALSA:

sudo modprobe snd-pcm-oss
sudo modprobe snd-mixer-oss
sudo modprobe snd-seq-oss

Напомню, что эта обратная совместимость была включена по умолчанию в дистрибутивах Linux. Но в 2012, её по умолчанию выключили.

Когда я включаю «Героев», то я не могу воспроизводить звук из других приложений ALSA. Это неприятно. Поэтому я ищу способ заставить линуксовых героев говорить, но чтобы программа не захватывала монопольно звук.

  • aoss ./heroes3. Получаю Couldn't open audio:
  • Ладно, тогда включаю PulseAudio и делаю так: padsp ./heroes3. И снова Couldn't open audio:
  • Тогда я открываю ChangeLog версии 1.3.1a, и из него узнаю, что оказывается, есть поддержка звуковой системы ESD. А PulseAudio имеет с ней обратную совместимость. Я запускаю SDL_AUDIODRIVER=esd ./heroes3 и смотрю в pavucontrol - появится ли новое приложение? Нет!
  • Тогда я посмотрел в репозитории. Нашёл pulseaudio-esound-compat. Установил. Пробую. Не работает! Смотрю, что именно установил пакет, а там /usr/bin/esd и /usr/bin/esdcompat. Запускаю - ничего!

В общем, чтобы поиграть, мне всё ещё приходится выключать всё, что использует звук, и включать эмуляцию OSS в ALSA. Как заставить работать любой из этих способов?

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

Нет, не крашится. С локализованными файлами крашится, а с английскими нет. Крашится при попытке начать сетевую игру (это чинится). В остальном могу играть часами. Хотя, был один случай. Когда я проходил кампанию, и вместо старта последней миссии игра вырубалась. Обидно было, что так долго играл, а завершить не могу

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 2)

проще пускать героев через вайн\протон чем переписать эти прослойки обратной совместимости чтоб они заработали так как ты хочешь -_-

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

Было бы Ъ, интересно и спортивно, если бы исходники движка были бы свободными. А плясать вокруг старинной проприетарщины как-то не слишком.

anonymous ()

У меня раньше работало, но с появлением HoTA вопрос утратил остроту.

Вот сейчас проверил Sid Meier's Alpha Centauri от Loki, работает звук с pulseaudio через эмуляцию esd из коробки.

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

ну.. правильную прослойку от ОСС к пайпвайру пока не написали, к пульсе и альсе написали неправильные и переписывать тоже врядли будут.. а вообще вроде были модифицированные сборки линуксовых героев где попатчена работа звука..

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

Зачем нужны другие звуки кроме игровых, когда играешь?

Получить звуковое уведомление из чата или IM, общаться в VoIP, выключить внутриигровую музыку и включить собственную.

Pravorskyi ()

Разве homm3 под линукс не был портирован в 2000-х какой то левой конторкой? Оно точно использует oss и не знает alsa?

Да собственно качество порта такое, что оригинал или даже HD версия в вайне лучше. И со звуком проблем нет.

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

Вроде в 1999-м, в год выпуска оригинальной игры.

Порт работает хорошо. Во всяком случае, у меня. Помню, я как-то оставил флешку у подруги. У неё не работал жёсткий диск, а моя флешка была загрузочной, с Ubuntu 8.10. На флешку, помимо всего прочего, был записан этот порт. Так она за неделю его освоила! Несмотря даже на то, что игра была на английском.

И я только потом понял, что из 32-битных библиотек там был только libc6. А игра работала. Как так вообще...

У этого порта главное, что используется тот же ИИ врагов, что и в оригинальной игра. У VCMI, ИИ - главная проблема. А вот генератора карт нет! И это самое ужасное!!!

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 3)