For transparency, this issue report was moved from the Source-1-Games issue tracker to here because running the Windows client on Linux is not supported and we're using one issue report per unofficially supported game title with Proton. In general, Proton should grow to handle issues encountered with games, not the other way around.
This is the right place to discuss issues with TF2 when run with Proton and https://github.com/ValveSoftware/Source-1-Games/issues/2844 is a tightly scoped to the performance difference between the native OpenGL client and the Vulkan render path via d9vk and the Source-1-Games issue report should not be used for general Proton discussion.
9195.610:0020:0024:err:steam:run_process Failed to create process L"\"\\\\?\\unix\\run\\media\\supine\\DATADISK\\Games\\SteamLibrary\\steamapps\\common\\Team Fortress 2\\hl2.exe\" -steam -game tf -novid -nojoy -nosteamcontroller -nohltv -particles 1 -precachefontchars -no_texture_stream -gl_enablesamplerobjects": 1115
proton 6.3
I can confidently say that tf2 works fine on proton as of now, except for the fact that none of the source games I try to run are able to connect to the steam client for some reason
Team Fortress 2
Issue transferred from https://github.com/ValveSoftware/Proton/issues/7599.
@tierwelder posted on 2024-03-23T17:05:54:
Hello, Team Fortress 2 is not working whatsoever for me on Linux, the issues are as follows:
The game, neither the Stable version or the 64-bit Beta will launch using Steam Play, only when Proton (9.0 or older) is enabled, would they launch
when Proton is enabled, the game won't let me enter matchmaking, saying that I am 'in Insecure mode', adding -secure to the launch options of Team Fortress 2 doesn't help, as the game crashes when joining a server when this parameter is added.
Now, with a reinstall, even with Proton, the game doesn't launch whatsoever.
Here's some system information:
Operating System: Bazzite 39
KDE Plasma Version: 5.27.11
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.12
Kernel Version: 6.7.9-204.fsync.fc39.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × AMD Custom APU 0405
Memory: 14.5 GiB of RAM
Graphics Processor: AMD Custom GPU 0405
Manufacturer: Valve
Product Name: Jupiter
System Version: 1
I will be adding logs shortly in the reply section.
Here is the log, for the game running w/Proton 9.0, on the Stable release, the game connects and works up until attempting to connect to Public matchmaking.
Now, on the x64_test, running the ln -s tf.sh hl2.sh command in my terminal (I use Ptyxis) in order to create the executable, I tried running the game without forcing Proton, the game wouldn't launch, and would not even create a log or give me an error message.
I can confidently say that tf2 works fine on proton as of now, except for the fact that none of the source games I try to run are able to connect to the steam client for some reason
can you share how you got it working?
TF2 crashes when loading into a game (explanation on why Proton is still useful over native included)
Issue transferred from https://github.com/ValveSoftware/Proton/issues/8017.
@bugflug posted on 2024-08-23T04:22:38:
440nvidia 535.183.065.15.0-118-genericTF2 crashes when using Proton to load into a match or view a demo file. The game successfully boots into the main menu and only crashes when there would otherwise be a loading screen before spawning in to the game.
It may be notable that the game did work with Proton before the 64-bit update for some people.
The only notable errors, oddly enough, are about running out of font handles?..
steam-440.log
Use Proton 9.0-2 (or any version, actually) to boot TF2 instead of doing it natively. Using OpenGL or Vulkan is not important as both result in the crash. After the main menu loads, attempt to load a map in the console like map pl_upward or attempt to load a demo file. The game will crash before the loading screen even shows
Luck has it that any and ALL 3rd party tools to make cinematic movies in the game are based on Windows DLL injection (with the game in insecure mode, of course). The main tool used is HLAE, a.k.a. Half-Life Advanced Effects. This enables a ton of custom effects like
While HLAE is technically a hack, it's a staple of literally every frag movie creation scene in every source game. I've even successfully injected the advanced effects DLL into TF2 when opened with Proton. The only issue is the game itself when it tries to load into a map/game.
Because of how important these 3rd party tools are to the TF2 community, it's important to support the game with Proton regardless of its ability to run natively.
Tested TF2 with Proton on a fresh Xubuntu install on a laptop with integrated graphics; still broken there. Much less likely to be a system-specific issue.
I'm currently having this issue aswell on OpenSUSE Tumbleweed, and it is very likely that it is a game bug (game was working fine 5 months ago) and many of my attempts to find a workaround has been so far unsuccessful.
Again, i'm coming from the fact that i use HLAE to record videos, and it is impossible to do this without proton (unfortunately).
Again, the most notable error in the crash log is the err:font:alloc_font_handle out of realized font handles, which is spammed excessively when loading a map/demo.
UPDATE: It doesn't seem to be a game bug, I have tried to change different TF2 branches and nothing seemed to work in my theory. I can't really figure out the real issue and the error itself is already obscure to find anything helpful...
440Game loads to main menu without issue, but upon attempting to load into any map, by any means, the game instantly crashes to desktop.
Attempt to load into a map (map itemtest in console, connecting to community or official servers, starting a listen server, starting training, load a demo, etc.)
Of note:
hl2.exe -game tf to work around mismatched executables, can load into maps without crashing.Ladies and gentlemen!!!!
https://youtu.be/_59eg3DhVu8
IT WORKED!!!!!!!!! with sparkly!!!!!!!
I can't garuntee that any of this works on all hardware, I'm just really excited that it worked on mine. TF2 works fine for me in Proton Experimental right now and -insecure on the launch options. It's worth noting -force32bit is needed to launch the real 32-bit mode on proton, otherwise it's forced to 64bit.
Ran from HLAE added as a non steam game with proton experimental, targeting a proton install of TF2 with the launch options -insecure +sv_lan 1 -windowed -force32bit -console -novid in HLAE's custom loader, and NO environment variables. I can't believe sparkly worked, hlae does too. Though it performs like shit from my first and currently only test, shading models are a little weird too. I'm on an Nvidia RTX 3070 Ti, and on the newest 575.57.08 nvidia proprietary driver. My DE manager is sddm.
kmd@lhD:~$ neofetch
_,met$$$$$gg. kmd@lhD
,g$$$$$$$$$$$$$$$P. -------
,g$$P" """Y$$.". OS: Debian GNU/Linux 12 (bookworm) x86_64
,$$P' `$$$. Host: MS-7C56 2.0
',$$P ,ggs. `$$b: Kernel: 6.1.0-37-amd64
`d$$' ,$P"' . $$$ Uptime: 1 hour, 49 mins
$$P d$' , $$P Packages: 2702 (dpkg), 22 (flatpak)
$$: $$. - ,d$$' Shell: bash 5.2.15
$$; Y$b._ _,d$P' Resolution: 1080x1920, 1920x1080
Y$$. `.`"Y$$$$P"' DE: Plasma 5.27.5
`$$b "-.__ WM: KWin
`Y$$ WM Theme: plastik
`Y$$. Theme: [Plasma], Breeze [GTK2/3]
`$$b. Icons: [Plasma], breeze-dark [GTK2/3]
`Y$$b. Terminal: konsole
`"Y$b._ CPU: AMD Ryzen 7 5800X (16) @ 3.800GHz
`""" GPU: NVIDIA GeForce RTX 3070 Ti
Memory: 10193MiB / 32015MiB
proton experimentalx1 2025-08proton 9.0-2x1 2024-08proton 9.0x1 2024-03proton 6.3x1 2021-07proton 4.11x1 2019-10PROTON_USE_D9VK=1x1 2019-10PROTON_USE_D9VK=1 %command%x1 2019-10client.dllx1 2024-09engine.dllx1 2024-09
Hi. When I tried to run TF2 using D9VK with Proton 4.11.7 with
PROTON_USE_D9VK=1 %command%and without, but the game only shows a black screen or a black screen with artifacts.Here the logs:
With
PROTON_USE_D9VK=1 %command%:steam.txt
Without:
steam2.txt
And a screenshot of the artifact without

PROTON_USE_D9VK=1 %command%: