ValveSoftware / Source-1-Games

Source 1 based games such as TF2 and Counter-Strike: Source
648 stars 75 forks source link

TF2 - Executable not installing after update #5611

Closed Lambda076 closed 5 months ago

Lambda076 commented 6 months ago

After updating the game, I had to verify the integrity of the game after the executable needed to launch the game was not available to launch. Only then it would work. Please fix so no more people have to experience this!!!

catdotjs commented 6 months ago

Even after verifying integrity of tf2. It still doesn't run on me.

doonv commented 6 months ago

For Linux (Kubuntu), rrunning ~/.steam/steam/ubuntu12_64/steam-runtime-sniper/run ./tf.sh from the TF2 installation directory seems to launch the game. But it freezes right after with an error.

The64thGamer commented 6 months ago

Can confirm the same on my Ubuntu (PopOS) machine.

catdotjs commented 6 months ago

I think it is trying to use 32-bit sniper instead of 64 bit

doonv commented 6 months ago

I got past the splash screen, but when loading, I got this error: image

m0rtykai commented 6 months ago

it ain't tf2 if the update isn't botched

TrulySc commented 6 months ago

+1 on this issue. Runtime is not set correctly, will crash on startup unless specifically told to use runtime. :/

Should clarify this was not an issue during beta. I was on beta branch extensively for the past few months.

Lambda076 commented 6 months ago

This occurred to me on windows

doonv commented 6 months ago

Heres how I got TF2 to run on my system (Kubuntu 23.10)

  1. Open terminal in TF2 directory
  2. Optional: For a few seconds, run ~/.steam/steam/ubuntu12_64/steam-runtime-sniper/run ./tf.sh (Steam location may vary). If you get any errors relating to libcrypto.so.1.1 not being found, see this stackoverflow answer to install it.
  3. You'll need to run TF2 in windowed mode, you can do this with this command: ~/.steam/steam/ubuntu12_64/steam-runtime-sniper/run ./tf.sh -- -windowed -noborder -w 1280 -h 720 -secure -steam
  4. You might get an error relating to locales, press OK on the error.
  5. Hopefully it works.

Edit: Added additional launch options to fix issues with joining VAC secured servers.

m0rtykai commented 6 months ago

Replying to https://github.com/ValveSoftware/Source-1-Games/issues/5611#issuecomment-2065521343

linux newbie here, how would i do this on steam deck in desktop mode?

BoxIsMyNamee commented 6 months ago

just put your steam deck on the beta branch. instant fix for me.

MrAwesome commented 6 months ago

Was experiencing crashes on Arch Linux. Removing my -fullscreen flag and switching it to -windowed -noborder instantly fixed the issue.

(FYI - When using -fullscreen, my entire Xorg froze up, and (at least once) eventually the whole system.)

doonv commented 6 months ago

Replying to https://github.com/ValveSoftware/Source-1-Games/issues/5611#issuecomment-2065582943

It should be the same steps, just skip step 2.

KingTheSim commented 6 months ago

Replying to https://github.com/ValveSoftware/Source-1-Games/issues/5611#issuecomment-2065521343

I tried all of the steps listed here. I did manage to get the terminal output from step 3 and will try to see what's wrong. Here's my output: https://pastebin.com/8ZLzeXcs Edit: I am running on a Linux Mint.

Amb0s commented 6 months ago

Was experiencing crashes on Arch Linux. Removing my -fullscreen flag and switching it to -windowed -noborder instantly fixed the issue.

(FYI - When using -fullscreen, my entire Xorg froze up, and (at least once) eventually the whole system.)

Thanks, I had the same issue on Arch Linux GNOME (X11). The top bar was still visible but I used the "Toggle fullscreen mode" to work around that.

spacebanana420 commented 6 months ago

Heres how I got TF2 to run on my system (Kubuntu 23.10)

1. Open terminal in TF2 directory

2. _Optional_: For a few seconds, run `~/.steam/steam/ubuntu12_64/steam-runtime-sniper/run ./tf.sh` (Steam location may vary).
   If you get any errors relating to `libcrypto.so.1.1` not being found, see [this stackoverflow answer](https://stackoverflow.com/a/72633324) to install it.

3. You'll need to run TF2 in windowed mode, you can do this with this command: `~/.steam/steam/ubuntu12_64/steam-runtime-sniper/run ./tf.sh -- -windowed -noborder -w 1280 -h 720 -secure -steam`

4. You might get an error relating to locales, press OK on the error.

5. Hopefully it works.

Edit: Added additional launch options to fix issues with joining VAC secured servers.

I tried following these steps on a NixOS stable build under x11 and I get this error:

pressure-vessel-wrap[33551]: E: Cannot run /home/space/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/pressure-vessel/libexec/steam-runtime-tools-0/srt-bwrap: wait status 256
pressure-vessel-wrap[33551]: E: Diagnostic output:
bwrap: execvp true: No such file or directory

I run the same command but with steam-run, in case it's a library linking issue, and I get this error output as well as a graphical window:

pressure-vessel-wrap[33618]: W: Found more than one possible libdrm data directory from provider
/nix/store/p0bh8w59zhqzxkr5j48x18vrblhaia0m-libxfce4util-4.18.1/lib/libxfce4util.so.7: undefined symbol: g_string_free_and_steal
Failed to load module: /nix/store/p911wsd13wgaa1w0y423n45nq7y21axr-xfconf-4.18.3/lib/gio/modules/libxfconfgsettingsbackend.so
/nix/store/6jccsbgsxjvyydl25x2hx6hrfmyqd0wf-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so: undefined symbol: g_assertion_message_cmpint
Failed to load module: /nix/store/6jccsbgsxjvyydl25x2hx6hrfmyqd0wf-dconf-0.40.0-lib/lib/gio/modules/libdconfsettings.so
/nix/store/ndnf08m8wbg86acv05ws4w9pmps41wqm-gvfs-1.52.2/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_set_source_tag
Failed to load module: /nix/store/ndnf08m8wbg86acv05ws4w9pmps41wqm-gvfs-1.52.2/lib/gio/modules/libgvfsdbus.so
/nix/store/ndnf08m8wbg86acv05ws4w9pmps41wqm-gvfs-1.52.2/lib/gvfs/libgvfscommon.so: undefined symbol: g_task_set_source_tag
Failed to load module: /nix/store/ndnf08m8wbg86acv05ws4w9pmps41wqm-gvfs-1.52.2/lib/gio/modules/libgioremote-volume-monitor.so
/nix/store/75sqkz9mdqfzv1q9dcrkvzk73p630nxr-glib-networking-2.78.0/lib/gio/modules/libgiolibproxy.so: undefined symbol: g_task_get_source_tag
Failed to load module: /nix/store/75sqkz9mdqfzv1q9dcrkvzk73p630nxr-glib-networking-2.78.0/lib/gio/modules/libgiolibproxy.so
/nix/store/75sqkz9mdqfzv1q9dcrkvzk73p630nxr-glib-networking-2.78.0/lib/gio/modules/libgiognomeproxy.so: undefined symbol: g_task_get_source_tag
Failed to load module: /nix/store/75sqkz9mdqfzv1q9dcrkvzk73p630nxr-glib-networking-2.78.0/lib/gio/modules/libgiognomeproxy.so
/nix/store/75sqkz9mdqfzv1q9dcrkvzk73p630nxr-glib-networking-2.78.0/lib/gio/modules/libgiognutls.so: undefined symbol: g_source_set_static_name
Failed to load module: /nix/store/75sqkz9mdqfzv1q9dcrkvzk73p630nxr-glib-networking-2.78.0/lib/gio/modules/libgiognutls.so
pressure-vessel-wrap[33618]: W: X11 socket /tmp/.X11-unix/X0 does not exist in filesystem, trying to use abstract socket instead.
SDL video target is 'x11'
SDL video target is 'x11'
Failed to create SDL window: Failed loading libvulkan.so.1: libvulkan.so.1: cannot open shared object file: No such file or directory

image

This is weird, because I do have Vulkan in my system and I have used it before to play games, and I also used steam-run to make sure the library linking would work.

supervitu64 commented 6 months ago

pressure-vessel-adverb[5654]: E: Failed to execute child process "./tf.sh" (No such file or directory)

This appears upon running the commands

catdotjs commented 6 months ago

pressure-vessel-adverb[5654]: E: Failed to execute child process "./tf.sh" (No such file or directory)

This appears upon running the commands

You have to be on the Team Fortress 2 folder. You'll see tf.sh there.

supervitu64 commented 6 months ago

pressure-vessel-adverb[5654]: E: Failed to execute child process "./tf.sh" (No such file or directory) This appears upon running the commands

You have to be on the Team Fortress 2 folder. You'll see tf.sh there.

I'm having issues regarding access denied and symlinks already existing

bracketracket commented 6 months ago

Yeah launching in fullscreen seems to cause issues.

stevethepocket commented 6 months ago

I tried doonv's command line tricks and both of them failed with segmentation faults. Full output:

SDL video target is 'x11' SDL video target is 'x11' AppFramework : Unable to load module sourcevr.so! Using shader api: shaderapivk info: Game: tf_linux64 info: DXVK: v2.3 info: Vulkan: Found vkGetInstanceProcAddr in libvulkan.so.1 @ 0x7f96f2248770 info: Built-in extension providers: info: SDL2 WSI info: Enabled instance extensions: info: VK_EXT_surface_maintenance1 info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_xlib_surface MESA-INTEL: warning: Haswell Vulkan support is incomplete warn: Skipping Vulkan 1.2 adapter: Intel(R) HD Graphics 4600 (HSW GT2) warn: Skipping CPU adapter: llvmpipe (LLVM 15.0.7, 256 bits) warn: DXVK: No adapters found. Please check your device filter settings and Vulkan setup. A Vulkan 1.3 capable driver is required. Convar sdl_displayindex has multiple different change callbacks Using Breakpad minidump system. Version: 8830351 AppID: 440 Setting breakpad minidump AppID = 440 Using breakpad crash handler [S_API] SteamAPI_Init(): Loaded '/home/steve/.steam/debian-installation/linux64/steamclient.so' OK. Forcing breakpad minidump interfaces to load Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit 04/20 19:04:33 minidumps folder is set to /tmp/dumps 04/20 19:04:33 Init: Installing breakpad exception handler for appid(440)/version(8830351)/tid(21505) Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561197996275803 [API loaded yes] SteamInternal_SetMinidumpSteamID: Setting Steam ID: 76561197996275803 Did not detect any valid joysticks. crash_20240420190436_2.dmp[21519]: Uploading dump (out-of-process) /tmp/dumps/crash_20240420190436_2.dmp crash_20240420190436_2.dmp[21519]: Finished uploading minidump (out-of-process): success = yes crash_20240420190436_2.dmp[21519]: response: CrashID=bp-934020b6-de82-4cf8-bb86-fa0452240420 crash_20240420190436_2.dmp[21519]: file ''/tmp/dumps/crash_20240420190436_2.dmp'', upload yes: ''CrashID=bp-934020b6-de82-4cf8-bb86-fa0452240420'' ./tf.sh: line 83: 21505 Segmentation fault (core dumped) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

I'm assuming that warning about the Intel iGPU is irrelevant; according to a conversation I had recently, Mint on laptops will treat the iGPU as the default and expects Vulkan apps to switch over to the dedicated GPU if they need to. Since this is a Vulkan app, it should be no problem and that warning is probably a mere warning for that reason. It looks like the very last line is the important one. Also GitHub isn't letting me attach the crash dump since it's an unsupported file type; let me know if there's something I can do about that.

EDIT: Oh right, forgot to include my system info. This is a Dell Precision M4800 laptop with an i7-4710MQ CPU, 8GB MDDR3 (I think?) RAM, and an AMD FirePro M5100 GPU with 2GB VRAM. Note that Steam's own System Information also doesn't recognize the GPU, possibly for the reason mentioned above. I've also had Kubuntu on this laptop in the past (switched for various reasons, might switch back soon depending on how Mint 22 works out) and Steam was able to detect and use the GPU on that.

kisak-valve commented 6 months ago

Hello @stevethepocket

warn: Skipping Vulkan 1.2 adapter: Intel(R) HD Graphics 4600 (HSW GT2)
warn: Skipping CPU adapter: llvmpipe (LLVM 15.0.7, 256 bits)
warn: DXVK: No adapters found. Please check your device filter settings and Vulkan setup. A Vulkan 1.3 capable driver is required.

This is very relevant as the Vulkan driver for the Intell Haswell generation of GPU is not spec compliant and does not provide enough hardware features to expose Vulkan 1.3 by default. Your AMD chipset on the other hand is part of the Southern Island generation. By default, the Linux kernel uses the radeon kernel module by default with this hardware generation, but that kernel module is not compatible with Vulkan. Give https://github.com/ValveSoftware/Proton/wiki/For-AMD-users-having-issues-with-non-OpenGL-games a read.

stevethepocket commented 6 months ago

That's funny, because Portal 2 launches and runs just fine and that's been ported to DXVK too. Does it only need Vulkan 1.2 or something?

AwesomeCoder412412 commented 6 months ago

After the latest patch, is the workaround still needed or does tf2 work without any shenanigans on Linux now?

doonv commented 6 months ago

After the latest patch, is the workaround still needed or does tf2 work without any shenanigans on Linux now?

The game launches just fine now.

Genera1-Dynamics commented 6 months ago

After the latest patch, is the workaround still needed or does tf2 work without any shenanigans on Linux now?

The game launches just fine now.

To clarify, TF2 launches fine and runs natively on the Steam Deck now? I'm not any good with Linux.

doonv commented 6 months ago

To clarify, TF2 launches fine and runs natively on the Steam Deck now? I'm not any good with Linux.

Not on the Steam Deck, but on Kubuntu. But I don't see why it wouldn't work on the Steam Deck.

Genera1-Dynamics commented 6 months ago

@doonv I'm new to Linux, so I thought it wouldn't work on Steam Deck since there was reports that the update broke Linux compability.

kisak-valve commented 5 months ago

Hello, if anyone is still seeing this issue on an up to date system, please open a new issue report so that it can be tracked properly.

On the Windows side, this was "Fixed an issue where the game would be falsely detected as malware by some anti-viruses" in the 2024-04-18 Team Fortress 2 update.

On the Linux side, this appears to have been a transient or transitional issue which has passed naturally with some time.