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

  • d_k_bo@feddit.de
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    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.

  • Wanderer@lemmy.fmhy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    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

  • SuperRyn@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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