Today i tried to play Team Fortress 2 with my friends after work but tf2 just crash when i click on the join match button and it starts loading. I booted into the ubuntu installation on my pc and it had no problem. How i could get TF2 working on NixOS?
So, remove steam from users.users.heim.packages and make sure you didn’t also install it with nix-env at some point. Might not fix this issue, but it’s definitely better than what you have now.
heim@nixos:~]$ journalctl --user -e
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::GetLauncherType : 1
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::CheckFileSignature : 1
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::SetAPICallResultWithou>
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::AllocPendingAPICallHan>
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::GetAPICallResult : 139
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::IsAPICallCompleted : 1
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::GetAppID : 5979
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::GetImageRGBA : 19
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::GetImageSize : 19
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::GetIPCountry : 2
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUtils::GetServerRealTime : 5
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::GetFriendPersonaName>
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::SetRichPresence : 56
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::RequestUserInformati>
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::GetFriendGamePlayed >
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::GetFriendByIndex : 30
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::GetFriendCount : 5
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::GetMediumFriendAvata>
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::GetFriendPersonaStat>
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::GetFriendRelationshi>
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::HasFriend : 19
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientFriends::GetPersonaName : 84
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUser::BIsSubscribedApp : 1
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUser::AdvertiseGame : 1
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUser::GetSteamID : 459
dec 22 20:14:10 nixos plasmashell[29736]: Game 440 method call count for IClientUser::BLoggedOn : 5
dec 22 20:14:10 nixos plasmashell[29736]: Uploaded AppInterfaceStats to Steam
dec 22 20:14:13 nixos gameoverlayui[31697]: g_object_unref: assertion ‘G_IS_OBJECT (object)’ failed
Thank you! Now it does not crash just says that i need to reboot cuz im in an unprotected state??
edit: Nope, it started to crash again… :C Luckily every source game multiplayer works (cs:go, portal 2 co-op).
Okay, something’s spamming your logs. You’ll need to use -b instead and scroll down to get to the interesting logs. Alternatively, let -f run then start the game and wait till it crashes.
This helps with initial problem, but I’m hitting so many more…
BTW. Why:
Make sure that TF2’s launch options start with LD_PRELOAD="/usr/lib32/libtcmalloc_minimal.so:$LD_PRELOAD" %command%
uses /usr/lib32 which isn’t a thing on NixOS? Seems to work (games starts, at least), but I’m just curious.
Anyway…
I’m setting up a new system with Radeon RX 6700 XT, and after the workaround I’m able to start the native build, but all the letters in the UI are missing. Moreover, while I can attempt to join a game without the UI texts, the process crashes immediately.
The proton build starts, but crashes after attempting to join online game. However, if I quickly switch to native build, it will start automatically rejoin the previously attempted game and I can play. The letters in UI are still missing, which makes things weird, but somewhat playable.
Steam games are run with steam’s steam-runtime, which substitutes its own libraries. On NixOS this requires running in an FHS for various reasons, so steam is in a little container (using cgroups) to give it the illusion it’s on a traditional fhs system and has a /usr/lib32.