


Force a Specific Proton Version if you have window issues

On the games default D3D9 renderer it stutters every couple seconds on a 3070. Using OpenGL from the settings makes it run flawlessly, but it breaks lighting on some maps. Pick your poison.
Native version wouldn't boot

I would heavily reccomend setting your resolution, FPS limit, and mouse sensitivity in the ini files under the System folder of the game.
This game is subject to random crashes on Windows as well. Mainly when on the lobby screen.
The native port just does not work well AT ALL. Avoid. Also be sure to disable dynamic lighting as this can easily tank the game down to 20fps when there's a flamethrower. Same stuff as on windows mostly.

Works well
Works well natively, didn't try online multiplayer

gamemoderun %command%
My mouse was very sluggish with response time, but after disabling the smooth mouse option under input settings it was fine.
Works perfectly fine at Native just like it would on Windows. Just sucks Tripwire abandoned dedicated Linux support on Killing Floor 2

Turn proton on and use opengl

Any problem on Linux with Proton + DX9, I could improve the performance change to XFCE. I pay in lowest setting video and fullscreen 1050p
gamemoderun %command%
System: vm.max_map_count=262144 Killingfloor.ini: MaxClientFrameRate=60.0
My laptop is no enoug
Any problem on multiplayer game
Native game mode starts but I can change any settings, the game crash, protondb + DX9 I can play as a Windows game

gamemoderun %command%
Native installation caused windowing issues.

My previous report had an wrong launch parameter. I've made the correction here and made format changes and an addition.
PROTON_USE_WINED3D=1 PROTON_ENABLE_D8VK=1 %command%
Set protontricks setting to winxp via graphical interface or terminal $ protontricks 1250 winxp
Within the game folder, in the 'System' folder, in the KillingFloor.ini file, change values to these. [Engine.GameEngine] section CacheSizeMegs=256 (or lower if need be) [D3DDrv.D3DRenderDevice] section CheckForOverflow=True, UseTripleBuffering=True, and add a new line AvoidHitches=True
(Not sure if this affects, I have done this as well) [D3DDrv.D3DRenderDevice] UsePrecaching=False
[Engine.LevelInfo] bNeverPrecache=True
Missing textures with opengl on nvidia cards. Fixed by using Direct 3D in the in game display settings (and a few tweaks mentioned here to improve Direct 3D performance. May not work with the Direct 3D 9.0 option).
With GNOME desktop environment I needed to set resolution and enable fullscreen at every launch. With LXDE I needed to enable fullscreen at every launch.
Lots of lag (seemingly 1 frame every few seconds) with dynamic lights enabled or flashlight on (worse with both enabled)
Mouse smoothing settings apparently cause issues as well
The opengl renderer specifically causes graphical bugs excludively with nvidia graphics cards (even on Windows) with stalkers visible and missing map textures. Further, the flashlight is not rendered properly in opengl (not sure if this is exclusive to nvidia).
Large maps like West London specifically still lag due to many enemy spawn points. Mostly mitigated by setting graphics lower.
No official servers. Has the ability in game to host dedicated and listen servers.
To fix the game
Use Proton GE. ver 8-24 or later for D8VK implementation. If I understand correct, it still needs to be implemented in DXVK at this time but has been implemented in proton ge. It is disabled by default but can be enabled in launch settings. Further, not having PROTON_USE_WINED3D
in the launch options caused significant lag with dynamc lights enabled. In game, the graphics renderer needs to be changed to Direct 3D specifically. (launch parameter mentioned at the top).
Use ntcore's 4GB patch to allow 4GB of virtual memory use by the game. I did it by using wine through the terminal $ wine 4gb_patch.exe KillingFloor.exe
because the patcher was named '4gb_patch.exe' for me, though the guide I used for the patch said '4gbpatch.exe'. Use the appropriate one according to the patch name. I had to put both files in the same location and change working directory to that directory to be able to do this (I do not understand Linux very well still).

PROTON_USE_VKD3D PROTON_ENABLE_D8VK=1 %command%
Issues with opengl when using an Nvidia card: missing textures, silvery highly visible textures on a nearly invisible enemy type. Opengl aso causes the flashlight to be very dim and of no use.
Need to set resolution and fullscreen options on every launch.
Intense lag in Direct3D renderers with the proton version (in various versions) with Dynamic Lights enabled (which is needed for the flashlight to function) and disabled as well before a few configuration tweaks, can all be fixed by using Proton GE and performing an large number of fixes. The opengl renderer has a few graphical issues when using an nvidia graphics card but is otherwise stable.
There are few servers for vanilla play but that is not a Linux version issue
To fix the game-
Use Proton GE. ver 8-24 or later for D8VK implementation. If I understand correct, it still needs to be implemented in DXVK at this time but has been implemented in proton ge. It is disabled by default but can be enabled in launch settings. Further, not having PROTON_USE_VKD3D in the launch options caused significant lag with dynamc lights enabled. In game, the graphics renderer must needs to be changed to Direct 3D specifically. (launch parameter mentioned at the top).
Using protontricks, change settings to windows xp by either selecting the option in the graphical interface or using $ protontricks 1250 winxp
in the terminal.
Graphics renderer (set in game settings within application) needs to be changed to Direct 3D. Not Direct 3D 9.0 because the PROTON_ENABLE_D8VK=1 %command% parameter is for Direct 3D X8 (named Direct 3D in game options) and Direct 3D 9.0 performance for this game is bad on linux.
Use ntcore's 4GB patch to allow 4GB of virtual memory use by the game. I did it by using wine bthrough the terminal $ wine 4gb_patch.exe KillingFloor.exe
because the patcher was named 4gb_patch.exe for me, though the guide I used for the patch said 4gbpatch.exe. Use the appropriate one according to the patch name. Being relatively new to linux, I do not yet know why the command will not apply when both applications are in separate directories but the workaround I used was putting them in the same directory and then putting KillingFloor.exe back in the original location.
In the KillingFloor.ini file, under the [Engine.GameEngine] section, change the value of CacheSizeMegs from 32 to 256. Putting it any higher crashes the game supposedly. Under section [D3DDrv.D3DRenderDevice], change settings to CheckForOverflow=True, UseTripleBuffering=True, and add a new line AvoidHitches=True
Additionally, disabling pre-caching may help (or may not). It was one of the changes I'd implemented after consulting many guides and haven't tested if performance is good with pre-caching enabled. In the same section [D3DDrv.D3DRenderDevice], set UsePrecaching=False. In the [Engine.LevelInfo] section, set bNeverPrecache=True.

- The native version is scuffed which is apparent with windowing bugs so switch to proton, ideally Proton-GE for raw input support.
- MangoHud doesn't seem to work.
- Direct3D performance is terrible so switch to OpenGL. I haven't yet experienced any graphical bugs with vulkan-radeon (RADV) drivers and Proton-GE.
- To play on a high refresh rate and resolution, in KillingFloor.ini set the following:
FullscreenViewportX=2560
FullscreenViewportY=1440
MaxClientFrameRate=144
- When you load into a map enter
netspeed 14400
in the console to fully change FPS cap. - To fully disable mouse acceleration, in User.ini set the following:
MouseSmoothingMode=0
MouseSmoothingStrength=0
MouseAccelThreshold=0
MouseSamplingTime=0.001

X11 Problems, changing resolution did nothing. Had to run the game with proton for it to work.
Some stuttering on the end of rounds

The Windows version is more playable (but not perfect) than the native Linux one. So play KF using Proton Experimental if you're on Linux.
-Fix for Stalkers being visible at a distance: Change the video rendering mode from to Direct 3D. Though a huge performance loss is a side-effect of this rendering mode.
-Fix for flickering textures/ground when shooting/using flashlight/etc: Change the video rendering mode to Direct 3D. Though a huge performance loss is a side-effect of this rendering mode. Alternatively, disable Dynamic Lightning from the Display Options, and play without Dynamic Lights, which means you'll be at a disadvantage in very dark maps as you cannot use your flashlight.
-Tweak for low performance when many zombies are on screen, in OpenGL:
Deactivate DrawDistance Level of Detail (will make distant objects look worse but performance may increase by 25-50%). Open 'KillingFloor.ini' and change: DrawDistanceLOD=1.000000 to DrawDistanceLOD=0.000000 And save.
This setting is located in the [WinDrv.WindowsClient] section in the Windows version and [SDLDrv.SDLClient] in the Linux version.
In OpenGL, you may experience flickering textures on some maps (like Biotics Lab) when shooting (with Dynamic Lights on). Stalkers are visible at a much higher distance than they're supposed to be. Direct 3D fixes some of the issues, but the performance is about x2 worse.
Every single time you launch the game, it launches in Windowed mode, even if you played in Fullscreen last time. Thus, every time you want to play in fullscreen, you have to go into the Display Options after entering the game, and you need to select the correct resolution again (as the last resolution pre-selected is the Windowed one). It's highly annoying doing this every single time.
Game has much lower FPS compared to playing in Windows in Direct 3D. Playing in OpenGL helps, but you may experience some visual glitches.
If you play in fullscreen with the Steam overlay on, and you try to use the Steam overlay, you will most likely crash because the game will be frozen. Only playing in Windowed mode fixes this, or playing in fullscreen and not using the Steam overlay.
Multiplayer seems to be working fine. There's the rare crash that happens when exiting some servers, but it's inconclusive whether this is due to Steam, Proton, server mods, or just the KF engine itself.
If these issues would be fixed, the game would be perfect on Linux: Awful D3D performance, glitchy textures in OpenGL with Dynamic Lightning ON, game always launching in Windowed instead of Fullscreen, crash when using the Steam overlay in fullscreen.
Scuffed Linux port, forcing Proton makes it work better. Cursor acts strangely with multi-monitor setup.
gamescope -w 1920 -h 1080 -f %command% -window
No real issues connecting to game servers.
The game has a native Linux build, however it was very poorly ported and has a lot of scuff. Just force it to use proton and it works much better. Note that it acts a little strangely if you have a multi monitor setup, as the cursor can slip out of the game window, even in game. I forced the correct screen bounds with Gamescope.
gamemoderun %command%
Without Proton, the game still runs natively, but only in a low resolution (800x600) and I could not alt-tab. I could not even force a window change through switching workspaces (couldn't switch workspaces either). Secondary monitor was completely disabled on running, and once game was closed, primary monitor was stuck in 800x600 resolution. Had to change display settings and reset to defaults to revert back to normal. Once Proton is used those issues were fixed.
Mouse would constantly escape the game window even when fullscreen; i.e. mouse was not confined to game window boundaries, when running with Proton. Would constantly escape the game. Had to use a workaround to force secondary monitor in a diagonal space to primary monitor and simply be careful not to escape the game in the corner of the screen.
Some areas of some custom maps resulted in massive frame loss, until the entire map was cached, I guess. It corrected itself over time. Large numbers of custom enemies also resulted in some slow down, but that's the risk of joining massively modded servers.
Sometimes custom maps and resources would download at a rate much slower than nominal. Disconnecting and reconnecting fixed the issue. An issue from native KF is that if a game ends and a map change occurs while you are in the process of downloading resources you will suffer "connection failure." Annoying, but just reconnect.
Mouse goes offscreen.
Performance is objectively bad. Even my hardware should be able to handle this game with 60FPS, no problem - Except that doesn't happen, I get 30-45FPS average on most maps.
I've figured out that Antialiasing kills my framerate, but even turning it off doesn't help that much - And the game now looks like complete garbage, which is not very good.
Works
Both versions work but Proton peforms better
Sometimes the native port, doesnt play any audio at all.
Its totally playable on the Deck, but sometimes graphics/audio bugs can occur. Quite the challangeing game with this type of control. Higher difficulties are nearly impossible even with gyro. Other than that, the game runs okay.

No sound Native version. Use proton version forcing use proton 7.0-3 in Steam properties of the game
Just set the right resolution in-game graphics options
Game always started on wrong monitor (no matter whcih one was the primary one or in which order i plugged them into my pc). Solved this problem by disallowing the windowmanager to manage the window in protontricks.
Online multiplayer works perfectly.
The native port has many issues, including garbled audio and buggy graphics. Running Killing Floor on Proton-Experimental will give a near flawless experience.
Works perfectly, better than native version.

on proton 6.3-3 the game window is tiny and moves with the mouse cursor over a black screen
making impossible play online or solo, same for Unreal Tournament 2004 this did not happen with proton 6.3-2
Works better than native for me. Native had graphical issues whereas this is completely fine.
Detailed Guide Killing Floor on Linux https://steamcommunity.com/sharedfiles/filedetails/?id=1801147737

used when launching. After launching go to options, display and switch to opengl
the native version was poorly ported, I recommend playing with the proton
With some slight tweaks as described in the github gist, Killing Floor is able to reach a perfectly playable state.
On the KF_Farm level, the tree foliage appears blockier than usual, however this isn't very noticeable.
When starting the game in fullscreen, a slight part of the screen seems to be chopped off on the bottom. Disabling fullscreen and then re-enabling it in the display settings remedies this.
Proton version is way more usable than native. Using D3D9 version.
RADV for me was either causing stuttering or simply failing to launch on other Proton versions (on vega 64)
With mesa, performance seems a bit low but still usable, need to lower graphics
Very rare crashes

With proton, I made no changes and the game ran.
Windows native (Direct 3D 9.0) usually gives me a smooth 90 fps (capped), with Linux native (OpenGL) it is slightly lower than that.
For Linux native OpenGL, the in-game vsync graphical option has no effect.
Use this launch option to disable vsync to uncap the frame rate:
vblank_mode=0 %command%

FPS cap is gone, frame rate is now up to around 180
Linux Native (OpenGL) is capped at 60 fps
Windows Native is capped at 90 fps
Blacklist radeon driver in /etc/modprobe.d/blacklist.conf
Added the following to kernel line: amdgpu.si_support=1 radeon.si_support=0 amdgpu.cik_support=1 radeon.cik_support=0
I had to use VULKAN in order for the brightness, contrast, and gamma settings to actually work.
Mouse buttons suddenly stopped working. Mouse cursor would only move while a mouse button was held down. Cursor then would ONLY move, no clicks. I had to exit the game with my keyboard. Only happened twice.
Momentary dips in FPS. Happens when panning across levels, and when newly showing enemies on-screen.
Game would slow down suddenly for short periods of time while panning across the level, and showing enemies on screen. Makes it hard to aim correctly.
Average fps went from 25fps (native) to 45fps (proton&opengl). Audio quality is way better, keyboard input works perfect.

Game works native on Linux (OpenGL). On Proton it works out of the box with WineD3D. If you use PROTON_USE_D9VK=1 %command% as a launch option (available since Proton 4.11) and I enable Direct3D9 in the game options, the game works now great with D9VK (D3D9 to Vulkan translation). Before Proton 4.11-3 I had graphical glitches. Tested with RADV and the new Mesa ACO compiler on Plasma Wayland.

Runs a fair bit better than the native version (90fps-ish vs 50fps-ish on Low 1440p), but setting the renderer to OpenGL in the menu is a must. Even with this overspecced machine, the framerate isn't amazing, probably due to the age of the software. Occasional glitch where the crosshair snaps to the ceiling but overall works much better than the native port.

Works significantly better than the native version. Proton version can properly use other display resolutions without freezing your OS and the random audio buzzing/crackling bug doesn't seem to appear in the proton version. Proton version should replace the native KF as a default install. Performance isn't that great on high settings, but it's better than native. I don't have a windows machine to get the reference performance/fps on windows.

Tested this game again on Proton, sounds seems to be improved. If I install D9VK and switch to DX9, I got only a black screen. Selecting DX8 in the game, adding dgvoodoo2 files and enabling d3d8 as native allowed me to run this game on DXVK.

Sound is crackling terribly on native Linux, but graphics works, mouse was broken in fullscreen. On Proton the game works much better, sound is ok, but there are serious frame drops with Wine's D3D. Swithing in the game settings to DX9 and OpenGL helped a little.