Closed SeaDve closed 8 months ago
For anyone having the same issue, they can downgrade to the previous version:
sudo flatpak update --commit=227a5e654498b890a13fc6612fdc3b12a4ebd943f1e764972a5ff0e65882b9a4 com.valvesoftware.Steam
According to ProtonDB, this is likely a bug in a library that the game ships, which the update exposed.
See multiple reports here: https://www.protondb.com/app/440#F5eUgPqkSk
Can confirm swapping back to the pre-23.08 runtime version TF2 runs fine again.
LLVM16 + Google Performance Tools are conflicting. There is a PR for an update to gperftools waiting, but don't know if that would fix it yet.
Found a more elegant way to get TF2 working.
If you simply delete
.....Team Fortress 2/bin/libtcmalloc_minimal.so.4
the game falls back to the version that is included in the flatpak and the game will run.
This will also work for other source-1 games as well. I tested it in No More Room in Hell and Fistful of Frags and it allowed those game to launch as well. (tho in the case of FoF, the libtcmalloc_minimal.so.4
file was in ....../Fistful of Frags/sdk/bin
not in the top bin folder)
this will have to be redone if the files for the game are verified or maybe after a future game update
edit: on further testing leaving the file in place but adding LD_PRELOAD=/app/lib32/libtcmalloc_minimal.so.4 %command%
will also get the game working. This might be a more permanent workaround until valve hopefully fixes the game
For some reason, none of the workarounds mentioned in this thread seem to work for me. In all cases, the game window briefly pops up, I can hear the first quarter second of the Valve logo, and then it crashes. Does anyone know how to enable logging so I can get a better look at what's causing this to happen for me?
@doogie544, can you please share full paths to libtcmalloc_minimal.so.4
and to the executable that crashes in all games known to be affected?
I opened https://github.com/flathub/com.valvesoftware.Steam/pull/1171 to fix the crash with TF2, but I can do the same for more games.
@doraskayo here is the list of the games I have that are broken due to this issue broken source list.odt
I deleted the leading /
before the game folder when I deleted the rest of irrelevant part of the path, but the folder names are exactly as they appear. I did a copy and past of the file location to prevent typos
Portal is also broken, but I don't see libtcmalloc anywhere in its files. I do however see libmimalloc.so
, which might be related.
Edit: libmimalloc.so
is also present in Half-Life 2, which also prevents that game from starting. I'll be testing more Source games shortly to see which ones are affected, but I suspect it may be all of them.
Portal is also broken, but I don't see libtcmalloc anywhere in its files. I do however see
libmimalloc.so
, which might be related.Edit:
libmimalloc.so
is also present in Half-Life 2, which also prevents that game from starting. I'll be testing more Source games shortly to see which ones are affected, but I suspect it may be all of them.
Portal worked for me, I installed it just to check it. Not likely related to this issue. Halflife 2 also worked as did Halflife source (which also had libmimalloc.so instead of the problem library)
Maybe you just need to verify the game files for portal?
Maybe you just need to verify the game files for portal?
I did verify the files and unfortunately nothing changed.
I just reinstalled both games again and double checked.
Both started for me this time as well. Whatever you have happening is not related to this issue as this is specific to the libtcmalloc_minimal.so.4
library present in those games causing issues
when you have a game affected by this you get a very specific line in the log about 12 lines from the bottom
src/tcmalloc.cc:278] Attempt to free invalid pointer 0x91b9ad0
when you have a game affected by this you get a very specific line in the log about 12 lines from the bottom
src/tcmalloc.cc:278] Attempt to free invalid pointer 0x91b9ad0
Would this show up in the Steam log or somewhere else? I tried looking for individual application logs but never found any.
@MisterSheeple it is in the logs you get from starting steam from the cli. flatpak run com.valvesoftware.Steam
This is an issue happening outside of the flatpak as well. Anyone using amd with llvm16 will run into it. Happens on the non-flatpak steam in Fedora 38, Arch and Gentoo that I know of.
Fedora has had the issue the longest afaik, it never worked in f38 as that was when they upgraded to llvm16. Arch and Gentoo had it happen a bit earlier than flatpak and we got it when flatpak updated to use the 23.08 runtime which has llvm16 apparently
I see that you mentioed about none of the offered fixes worked for you. If going into the affected games and deleting libtcmalloc_minimal.so.4
or using the launch option of LD_LD_PRELOAD=/app/lib32/libtcmalloc_minimal.so.4 %command%
does not get TF2 or Garrys Mod (or the other 2 that I have in the file I uploaded) then you probably have something else going on with your steam install which might be why Half Life 2 and Portal are not working for you either
I see that you mentioed about none of the offered fixes worked for you. If going into the affected games and deleting
libtcmalloc_minimal.so.4
or using the launch option ofLD_LD_PRELOAD=/app/lib32/libtcmalloc_minimal.so.4 %command%
does not get TF2 or Garrys Mod (or the other 2 that I have in the file I uploaded) then you probably have something else going on with your steam install which might be why Half Life 2 and Portal are not working for you either
After having a look at the log, this is the one thing that seems to happen in all cases when attempting to start most Source games: ERROR: ld.so: object '/home/mistersheeple/.var/app/com.valvesoftware.Steam/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Is this relevant? If not, I can start a new issue.
wrong elf class it not relevant. That will happen in every game. There are 2 builds of the overlay one is 64 and one is 32bit. Steam will try to load both as it does not know what architecture the game is, one is obviously going to fail as it is the incorrect architecture, that is normal but b/c it is a failure it will be logged. You will see this type of error a LOT when looking at a proton log and it will try to load both versions of gstreamer libraries.
TL;DR, normal and not important to troubleshooting
TL;DR, normal and not important to troubleshooting
Ah, that's my mistake then. The actual issue I'm having appears to be a segmentation fault.
/home/mistersheeple/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Team Fortress 2/hl2.sh: line 72: 2183 Segmentation fault (core dumped) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
@doraskayo here is the list of the games I have that are broken due to this issue broken source list.odt
I deleted the leading
/
before the game folder when I deleted the rest of irrelevant part of the path, but the folder names are exactly as they appear. I did a copy and past of the file location to prevent typos
@doogie544, thanks, but I also need the path to the crashing executable in each game. For example, in TF2 this is Team Fortress 2/hl2_linux
.
@doogie544, I used SteamDB to hopefully figure it out. It seems all 4 games you listed have the hl2_linux
executable.
Can you please confirm that all 4 games work without issues when running this test build of the Steam Flatpak? https://github.com/flathub/com.valvesoftware.Steam/pull/1171#issuecomment-1741711304
Please add a comment in the PR if it works without issues.
https://github.com/flathub/com.valvesoftware.Steam/pull/1171 should so far fix the following games:
If anyone else has a game that crashes unless configured to launch with LD_PRELOAD=/app/lib32/libtcmalloc_minimal.so.4 %command%
, please:
libtcmalloc_minimal.so.4
and to the crashing binary (usually called hl2_linux
) under the steamapps/common
directory.@doraskayo I have to apologize, I read the message on my phone the first time and didn't notice that you needed the executable as well.
The fix works for all games but no more room in hell and that is my fault. when I removed the rest of the leading path I accidentality removed the first letter of the folder name and didn't notice b/c it was an n next to an m I checked it several times but must have missed it as it was a long day and I was a bit tired.
the correct folder name is nmrih
it has the first letter of each word of the name in it
The runtime update broke Substance painter too, I get the following error complaining about libcrypt.so.1 being missing
.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Substance 3D Painter 2022/Adobe Substance 3D Pai
nter: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
It works again if I revert with
sudo flatpak update --commit=227a5e654498b890a13fc6612fdc3b12a4ebd943f1e764972a5ff0e65882b9a4 com.valvesoftware.Steam
Also I wasn't sure if I should make a new issue or post here.
The runtime update broke Substance painter too, I get the following error complaining about libcrypt.so.1 being missing
.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/common/Substance 3D Painter 2022/Adobe Substance 3D Pai nter: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
It works again if I revert with
sudo flatpak update --commit=227a5e654498b890a13fc6612fdc3b12a4ebd943f1e764972a5ff0e65882b9a4 com.valvesoftware.Steam
Also I wasn't sure if I should make a new issue or post here.
It sounds like the app relies on libraries that the Steam runtime doesn't provide and expects the OS to provide instead. The newer Freedesktop SDK runtime comes with a version of libxcrypt
which updated its ABI version to libcrypt.so.2
. As far as I know libxcrypt
allows building the legacy glibc ABI as a separate library, but we don't do it in 23.08
at the moment.
Does enabling "Steam Linux Runtime" under "Compatibility" in the the "game" properties help avoid this issue?
Regardless, please open a separate issue. It's unrelated to the issue discussed here.
Does enabling "Steam Linux Runtime" under "Compatibility" in the the "game" properties help avoid this issue?
Enabling "Steam Linux Runtime 1.0(scout)" it still doesn't launch but I get a different error in the terminal now
/bin/bash: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libtinfo.so.6: no version information available (required by /bin/bash)
I no longer get an error about missing libcrypt.so.1
Regardless, please open a separate issue. It's unrelated to the issue discussed here.
I made a new issue here https://github.com/flathub/com.valvesoftware.Steam/issues/1174
Game information
Team Fortress 2 (Didn't test with other source engine games)
Distribution name and version where applicable
Fedora Silverblue 38
Flatpak info
Problem description
Pressing
Play
does not do anything with the following log output:log.txt
This is only reproducible on 23.08 runtime, it works fine in 22.08.
Does this issue reproduce with native Steam
Have not tested