22.04.2024

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

Для нативной версии игры 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 в этом списке нет. И заранее, если у тебя нет игры на руках, это не узнать.

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

 , , ,

Источник.