LINUX.ORG.RU

GOG и Fedora

 , , ,


0

1

Ребят, я сдаюсь, курю утку уже два дня - ключи fedora 32 bit libs gog multilib - ничего не дают

Есть честно купленный X3 Воссоединение и полученный ремастер Full Throttle Есть комп с Федорой 29, только что переехал с Debian.

В требованиях к обоим играм есть набор 32битных пакетов, к X3:libc6:i386 libasound2:i386 libasound2-data:i386 libasound2-plugins:i386 libgtk2.0-0:i386 libxml2:i386

У FTR: libc6:i386 libasound2:i386 libasound2-data:i386 libasound2-plugins:i386 libstdc++6:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxcursor1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libglu1:i38

В репозитариях Федоры (В том числе в Фьюжене) этих пакетов нет. Игры, соответственно не запускаются, ссылаясь на отсутствие этих библиотек.

Кто-нибудь, подскажите, где копать? Я прям одним местом чую, что выход где-то на поверхности, что-то типа «а ты репу-то подключил с этими пакетами?» но не могу понять, что и как искать.

Заранее огромное спасибо.

Кто-нибудь, подскажите, где копать? Я прям одним местом чую, что выход где-то на поверхности, что-то типа «а ты репу-то подключил с этими пакетами?» но не могу понять, что и как искать.

Очевидно, именование пакетов в федоре отличается от именования пакетов в убунте.

Например, либы «libasound2:i386» в федоре будут лежать в пакете «alsa-lib.i686».

Кстати, никто не гарантирует что в федоре есть все либы именно нужных версий. Их наличие в свежей убунте тоже никто не гарантирует.

mironov_ivan ★★★★★ ()

Библиотеки есть все, но с другими именами. Например ищи libxinerama, а не libxinerama1:i386, вместо i386 указывать нужно i686.

Для online поиска по базе пакетов используй вот это. Ещё как вариант dnfdragora.

anonymous ()

В репозитариях Федоры (В том числе в Фьюжене) этих пакетов нет.

Большинство пакетов точно должно быть, только названия другие. Например, alsa-lib вместо libasound, glibc вместо libc6.

Kron4ek ★★★ ()

Как уже сказали выше библиотеки лучше искать не по именам пакетов а по именам файлов которые в этих библиотеках должны быть.

Потому что именования пакетов в убунте и федоре существенно различаются.

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

Список библиотек для Full Throttle Remastered:

$ ldd game/Throttle 
	linux-gate.so.1 (0xf7f45000)
	libfmod.so.8 => /home/im/GOG Games/Full Throttle Remastered/game/lib/libfmod.so.8 (0xf7d83000)
	libm.so.6 => /lib/libm.so.6 (0xf7c80000)
	libdl.so.2 => /lib/libdl.so.2 (0xf7c7a000)
	libGL.so.1 => /lib/libGL.so.1 (0xf7c14000)
	libstdc++.so.6 => /lib/libstdc++.so.6 (0xf7a80000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7a62000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xf7a40000)
	libc.so.6 => /lib/libc.so.6 (0xf7896000)
	librt.so.1 => /lib/librt.so.1 (0xf788a000)
	/lib/ld-linux.so.2 (0xf7f47000)
	libGLX.so.0 => /lib/libGLX.so.0 (0xf7866000)
	libX11.so.6 => /lib/libX11.so.6 (0xf770f000)
	libXext.so.6 => /lib/libXext.so.6 (0xf76f7000)
	libGLdispatch.so.0 => /lib/libGLdispatch.so.0 (0xf7695000)
	libxcb.so.1 => /lib/libxcb.so.1 (0xf7666000)
	libXau.so.6 => /lib/libXau.so.6 (0xf7660000)

$ ldd game/lib/libfmod.so.8 
	linux-gate.so.1 (0xf7f9b000)
	libdl.so.2 => /lib/libdl.so.2 (0xf7da3000)
	librt.so.1 => /lib/librt.so.1 (0xf7d97000)
	libstdc++.so.6 => /lib/libstdc++.so.6 (0xf7c03000)
	libm.so.6 => /lib/libm.so.6 (0xf7b30000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf7b12000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xf7af0000)
	libc.so.6 => /lib/libc.so.6 (0xf7946000)
	/lib/ld-linux.so.2 (0xf7f9d000)
Соответствующий список пакетов:
glibc.i686
libgcc.i686
libglvnd.i686
libglvnd-glx.i686
libstdc++.i686
libX11.i686
libXau.i686
libxcb.i686
libXext.i686

alsa-lib.i686
Библиотеки ALSA похоже динамически подгружаются через dlopen(). Может нужны какие-то ещё либы, которые у меня уже и так установлены.

В общем, у меня работает на Fedora 29 x86_64.

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

Спасибо, я только что ее сам запустил. Работает. Руками искал, все заработало. Остальные пакеты в системе были, просто под другими именами, как вы (и все остальные неравнодушные) и говорили.

А вот с x3 засада.

Running X3: Reunion
Language detected: Russian
ln: не удалось создать символьную ссылку '/home/alex/GOG Games/X3 Reunion/game/Online': File exists
ln: не удалось создать символьную ссылку '/home/alex/GOG Games/X3 Reunion/game/Registration.url': File exists
ln: не удалось создать символьную ссылку '/home/alex/GOG Games/X3 Reunion/game/Manual': File exists
ln: не удалось создать символьную ссылку '/home/alex/GOG Games/X3 Reunion/game/X3.pdf': File exists
./X3R_config: symbol lookup error: /lib/libxcb-shm.so.0: undefined symbol: xcb_send_request_with_fds

ludi_vokrug ()

Для X3 тебе понядобятся:

  • glibc.i686
  • alsa-lib.i686
  • какой-то из пакетов alsa-plugins-*.i686, скорее всего alsa-plugins-pulseaudio.i686 или alsa-plugins-oss.i686
  • gtk2.i686
  • libxml2-devel.i686 почему-то в нём /usr/lib/libxml2.so

Устанавливать командой

dnf install glibc.i686 alsa-lib.i686 alsa-plugins-pulseaudio.i686 alsa-plugins-oss.i686 gtk2.i686 libxml2-devel.i686
, никаких дополнительных репозиториев подключать не надо.

Чего надо фуллтротлу мне не ясно, прямых аналогов многих пакетов нет, проще запустить игру в консоли и почитать на какие файлы ругается, затем искать их через dnf provides '*/libпепяка.so*'

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

Так то можно взять рецепт от стимовского бандла и заменить в нем стим на игру из GOG и пересобрать. Только не уверен что для ТС по силам задача.

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

--command не принимает путь, вроде. Да и путь должен быть видим внутри песочницы. Хотя да, можно так, например:

flatpak run --filesystem=~/path/to/game/ --env=PATH=$PATH:~/path/to/game --command=game.sh com.valvesoftware.Steam

anonymous ()