I am on Fedora Workstation 38 on GNOME Wayland, using a cyberpower pc with an AMD graphics card & cpu. Whenever I try to launch Team Fortress 2, it crashes the moment the actual game's executable is loaded (hl2_linux). The problem doesn't seem to be related to graphics (I already used the -soft, -safe, -sw, -dx11, and -dx12 options, still didn't work), especially since the game's window doesn't show up. I also tried rebooting multiple times, didn't work, same with directly launching the game. Proton isn't an option, because A: On my machine, it runs at half speed for some reason, and B: Even then, TF2 doesn't want you to use Proton, it wants you to use the native linux version. (It doesn't let you join online games if you're using proton)
Also, no saying "change hardware/distro" as the solution, please.
The problem: Fedora went really quickly when rolling out LLVM-related things, and borked a library TF2 uses for memory allocation.
The solution: Flatpak Steam fixes that
Note: I may have found a solution: replacing "libtcmalloc.so.4" with something else. So far i've tried linking it to my system's version of libtcmalloc, but it just gave an error complaining that it wasn't 32 bit
DirectX 11 and 12 don't exist on Linux (TF2 also only uses DirectX 9 on Windows).
Anyway, not only TF2 is effected but other not well maintained Source games too. The culprit is the newest version of LLVM (and another package I can't remember the name of, but it's a popular one that is always the problem) and that was two months ago (joys of a rolling distro).
This problem can only be fixed by that one guy at Valve who still works at TF2 to adjust to the new LLVM.
Edit: it can also be fixed by the package maintainers by reversing that oopsi
ah, i see, that explains why it'll load on my other computer (which has poor cooling and no dedicated gpu which is why i don't use it for gaming anymore), but not my main. I remember using Godot, looking at version information and seeing it mention LLVM, but then not mentioning it on my other computer which runs NixOS
You can try to use the Flatpak version of Steam. It has some downsides like not creating .desktop files at the right location (by default), but it works on my machine.