You are not logged in.

#1 2015-02-26 16:26:41

Astroarch
Member
From: Germany
Registered: 2014-03-21
Posts: 85

Downgrade package for Steam game

Hello guys,
after an update two weeks ago my game "This war of mine" bought on Steam is not working anymore.
Someone suggested to go back to glibc 2.20 but I cannot since the package valgrind need glibc >2.21.
Is there any way to do so? Maybe with a variable that point the game to the old package version?

Thanks.

Offline

#2 2015-02-26 18:36:50

PootisBird
Member
Registered: 2014-04-16
Posts: 125

Re: Downgrade package for Steam game

I think you could add "LD_PRELOAD=/path/to/older/lib.so" to startup options.

Offline

#3 2015-02-26 20:13:45

Astroarch
Member
From: Germany
Registered: 2014-03-21
Posts: 85

Re: Downgrade package for Steam game

Sorry, I do not get it.
Where shall I add this?

PS. I understood what you mean, run the game with this preload option.
Tha fact is that I do not find the location of the old libraries. In the path /var/cache/pacman/pkg there are only tar.xz files.

Last edited by Astroarch (2015-02-26 20:20:08)

Offline

#4 2015-02-27 09:42:27

PootisBird
Member
Registered: 2014-04-16
Posts: 125

Re: Downgrade package for Steam game

Then extract that package somewhere. It will have lib required.

Offline

#5 2015-02-27 13:30:55

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,076

Re: Downgrade package for Steam game

Steam usually bundles everything its games need and those libraries can be found in (and are used by default)

~/.local/share/Steam/ubuntu12_32

That said I highly doubt glibc is the source of your problem, this is a standard library used by literally everything, it shouldn't have broken ABI with a minor version bump. Start steam in a terminal and start the game and post its exact error output. Blindly poking at stuff won't get you far. And what's your graphics card/driver?

Last edited by V1del (2015-02-27 14:05:05)

Offline

#6 2015-02-27 14:07:55

bleach
Member
Registered: 2013-07-26
Posts: 264

Re: Downgrade package for Steam game

the thing about steam is it is a atempt to stabalize linux for gamming like console and such the problem with linux and gaming is distros and there differences in lib versions and the like. what arch does is keep that purpose by bundling all the libs with steam though you can use your own if you want but that takes active effort.

one way to see what is going on is to look at the logs or start steam in a console and it will give you some info perhaps post that output.

Offline

#7 2015-05-02 08:45:46

Astroarch
Member
From: Germany
Registered: 2014-03-21
Posts: 85

Re: Downgrade package for Steam game

I understood that the problem is glibc, the game is not working with the last version but wants the 2.20
I have the package, where should I extract it and how can I start the game correctly without downgrading?

Offline

#8 2015-05-02 09:57:05

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,076

Re: Downgrade package for Steam game

What makes you think that? is there an actual glib error when trying to start the game? Post the terminal output when starting the game.

If you still think that this is the problem just extract it literally anywhere (as long as you don't overwrite the existing glib.so whcih you shouldn't) and then use the LD_PRELOAD to the path.

Offline

#9 2015-05-02 12:01:21

Astroarch
Member
From: Germany
Registered: 2014-03-21
Posts: 85

Re: Downgrade package for Steam game

I took inspiration from this post:
https://steamcommunity.com/app/282070/d … 581607081/

And run the same command.

objdump -x -j.dynamic This\ War\ of\ Mine

This War of Mine:     file format elf32-i386
This War of Mine
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x08071baf

Program Header:
    PHDR off    0x00000034 vaddr 0x08047034 paddr 0x08047034 align 2**2
         filesz 0x00000140 memsz 0x00000140 flags r-x
   STACK off    0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**4
         filesz 0x00000000 memsz 0x00000000 flags rw-
    LOAD off    0x00000000 vaddr 0x08047000 paddr 0x08047000 align 2**12
         filesz 0x00001000 memsz 0x00001000 flags rw-
 DYNAMIC off    0x00000174 vaddr 0x08047174 paddr 0x08047174 align 2**2
         filesz 0x00000138 memsz 0x00000138 flags rw-
    LOAD off    0x00001000 vaddr 0x08048000 paddr 0x08048000 align 2**12
         filesz 0x008c220e memsz 0x008c220e flags r-x
    NOTE off    0x00001168 vaddr 0x08048168 paddr 0x08048168 align 2**2
         filesz 0x00000044 memsz 0x00000044 flags r--
  INTERP off    0x00003468 vaddr 0x0804a468 paddr 0x0804a468 align 2**0
         filesz 0x00000013 memsz 0x00000013 flags r--
EH_FRAME off    0x007a01cc vaddr 0x087e71cc paddr 0x087e71cc align 2**2
         filesz 0x0002cb74 memsz 0x0002cb74 flags r--
    LOAD off    0x008c37d4 vaddr 0x0890b7d4 paddr 0x0890b7d4 align 2**12
         filesz 0x00003404 memsz 0x000b4978 flags rw-
   RELRO off    0x008c37d4 vaddr 0x0890b7d4 paddr 0x0890b7d4 align 2**0
         filesz 0x0000082c memsz 0x0000082c flags r--

Dynamic Section:
  RUNPATH              $ORIGIN
  NEEDED               libOpenAL.so
  NEEDED               libsteam_api.so
  NEEDED               libGL.so.1
  NEEDED               libX11.so.6
  NEEDED               libpthread.so.0
  NEEDED               librt.so.1
  NEEDED               libstdc++.so.6
  NEEDED               libm.so.6
  NEEDED               libgcc_s.so.1
  NEEDED               libc.so.6
  INIT                 0x0804c3e0
  FINI                 0x086d56d4
  INIT_ARRAY           0x0890b7d4
  INIT_ARRAYSZ         0x000006f0
  FINI_ARRAY           0x0890bec4
  FINI_ARRAYSZ         0x00000004
  GNU_HASH             0x0804a374
  STRTAB               0x080472ac
  SYMTAB               0x08048b04
  STRSZ                0x00001857
  SYMENT               0x00000010
  DEBUG                0x00000000
  PLTGOT               0x0890c000
  PLTRELSZ             0x00000b58
  PLTREL               0x00000011
  JMPREL               0x0804b888
  REL                  0x0804b820
  RELSZ                0x00000068
  RELENT               0x00000008
  VERNEED              0x0804b670
  VERNEEDNUM           0x00000006
  VERSYM               0x0804b360

Version References:
  required from librt.so.1:
    0x0d696912 0x00 16 GLIBC_2.2
  required from libpthread.so.0:
    0x06969192 0x00 22 GLIBC_2.12
    0x0d696912 0x00 20 GLIBC_2.2
    0x0d696911 0x00 11 GLIBC_2.1
    0x0d696910 0x00 09 GLIBC_2.0
  required from libgcc_s.so.1:
    0x0b792650 0x00 17 GCC_3.0
    0x0d696910 0x00 06 GLIBC_2.0
  required from libc.so.6:
    0x0d696911 0x00 21 GLIBC_2.1
    0x09691f73 0x00 19 GLIBC_2.1.3
    0x06969191 0x00 14 GLIBC_2.11
    0x0d696914 0x00 13 GLIBC_2.4
    0x09691974 0x00 12 GLIBC_2.3.4
    0x0d696913 0x00 10 GLIBC_2.3
    0x0d696912 0x00 08 GLIBC_2.2
    0x0d696910 0x00 04 GLIBC_2.0
  required from libm.so.6:
    0x0d696910 0x00 07 GLIBC_2.0
    0x0d696911 0x00 03 GLIBC_2.1
  required from libstdc++.so.6:
    0x02297f89 0x00 18 GLIBCXX_3.4.9
    0x0297f861 0x00 15 GLIBCXX_3.4.11
    0x056bafd3 0x00 05 CXXABI_1.3
    0x08922974 0x00 02 GLIBCXX_3.4

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .dynamic      00000138  08047174  08047174  00000174  2**2
                  CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
08047174 l    d  .dynamic	00000000              .dynamic
0890becc l     O .dynamic	00000000              _DYNAMIC

The output is exaclty the same.
I put the 3 files metioned in the post in the game folder and run the game with this command:

LD_PRELOAD=/home/userme/.steam/steam/SteamApps/common/This War of Mine/libpthread.so.0 /home/userme/.steam/steam/SteamApps/common/This War of Mine/librt.so.1 /home/userme/.steam/steam/SteamApps/common/This War of Mine/libc.so.6 ./This\ War\ of\ Mine

but still not working.

In the other computer I downgraded that library and the game goes fine but I would like not to downgrade.

Last edited by Astroarch (2015-05-02 12:12:54)

Offline

#10 2015-05-02 12:19:26

progandy
Member
Registered: 2012-05-17
Posts: 5,305

Re: Downgrade package for Steam game

If you don't want to downgrade, try this: extract from the old glibc-*.pkg.tar.xz the files in usr/lib  to e.g. ~/oldlibc, then run with

LD_LIBRARY_PATH=~/oldlibc This\ War\ of\ Mine

Last edited by progandy (2015-05-02 12:20:48)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |

Offline

#11 2015-05-02 14:19:40

Astroarch
Member
From: Germany
Registered: 2014-03-21
Posts: 85

Re: Downgrade package for Steam game

Unfortunately not working.

Offline

#12 2015-05-02 14:47:29

progandy
Member
Registered: 2012-05-17
Posts: 5,305

Re: Downgrade package for Steam game

You can always use the hammer: Collect all dependency packages and run in a chroot.
Edit:

architecture: i386

Are you running 64bit arch? Then you probably need the old copy of lib32-glibc.

Last edited by progandy (2015-05-02 14:51:08)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |

Offline

#13 2015-05-02 15:39:48

Astroarch
Member
From: Germany
Registered: 2014-03-21
Posts: 85

Re: Downgrade package for Steam game

Yes, I run a 64 bit, for this I used the lib32 version.

Sorry but I did not understand what to do.

Offline

Board footer

Powered by FluxBB