Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

As we suggested it would be, Valve has announced that experimental Vulkan support for Counter-Strike: Global Offensive (CSGO) has landed and can be tried out right now. This is available only for Linux too.

Coming in a small update on December 14, the only other change was a fix for "input delay after closing radial menu".

You don't need to opt into any Beta, as it's in the main game client. All you need to do is add -vulkan as a Steam launch option for the game. Do so by right click -> properties and then enter it in the text box.

This is of course preparation for the Steam Deck, to hopefully bring the performance up to a level that makes it as smooth as possible. The same was done before with Portal 2, Left 4 Dead 2 and Half-Life 2.

You will probably find it stutters a fair bit initially, like Valve's other games that added in DXVK-Native and Windows games played with Steam Play Proton it needs to build up a shader cache. Over time, Valve will usually gather it all up and offer it all as a download like they do for other games, to have it processed before starting. In my own testing, the stuttering was really bad. Still, it's experimental and hopefully more optimizations to come.

Article taken from GamingOnLinux.com.
25 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
14 comments

mphuZ Dec 15, 2021
It's sad that Valve supports Linux well, but abominably supports its games on Linux. Games need complete rework and native Vulkan.

Especially for games like Dota 2 and CS:GO they could try. But even the Dota with native Vulkan does not work very well, according to some users.
vipor29 Dec 15, 2021
would love to play this again but it crashes for me.
ZigZag Dec 15, 2021
would love to play this again but it crashes for me.

Try this as launch option:

 -novid -nojoy -vulkan

For me CSGO also just crashes half of the time on launch, but with the -novid it works, no idea why this is the case, but something is defntley wrong! The -novid is doing the trick for me on both OpenGL and Vulkan, it gives a black main menu background, but everything else works.

Hope it works for you, btw I'm on Manjaro AMD GPU.


Last edited by ZigZag on 15 December 2021 at 5:19 pm UTC
vipor29 Dec 15, 2021
would love to play this again but it crashes for me.

Try this as launch option:

 -novid -nojoy -vulkan

For me CSGO also just crashes half of the time on launch, but with the -novid it works, no idea why this is the case, but something is defntley wrong! The -novid is doing the trick for me on both OpenGL and Vulkan, it give a black main menu background, both everything else works.

Hope it works for you, btw I'm no Manjaro AMD GPU.


i got it to work i had to invoke the fullscreen option,i guess it hates being in windowed mode.


Last edited by vipor29 on 15 December 2021 at 4:36 pm UTC
ridge Dec 15, 2021
I really dislike how Valve relies so much on DXVK, but on the other hand I can acknowledge that adding native Vulkan to the Source engine would proooobably be a big undertaking in lots of old spaghetti code.... maybe, I don't know.

But from a "stupid user who doesn't know what the Source engine source code looks like" point of view, I really wish they could just implement Vulkan natively.
1xok Dec 15, 2021
i got it to work i had to invoke the fullscreen option,i guess it hates being in windowed mode.

I play it regularly and always in window mode. No crashes with my GTX 970. Has been stable for years. I haven't tried Vulkan yet.

EDIT: Tested it. Runs well except that it stutters until the shader cache is filled. And that for every map. :/
I noticed a minor texture error.


Last edited by 1xok on 15 December 2021 at 10:46 pm UTC
CyborgZeta Dec 15, 2021
Surprisingly, I can actually run CS:GO now (maybe thanks to this?).
ElectricPrism Dec 15, 2021
I really dislike how Valve relies so much on DXVK, but on the other hand I can acknowledge that adding native Vulkan to the Source engine would proooobably be a big undertaking in lots of old spaghetti code.... maybe, I don't know.

But from a "stupid user who doesn't know what the Source engine source code looks like" point of view, I really wish they could just implement Vulkan natively.

Well they did LITERALLY fund DXVK development didn't they?

To me that's no different than them funding and using SDL.

And our community does complain about reinventing the wheel often enough -- IIUC their DXVK bindings are literally paper-thin taking optimized functions and simply redirecting them to the appropriate DXVK function.

Edit: Another argument for their DXVK bindings is that their internal DX functions are already highly optimized, when a parallel code is created it's often not as optimized in the sense that it doesn't get as much time, care, testing, eyeballs, etc...


Last edited by ElectricPrism on 15 December 2021 at 10:51 pm UTC
ridge Dec 16, 2021
I really dislike how Valve relies so much on DXVK, but on the other hand I can acknowledge that adding native Vulkan to the Source engine would proooobably be a big undertaking in lots of old spaghetti code.... maybe, I don't know.

But from a "stupid user who doesn't know what the Source engine source code looks like" point of view, I really wish they could just implement Vulkan natively.

Well they did LITERALLY fund DXVK development didn't they?

To me that's no different than them funding and using SDL.

And our community does complain about reinventing the wheel often enough -- IIUC their DXVK bindings are literally paper-thin taking optimized functions and simply redirecting them to the appropriate DXVK function.

Edit: Another argument for their DXVK bindings is that their internal DX functions are already highly optimized, when a parallel code is created it's often not as optimized in the sense that it doesn't get as much time, care, testing, eyeballs, etc...

Great points that I didn't consider, makes sense to me. Thank you
Cloudperry Dec 16, 2021
Hmm, no stutters for me with Vulkan. It ran with about the same average fps as OpenGL but had way less stuttering. OpenGL always had way more stuttering than playing on Windows. Now it runs just as smoothly or better. I also tried it through gallium nine using Xnine and it had worse stuttering than Vulkan for some reason. Some other source games I tried with Xnine ran slightly better than with dxvk-native.
WORM Dec 16, 2021
I played deathmatch on all the maps I normally play and now I almost never stutter. Anyone know where the shader cache is stored? Multiple accounts on shared PC means re-caching all the shaders from scratch
aufkrawall Dec 16, 2021
I played deathmatch on all the maps I normally play and now I almost never stutter. Anyone know where the shader cache is stored? Multiple accounts on shared PC means re-caching all the shaders from scratch
Search file system for "csgo_linux64.dxvk-cache", it should be buried somewhere in Steam folder. DXVK_STATE_CACHE_PATH env also still works like with DXVK build as DLL. No idea if setting it can interfere with Steam shader pre-caching, but I found it handy to have all state caches at one path in order to create backups.

Silly CS:GO Linux build once again randomly crashes at launch or during loading for me. Valve, seriously...
kon14 Dec 16, 2021
I really dislike how Valve relies so much on DXVK, but on the other hand I can acknowledge that adding native Vulkan to the Source engine would proooobably be a big undertaking in lots of old spaghetti code.... maybe, I don't know.

But from a "stupid user who doesn't know what the Source engine source code looks like" point of view, I really wish they could just implement Vulkan natively.

The thing is, they already did just that with Source2! They just never bothered to update any of their pre-Dota2 games to use it and just opted to backport certain Source2 features instead.
ridge Dec 17, 2021
The thing is, they already did just that with Source2! They just never bothered to update any of their pre-Dota2 games to use it and just opted to backport certain Source2 features instead.

Yeah, you're right; I should have acknowledged the fact Vulkan is in use on Source 2. I forget this as I only played one Source 2 game, haha
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.