LINUX.ORG.RU

Удалось завести наконец-то GOG-версию Undertale

 , , ,


0

0

Для нативной версии игры Undertale требуются старые старые версии libcrypto и libssl. Однако эти версии есть в рантайме стима. То есть фактически чтобы заработала игра из гога, ей нужны библиотеки из стима. Мне пришлось копировать эти 32-битные библиотеки из 32-битного рантайма от убунты 12, которые идут со стимом в /lib32, грязный хак, но работает собирать пакет с этими библиотками, чтобы они располагались по системному пути.

Примерно для пакетного менеджера в моем дистрибутиве это выглядит так...

Пакет для libcrypto:

name=libcrypto32_old
version=0.11.7
release=1
source=()

build() {
	mkdir -p $PKG/lib32
	cp /home/user/.steam/bin32/steam-runtime.old/lib/i386-linux-gnu/libcrypto.so.1.0.0 $PKG/lib32
}
Пакет для libssl
name=libssl32_old
version=0.11.7
release=1
source=()

build() {
	mkdir -p $PKG/lib32
	cp /home/user/.steam/bin32/steam-runtime.old/lib/i386-linux-gnu/libssl.so.1.0.0 $PKG/lib32
}

Вместо user надо подставить имя вашего пользователя.

Список зависимостей:

bash-5.1$ ldd UNDERTALE
        linux-gate.so.1 (0xf7ec8000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7c6b000)
        libz.so.1 => /lib32/libz.so.1 (0xf7c52000)
        libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf7c4a000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7bd6000)
        libopenal.so.1 => /usr/lib32/libopenal.so.1 (0xf7a64000)
        libm.so.6 => /lib32/libm.so.6 (0xf7998000)
        librt.so.1 => /lib32/librt.so.1 (0xf7993000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf798e000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf7989000)
        libcrypto.so.1.0.0 => /lib32/libcrypto.so.1.0.0 (0xf77cc000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf77b6000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7663000)
        libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf7654000)
        libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf75d5000)
        libssl.so.1.0.0 => /lib32/libssl.so.1.0.0 (0xf757c000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7557000)
        libc.so.6 => /lib32/libc.so.6 (0xf7331000)
        /lib/ld-linux.so.2 (0xf7eca000)
        libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf7302000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf72fd000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf72f6000)
        libGLX.so.0 => /usr/lib32/libGLX.so.0 (0xf72b8000)
        libGLdispatch.so.0 => /usr/lib32/libGLdispatch.so.0 (0xf723c000)
        libatomic.so.1 => /usr/lib32/libatomic.so.1 (0xf7234000)
        libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf7226000)

И самое интересное, что на странице гога есть список зависимостей:

Requires libc6:i386 libasound2:i386 libasound2-data:i386 libasound2-plugins:i386 libcurl3:i386 libgtk2.0-0:i386 libopenal1:i386 libglu1:i386 and dependencies this game comes with a 32-bit binary only
Но библиотек libcrypto и libssl в этом списке нет. И заранее, если у тебя нет игры на руках, это не узнать.

>>> Просмотр (1920x1080, 614 Kb)

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 9)

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

Всё. Чем больше вглядываюсь, тем больше вопросов.

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

Для удобства. Обычно использую терминал для например запуска ogg123, файлового менеджера, alsamixer и других консольных утилит. И для каждой нужен отдельный терминал. В gimp например иконки какие-нибудь редатирую или рисую, когда придет в голову идея что там будет качестве иконки использоватся. Иконка «Two» - это я панель CDE свернул для разнообразия. Для Seamonkey я искал подходящу тему, чтобы он на Netskape больше походил. И так далее.

vbcnthfkmnth123 ★★★★★
() автор топика

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

Конечно на своей системе ТС делать может что хочет, но сюда это тащить не стоит

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

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

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

А что-то может захотеть эту же библиотеку не из стимовского рантайма и что-нибудь пойдёт не так? Всё-таки не системные зависимости не в системном софте должны лежать рядом.
что же касается самого openssl 1.0.0 - дистрибутив по хорошему должен предоставлять пакет совместимости для такого. Библиотека конечно старая, но эту версию использовала куча софта, потому есть смысл в таком пакете чисто для совместимости со старыми бинарями.

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

Ну пусть собирает отдельный пакет тогда или использовать LD_LIBRARY_PATH=, как вы советивали выше.

дистрибутив по хорошему должен предоставлять пакет совместимости для такого

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

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

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

Я понимаю что GOG интересен тем что они воскрешают старые игры, отвязывают от DRM, но при этом они полностью забивают на линукс.

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

то можно игры просто качать из стима

Для стимовских игр надо:

1) Запустить стим(Это занимает время пока он запустится)

2) Подождать пока он скачает обновление для клиента и установит их

3) Чтобы не глючил клиент стима. Тут время от времени что-то отваливается и иногда просто черный экран в клиенте стима

4) И только спустя продолжительное время можно запустить игру, чтобы поиграть

Для игр из гога надо:

1) Запустить игру

Видно разницу? Я хочу просто поиграть, я не хочу ждать пока стим раздуплится, пока он качает обновления и поставит их. Лучше я 1 раз повожусь с запуском конкретной игры из гога, но затем мне не придется каждый раз ждать перед её запуском.

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

Звучит как твоя личная проблема.

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

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

Я использую стим для игр, которые не требуют запуска стима для работы. Например там Crusader Kings 2. Но ждать стим для запуска игры каждый я не буду, лучше я потрачу это время более продуктивно. А просто запускать каждый раз стим в при запуске компа это не решение проблемы долгого запуска.

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

Не знаю что было раньше, но то что сейчас просто ужасно.

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

Если у тебя оптика в несколько сотен мегабит и 64+ гига рамы, не считается. На 16 лишний браузер в памяти уже ой как заметен. Стим нужно откатывать до 22 года, либо ставить opensteamclient. Если на каком-нибудь стимдеке запущен только стим и игра, не забывай, что на ПК может ещё куча софта быть

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

Однако эти версии есть в рантайме стима.

Зачем в посте все остальные буквы? В вашем дистре нет аналога steam-run.

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

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

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

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

Многие игры ГОГа тянут с собой рантаймы Стима и запускаются шелл-скриптом. Хотя потыкавшись наобум, я переопределение LD_LIBRARY_PATH пока не увидел.

question4 ★★★★★
()

Что же Gудного в этой Oлдовой Gейме? Чем обусловлено желание играть в это? Это ведь не Doom 2 родной, и не какой то ностальгический Alone In The Dark

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от question4

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

vbcnthfkmnth123 ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Чем обусловлено желание играть в это?

Саундтрек, сюжет.

whbex
()
Ответ на: комментарий от I-Love-Microsoft

Я видел, что там есть крутой бой с боссом в концовке геноцида. Хочу дойти до него и пройти босса.

vbcnthfkmnth123 ★★★★★
() автор топика

Какая дичь на скрине

targitaj ★★★★★
()

Как же хорошо выглядит CDE!

По теме игрушек: всегда с проприетарными бинарниками какие-то проблемы. Хорошо, что я особо не играю, а если и играю, то в опен сорсное что-нибудь.

skiminok1986 ★★★★★
()

Страшно, очень страшно, если бы мы знали что это такое, но мы не знаем что это такое. 😆

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

Я почему-то подумал что у тебя в принципе стима нет.

В чём тогда проблема запускать игры внутри рантайма, без Steam?

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

Ну, год назад у меня было 16. Разницы есть ли стим в фоне не было.

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

Я почему-то подумал что у тебя в принципе стима нет.

Откуда я по вашему библиотеки из рантайма взял? Конечно он у меня есть.

запускать игры внутри рантайма

Я понятия не имел как это сделать. Вон человек подсказал про LD_LIBRARY_PATH. Ну работает и ладно.

vbcnthfkmnth123 ★★★★★
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

В Wine у этой игры очень плохие шрифты, я пробовал. Мне проще было разобраться с нативной версией, чем со шрифтами.

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

run.sh в рантайме вроде был. Он ещё должен определять автоматически, какие библиотеки брать из системы, а какие из рантайма.

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

Эта игра имеет определенную репутацию и достаточно известна. Поэтому вполне подходит в качестве примера.

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

у одной игры нативную версию на гоге не опубликовали, потому что она требовала для работы стимовский рантайм

Да, такое встречается часто. Но большинство новых линуксовых игр на ГОГе, как мне показалось, именно со стимовскими библиотеками, и при запуске ругаются в консоль о неработающем подключении к Стиму.

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

как мне показалось, именно со стимовскими библиотеками

Я таких не видел, чекну.

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

Да, я его и имел в виду и он до сих пор лежит в ubuntu12_32. :)

Правда, в моём случае, когда я запускаю голдсорс под отладчиком, он иногда умудряется всирать локали (даже с LC_ALL=C). Что некритично, но генерирует фальшивые предупреждения.

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

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

I-Love-Microsoft ★★★★★
()

Обои страшные.

И странно, что все прикопались к подистории. Если повнимательнее посмотреть на ярлыки, то можно найти более… спорные игры.

endlessend
()

Что такое Together with a cool maid? Боюсь гуглить.

knovich
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.