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.
26 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 came back to check 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.
See more from me
The comments on this article are closed.
14 comments
Page: 1/2»
  Go to:

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
Quoting: vipor29would 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
Quoting: ZigZag
Quoting: vipor29would 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
Quoting: vipor29i 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
Quoting: ridgeI 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
Quoting: ElectricPrism
Quoting: ridgeI 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.
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.
Buy Games
Buy games with our affiliate / partner links: