1)Так хорошо:
LD_PRELOAD=
Переменная для изменения преоритета загрузки библиотек (то есть не те, которые прога пытается загрузить в нормальном режиме, а те, которые указываются LD_PRELOAD=)
Далее указываем какие именно либы должны грузиться при запуске:
/путь/файл
Что значит:
env STEAM_FRAME_FORCE_CLOSE=1
Вначале?

2) Мне нужно изменить путь с тех библиотек которые считаются 64 битными на путь к 32 битным либам.
Верно? Как реализовать в одной команде?
Помогите разобраться по порядку, что тут происходит?
env STEAM_FRAME_FORCE_CLOSE=1 LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' /usr/bin/steam %U
chronos
Значит все должно заработать
Я чет не понимаю.
env STEAM_FRAME_FORCE_CLOSE=1 LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' /usr/bin/steam %U
Тут есть симлинки?
chronos
проверь стоит пакет gcc-libs-multilib и lib32-gcc-libs
Стоит, причем именно мультилиб
chronos
так путь то и укажи вместо $LIB необходимую какая игра просит
Всмысле вместо $LIB указать $LIB32 ? Простите, не понимаю(
Хорошо, я приблизительно понял что нужно изменить путь
env STEAM_FRAME_FORCE_CLOSE=1 LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' /usr/bin/steam %U

/usr/$LIB/libstdc++.so.6
/usr/$LIB/libgcc_s.so.1
/usr/$LIB/libxcb.so.1
Но тут не прописана разрядность библиотек...
Я чет запутался(
chronos
ну вот уже сдвиги есть если симлики создаете так смотрите на что их создаете есть lib а есть lib32

Я запускаю стим из консоли, командой:
env STEAM_FRAME_FORCE_CLOSE=1 LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' /usr/bin/steam %U
Проблема кроется сдесь?
chronos
вот на что ругается wrong ELF class: ELFCLASS32 wrong ELF class: ELFCLASS64 разжёвывать не надо сам догадаешься?
Начинаю догатываться, что проблема в битности, поправте, если что.
Есть на linux програмная эмуляция инструкций процессора? Вот у меня в процессорах нету инструкций SSE3 SSE4 а Дота обращается напрямую к процессору с не понятной ему командой. В винде это реализовано на програмном уровне и любая прога может работать на эмуляцие недостающих инструкций, а как в линукс?
chronos
была за ошибка?
ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred
ERROR: ld.so: object '/home/myusername/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
ERROR: ld.so: object '/home/myusername/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7963:(snd_pcm_recover) underrun occurred
ERROR: ld.so: object '/home/myusername/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
crash_20160601010757_1.dmp[25502]: Uploading dump (out-of-process)
/tmp/dumps/crash_20160601010757_1.dmp
crash_20160601010757_1.dmp[25502]: Finished uploading minidump (out-of-process): success = yes
crash_20160601010757_1.dmp[25502]: response: CrashID=bp-15ee2660-2b42-4c9f-bade-120ee2160531
crash_20160601010757_1.dmp[25502]: file ''/tmp/dumps/crash_20160601010757_1.dmp'', upload yes: ''CrashID=bp-15ee2660-2b42-4c9f-bade-120ee2160531''
pid 25502 != 25501, skipping destruction (fork without exec?)
/home/myusername/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh:
Я могу ошибаться, и скорее всего ошибаюсь. Но возможно ли то что он ругается на инструкцию, которая не может быть выполнена моим процессором? У меня нет к примеру SSE3 +