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.
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.
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
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
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.
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
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
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
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 scratchSearch 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...
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.
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
See more from me