LINUX.ORG.RU

Не запускается Trine

 , ,


0

1

Привет всем! (давненько я на ЛОРе не был, даже соскучился :) )

Debian 9 Stretch amd64. Игру раззиповал (DRM-free) сделал chmod 755 на несколько исполнимых файлов. ldd показывал недостающую libpng12.so.0 для лончера , я скопировал её (вручную) из Дебиан 8 Джесси. (теперь ldd на всё пишет ок, лончер запускается; стим-рантайма нет, ошибок про swrast_dri.so соответственно тоже)

Все запуски игры (trine1.sh, bin/trine1_linux_32bit, bin/trine1_linux_launcher_32bit) дают окно с ошибкой: Failed to initialize SDL, the game will not be able to start. (жму единственную кнопку ОК, всё пропадает).

В терминале — есть ошибки (ALSA), но они скорее типа дебаг лога — в конце поста.

Видимо какие-то не те версии каких-то либ. Каких? Или что другое?

Другие (немногочисленные) игры запускаются ок.

Помогите пожалуйста кто чем может.

Попытка LD_PRELOAD трёх включённых в игру либ (2 нвидиевских Cg и SDL) при запуске лончера даёт ошибку: ERROR: ld.so: object '/mnt/win/linux/_enchanted_edition_/_lib/lib32/libSDL-1.3.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Это странно, поскольку эти либы, как и вся остальная игра — 32-битные (и в системе всякие либы 32 конечно стоят). При запуске игры прямо (bin/trine1_linux_32bit) никакого эффекта от такого LD_PRELOAD нет. Поэтому думаю это нипричём (?)

Лог из терминала:

$ LIBGL_DEBUG=verbose bin/trine1_linux_32bit
ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.ENS1371.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
....
(много такого)
....
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM phoneline
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'cards.ENS1371.pcm.modem.0:CARD=0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM phoneline
ALSA lib pcm_dsnoop.c:618:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:990:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Pa_OpenDefaultStream failed Device unavailable
libGL: Can't open configuration file /home/ju/.drirc: No such file or directory.
libGL: pci id for fd 15: 1002:683f, driver radeonsi
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/radeonsi_dri.so
libGL: Can't open configuration file /home/ju/.drirc: No such file or directory.
libGL: Can't open configuration file /home/ju/.drirc: No such file or directory.
libGL: Using DRI3 for screen 0

(radeonsi_dri.so по пути из второй строчки OpenDriver - имеется)


пробуй как-то так

LD_LIBRARY_PATH=/home/user/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/:/home/user/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/ ./trine1.sh

Пути соответственно замени на свои и если надо на lib32. Ну или просто утяни необходимые либы из стим рантайма.

Radius ★★★ ()
Последнее исправление: Radius (всего исправлений: 1)
Ответ на: комментарий от Radius

Убедился что под Деб 8 запускается. Под Деб 9 вписал в LD_LIBRARY_PATH 2 пути (/lib/i386-linux-gnu, /usr/lib/i386-linux-gnu) на либы оттуда. Сегфолт, сразу прямо.

Неужели никак не запустить? — даже если есть все старые либы? Не знаю всех этих CS основ, линкеров и пр., не понимаю что происходит...

Кстати, лог из терминала — хороший, в деб 8 почти такой же.

libpng12 компилять неохота — надо 32-компайлер (и компанию) поставить.

the1 ()

Можете кто-нибудь пожалуйста запостить текст ниже в их раздел на стиме? http://steamcommunity.com/app/35700/discussions/ У меня нет прав на создание тем (слишком мало купленных игр). Можете написать «от себя», или «от друга», но по-английски пожалуйста. (их собственный форум, board.frozenbyte.com закрывается, новая регистрация там невозможна).

Subj: Trine won't start (linux)

Hello!

I'm playing (trying to) DRM-free version of Trine Enchanted Edition (purchased on Humble-Bundle). Debian 9 Stretch, amd64. AMD HD7750 1GB, opensource drivers.

I unzipped the game, issued chmod 755 for several executables. ldd showed missing libpng12.so.0 for launcher, I copied it from Debian 8 Jessie. (now ldd shows all ok, launcher launches).

All game launches (trine1.sh, bin/trine1_linux_32bit, bin/trine1_linux_launcher_32bit) give a window with an error: Failed to initialize SDL, the game will not be able to start. (click the only OK button, and it disappears).

The game runs fine on Debian 8 Jessie, on same hardware. «free -m» shows 3700 available. «log» directory is empty. There are some ALSA errors in the terminal, but they are (almost) exactly the same as under working Debian 8, so I'm not including that log. Few other games (not Frozenbyte) run fine (on Debian 9).

Seems like some wrong versions of some libs. Which ones? Something else?

When I tried to LD_PRELOAD the three included libraries (2 nVidia's Cg and SDL) when starting launcher, I get: ERROR: ld.so: object '/mnt/win/linux/_enchanted_edition_/_lib/lib32/libSDL-1.3.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. This is strange because these libs are 32 bit, as well as the game itself (and I have lots of 32 bit libs in the system). When starting the game directly (bin/trine1_linux_32bit) with this LD_PRELOAD — no such messages.

Thank you.

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

Так зачем в стим писать? Пиши в саппорт гога или напрямую в саппорт разраба. Это какая-то кривая сборка. У меня в арче тоже не запускается гоговская версия.

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

А стим тут причём? Пиши туда где покупал игру.

Но если тебе от этого станет легче, то в генту для ebuild игры тоже указано, в зависимостях media-libs/libpng:1.2

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

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

Я что-то похожее делал дял игры The Book of Unwritten Tales, закидывая в каталог с библиотеками игры RenderSystem_GL.so

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

а попробуй скачать библиотеку из старого дебиана и подсунуть её...

libpng12 для лончера нужна, а не для самой игры (кмк). Или какую библиотеку? Ок, скопировал её. Указал с LD_LIBRARY_PATH. Указал с LD_PRELOAD. Ничего. То же самое.

Так зачем в стим писать?

Да, писать в стим наверно не стоит. Frozenbyte мне ответили сегодня утром. Как будет ясность — отпишусь тут.

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

У меня в арче тоже не запускается гоговская версия.

А кто пользуется новым драйвером amdgpu (или открытыми дровами на нвидии, интеле) — можете посмотреть пожалуйста, идёт игра или нет?

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

На интеле без проблем.

Ох, я имел ввиду DRM-free-версию. А ты наверно имеешь ввиду стимовскую?

Работает ли вообще DRM-free Трайн на открытых дровах в современном дистре?

На гоге не нашёл версию трайна, но на рутрекере (там написано что с гога) нашёл — 2.12, билд 508. На ХБ (то есть у меня) — в точности эта же. Так что не удивительно что не стартует.

Странно что в инете не нашёл этой ошибки. Как будто никого не волнует, типа нет, ну и хрен с ней.

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

Еще раз: стимовская версия стартует без проблем, причем на любых драйверах, а DRM-free версия не стартует из-за несовместимости библиотек с современными дистрами.

Но! В итоге я подшаманил кое-чего и у меня без проблем запустилось вот так:

LD_LIBRARY_PATH=/home/radius/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/:/home/radius/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/ ./bin/trine1_linux_32bit

Т.е. как я и предлагал изначально, но почему-то не заработало сразу. Так совпало, что я давеча решил сбросить стим: steam --reset. Вот видимо из-за этого...

При необходимости можешь еще дописать в пути библиотеки из поставки игры через двоеточие

:lib/lib32/:../lib/

Radius ★★★ ()
Последнее исправление: Radius (всего исправлений: 1)
Ответ на: комментарий от Radius

...и у меня без проблем запустилось вот так: LD_LIBRARY_PATH=...

Спасибо! Хорошо знать что у кого-то работает, и ты на правильном пути. Мне пришлось добавить LD_PRELOAD=/lib/i386-linux-gnu/libgpg-error.so.0:/lib/i386-linux-gnu/libtinfo.so.5 . На эти 2 либы были ошибки у «ldd /usr/lib/i386-linux-gnu/dri/radeonsi_dri.so» (а на radeonsi_dri.so в свою очередь, была ошибка при запуске игры).

Странно только что ldd /usr/lib/i386-linux-gnu/dri/radeonsi_dri.so (с LD_PRELOAD и LD_LIBRARY_PATH) пишет те же ошибки ERROR: ld.so: object ... from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. Но игра тем не менее запускается.

Проблема теперь другая — звука нет. У тебя в терминале были такие ALSA-ошибки как у меня? Был звук? (недавно под Деб 8 я не посмотрел, был ли звук, но давно был конечно).

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

вот такой у меня вывод, звук есть

Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 872
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib dlmisc.c:272:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so
ALSA lib dlmisc.c:272:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so
ALSA lib pcm_dmix.c:968:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave

Тебе скорее всего старые либы alsa еще надо подгружать. Из debian 8 или откуда там. Но проще всего из стима, т.к. все игры так или иначе собираются с оглядкой на него и в нем 100% все должно работать.

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

ок, внезапно выяснил что игра оказыавется без проблем запускается в нативной системе через game/trine1.sh, который я вообще сначала не заметил

Зачем тогда start.sh, почему с ним не запускается и почему пункт меню ссылается на него непонятно.

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

Не знаю, видимо не подгружалось почему-то. Мне в отличие от тебя и другие либы тоже пришлось подгрузить. Для полноты, вот полная строка запуска:

$ LD_PRELOAD=/lib/i386-linux-gnu/libgpg-error.so.0:/lib/i386-linux-gnu/libtinfo.so.5:/usr/lib/i386-linux-gnu/libasound.so.2 LIBGL_DEBUG=verbose LD_LIBRARY_PATH=../steam/lib-i386-linux-gnu/:../steam/usr-lib-i386-linux-gnu/ bin/trine1_linux_32bit

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

игра оказыавется без проблем запускается в нативной системе

Я не разбираюсь, но... Напиши пожалуйста конфиг этой системы (на которой Трайн пошёл без проблем). Дистр, версия, стоят ли в системе сторонние либы (я например libCg,libCgGL с сайта нвидии взял; остальное из реп), видеокарта, дрова. Посмотрю может...

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

arch актуальный. Сторонние разумеется не стоят, возможно стоят альтернативные какие-то из AUR, но обычно только че-то сильно специфическое. Указанные тобой либы идут в комплекте с игрой и без проблем подгружаются через trine.sh

Единственное непонятное это почему игра не запускается через start.sh. Но я не стал разбираться и снес.

Radius ★★★ ()