402 ratings
How to fix cs after updates! =)
By vel0 =DD
I made this guide because the updates made by Valve caused a lot of problems. Most of the problems that occured are fixable by the users themselves. This guide will cover all the new features of the updated CS 1.6 (íncluding some stuff for HL and CZ as well), along with explanations and fixes for the most common issues.
Table of contents
1. Introduction
2. New features, console commands and launch options.
2.1 Mouse
2.1.1 Rawinput
2.1.2 Mousethread
2.1.3 Mouse acceleration
2.1.4 Sensitivity
2.2 Graphics, Gui's and Performance
2.2.1 Nofbo, nomsaa and stretchaspect
2.2.2 Low video quality
2.2.3 D3D
2.2.4 Monitor refresh rate
2.2.4 Vsync
2.2.5 FPS
2.2.6 Minmodels
2.2.7 Performance
2.3 GUI's, allowing custom added content and HD models.
2.4 Netcode
2.5 Gameplay
2.5.1 Fastswitch
2.5.2 Filterstuffcmd
3. Most common issues
3.1 Content and installing issues
3.2 Beta issues
3.3 Most graphical issues
3.4 SDL2.DLL issue
3.6 Screen flickering
3.7 Sound
3.8 Snapshot and Screenshot with -nofbo
3.9 Movement, aiming and FPS
4. Summary of new recommended new cvars and launch options:
5. Thanks
1. Introduction
They call me vel0 ;)

My mates:

Config: (includes a few very good tweaks like cl_nosmooth 1, and a moneyscript)

Snapshots are in the guide!



I made this guide because the updates made by Valve caused a lot of problems. Most of the problems that occured are fixable by the users themselves. This guide will cover all the new features of the updated CS 1.6 (íncluding some stuff for HL and CZ as well), along with explanations and fixes for the most common issues. Please note that the new destinations for CS files are:

C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike
C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike_addon
C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike_downloads
C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike_hd

The CS changelog is available at:
The HL changelog is available at:

My original thread is available at:
2. New features, console commands and launch options.
2.1 Mouse
2.1.1 Rawinput
Rawinput is the same thing as directinput. This feature takes mouseinput straight from the mouse, bypassing Windows settings. This makes the computer use low latency - high quality mouse input, which is VERY much better than the old-style input. The cvar to use this is m_rawinput 1. If you wish to play with the old mouse input, use m_rawinput 0. The code for m_rawinput 1 has been confirmed to be the exact same as RInput.exe (v 1.31). I highly recommend that everyone uses m_rawinput 1. m_rawinput didn't work very well at one point, but was fixed with the March 6th public release. m_rawinput has default values 1 on OSX and Linux, 0 on Windows.
2.1.2 Mousethread
To access this feature, you must first add -mousethread as a launch option, which activates the m_mousethread_sleep cvar. This cvar tells CS (in milliseconds) how many times per second the pointer position should be updated from windows (please use m_rawinput 0 with this cvar). m_mousethread_sleep 1 = 1ms sleep time (1000hz updaterate), 2 = 500hz, 10 = 125hz and 0 = maximum hz. This cvar has NOTHING to do with the amount of signals your mouse sends to your computer (mousehz). You do NOT have to have these values synced. It is still unclear if Valve is going to keep the mousethread option, as it was just an attempt to fix m_rawinput 0. I would suggest using a value for m_mousethread_sleep that feels good, or then maybe 0.
2.1.3 Mouse acceleration
This is a hard cvar to configure, since it doesn't work in the exact same way as the "enhance pointer precision"-option in windows does.

If you used mouse acceleration before the updates you can try:
m_customaccel 1
m_customaccel_max 0
m_customaccel X (Here take you old windows sens and multiply it by 2. For example before the update I was using 4/10 on windows, so i should set this value to 0.8)
m_customaccel_scale 0.02
sensitivity X (The exact half of your old sensitivity cvar)
If it doesn't feel right, try using different values for the m_customaccel_* commands, eventually you're going to get it close enough ;)
2.1.4 Sensitivity
The sensitivity cvar didn't get an update itself, but "When you are in a map (i.e connected to a server) you are limited to changing sensitivity at most once every 30 seconds, to prevent game exploits. (alfred-valve)
2.2 Graphics, Gui's and Performance
2.2.1 Nofbo, nomsaa and stretchaspect
Alfred also updated the way CS renders in OpenGL. This came with many bugs, which is why they implemented a new set of launch options: -nofbo and -nomsaa. -nofbo forces CS (HL + CZ as well) to use the old rendering method. The new rendering method also includes multi-sample antialiasing. If you want CS to use the new style of rendering, but you dont want the antialiasing, you can set -nomsaa as a launch option. -nofbo includes -nomsaa.

In the latest public release Valve added the option to use black bars without having -nofbo in launch options. I STRONGLY recommend that everyone (who doesn't have problems with flickering/white boxes/etc) takes away -nofbo from their launch options and uses -strechaspect instead (if you don't want black bars).
2.2.2 Low video quality
In the options (if you have updated cs) you will now find a "low video quality" checkbox. I don't recommend checking this if you have a computer that has no problems running cs. If you check the box the following will happen:
GL_LINEAR_MIPMAP_NEAREST. If you do NOT have it checked, the default is GL_LINEAR_MIPMAP_LINEAR (which looks much better). (alfred-valve)
2.2.3 D3D
D3D was (unfortunately) disabled. This was done for a few reasons: 1) It was REALLY easy to create wallhacks by just configuring .wad files and using D3D. 2) The D3D rendering style was very old and outdated 3) Valve wanted to focus on improving OpenGL so much, that it would be as effective as the old D3D (if you have performance issues with OpenGL, please report to Valve's GitHub, so they can adress these issues).
2.2.4 Monitor refresh rate
With the April 2nd update, Alfred restored the -freq launch option (yay! =)). He stated that most CRT monitors have 100% support for it, but LCDs and LEDs only have partial support. He is still working on improving -freq. If the command isn't compatible with your monitor you have to use RefreshLock. This will automatically use your best refresh rate / resolution. Link for RefreshLock can be found here[]
2.2.4 Vsync
Valve (finally) implemented a new cvar to control vsync; gl_vsync. To activate vsync, use gl_vsync 1, to turn it off use 0. By using gl_vsync 0 you also solve some potential graphical bugs.
2.2.5 FPS
The fps_max cvar also got an update. You can now override the maximum fps rate by using fps_override 1, and then set fps_max to your desired frame rate. In the beginning, people hade HUGE problems with movement when the fps exceeded 100. These problems got solved, but the command is still far from perfect. Valve is still working on fixing movement at 100+ fps. Some people complain about fps_max not being locked to the correct fps, and that it, for example, spikes at 100.5 fps when having fps_max at 100. My personal opinion is that I couldn't give a flying **** about fps being 100 / 100,5, but if it is a problem just set fps_max 99.5 (or 99) in your USERCONFIG.
2.2.6 Minmodels
This cvar got a makeover as well. If you use cl_minmodels 1, you can now configure a specific model that the client will show. The values for each model are:

cl_min_ct X:
2 = GIGN
4 = GSG-9
7 = SAS
9 = SEAL

cl_min_t X:

(Note that you MUST use cl_minmodels 1 to get these working.)
2.2.7 Performance
Set snd_noextraupdate to "1" by default, this value provides better performance for current PCs. (alfred-valve). I definitely suggest not changing this default value.
2.3 GUI's, allowing custom added content and HD models
First of all, we can now find a new checkbox in the video options. It's called "allow custom content". By checking this, you allow CS to use, for example, custom models, sprites, GUI's etc. Now, since most GUI's aren't made for the new Rawinput and low video quality checkboxes, they might look odd. The easiest fix is to use my GUI, which I will constantly be updating according to the new CS updates. ( )

Remember the old CZ models? Valve finally made a really easy-to-use fix. In the new video options you get the option of using "HD models". These are just the ordinary CZ models. To use normal CS models, just uncheck this box. If you want the CZ models, check the box.

For GUI makers, I think this will help you out:

C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\resource\gameui_english.txt

"GameUI_VSync" "Toggle VSync"
"GameUI_HDModels" "Enable HD models"
"GameUI_AddonsFolder" "Enable custom content"
"GameUI_LowVideoDetail" "Low-quality video"
"GameUI_RawInput" "Raw Input"
"GameUI_RawInputLabel" "Enable HQ - Low latency mouseinput"
2.4 Netcode
Valve upped the max rate to 100 000. They also upped default cmdrate and updaterate to 60. The recommended network values are:

rate 100000
cl_updaterate 100
cl_cmdrate 105
ex_interp 0.01
cl_nosmooth 1 (this cvar takes away the smoothing effect, and shows the correct position of the model)

It is going to take a while before most servers have set their sv_maxrate to 100 000, but hopefully most server admins will do it quickly. There is a hot discussion going on about setting a default ex_interp value, but nothing has yet been stated by Valve.
2.5 Gameplay
2.5.1 Fastswitch
They also updated the fastswitch option. It now looks like this:
hud_fastswitch 0 = No fastswitch
hud_fastswitch 1 = Fastswitches on BOTH mousewheel and number keys
hud_fastswitch 2 = The old hud_fastswitch 1. Fastswitches ONLY on number keys, NOT mousewheel.
2.5.2 Filterstuffcmd
There is a very (angry :D ) discussion going on about this new feature. Many plugins broke down because of this new cvar, which restricts what commands the server is allowed to execute on the client. For example, if you use cl_filterstuffcmd 1 the server can no longer bind certain functions to keys. Personally, I think that it provides a better security for the average cs player. On the other hand, I really think Alfred should listen carefully to the feedback that the plugin-developers provide.. This command is probably going to see some changes as to what it restricts, but atm it restricts the server from changing the values of the following cvars:

3. Most common issues
3.1 Content and installing issues
If you don't get the new content at all, just backup configs and whatever you need, then delete the cstrike folder. After that right click counter-strike in steam and delete local content. Then reinstall. Note that the new folder for counter strike is going to be: C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike. Another great way to get rid of these issues are to right-click on cs, selecting properties and verifying the local files. Remember to backup configs and GUI's before doing this.
3.2 Beta issues
At the moment, the easiest way to join the latest CS beta is having both CS and HL INSTALLED. To get access to the CS beta, you have to right-click both HL and CS, select properties and join the beta-beta on BOTH games. Another options is to join the steampipe beta, and then join whichever beta you want. If you aren't using the steampipe beta, then please DON'T use only CS beta, since you might get different .dll and executable issues by doing that.
3.3 Most graphical issues
Verify your install, use -nofbo, gl_vsync 0 and "low video quality". Update video card drivers and delete custom GUI's.
3.4 SDL2.DLL issue
Exists because you are opted into only ONE beta, not both CS and HL. To get rid of the issue, join both betas or then don't join beta at all. Then verify game files / reinstall.
3.5 White squares/odd sprites/green squares
These problems usually exist because people are opted into just the cs 1.6 beta. Please use both HL and CS betas or neither. Use -nofbo in launch options as well, along with gl_vsync 0 and "low video quality" in video options. If nothing else works, update your video card drivers. Another good way to get stuff working is by verifying local content (right-click cs and verify). Use 32-bit color depth in Windows.

Of course, do make sure that you are using 32-bit color depth in both CS and on the desktop!
3.6 Screen flickering
Change your desktop resolution to the refresh rate you want, then problem fixed (alfred-valve). You can also try fps_max 99.
3.7 Sound
While most of the sounds are OK, in-game voices are bugged atm. This is because they updated CS to use the same audio codec as Steam itself. (Miles Sound System (and SpeeX) --> Silk)
3.8 Snapshot and Screenshot with -nofbo
Fixed in the latest public release.
3.9 Movement, aiming and FPS
Please read corresponding section.
4. Summary of new recommended new cvars and launch options:
fps_max 99 (in USERCONFIG)
gl_vsync 0
cl_filterstuffcmd 1
m_rawinput 1
rate 100000
snd_noextraupdate 1
-nofbo (if the new OpenGL makes cs feel odd)
-nomsaa (if gameplay feels OK, but you don't want anti-aliasing.)
5. Thanks!
Thanks for updating CS and HL, Valve! Most of the updates are AWESOME!

Thanks for reading, haters go elsewhere =D
< >
HolidayHoeHoe Dec 14, 2019 @ 12:56pm 
what u mean with m_customaccel X?

also whats ur thoughts about m_mousepeed 1? this doesnt exist in old cs 1.6 so set it to 0?
pitabb Aug 30, 2019 @ 1:06pm 
can you put a new link for the downloads... they don t work for me !
we out Aug 19, 2018 @ 7:07am 
you need to fix this guide, most of the link are removed by steam.
Admiral Eugene Griffon Dec 5, 2016 @ 3:07am 
I have lag problem on CS and CZ.
I can see lag on LAN and Online.
I uploaded my laggy LAN gameplay video to youtube.
I don't know why this happening.

Please look:
< blank > Jun 28, 2016 @ 5:56pm 
Skipperio #2762 Mar 13, 2016 @ 12:43am 
link removed
wholesome teams Dec 20, 2014 @ 4:01pm 
Actually, I just found out that movement isn't penalized but the hitting-the-ground-after-jumping freeze is. The higher your fps the more you are penalized. I don't understand why this happens but you can test it yourself. I will stick with 100 fps.
wholesome teams Dec 20, 2014 @ 3:55pm 
fps_override changes when I restart the game? Also did Valve ever change the movement speed for fps over 100?
7zifu1 Nov 27, 2014 @ 6:20am 
it crashes while i am connecting to a server!
vel0 =DD  [author] Nov 27, 2014 @ 3:52am 
@stevenbenson94 it's really hard for me to know without any other info :D at which part of the game does it crash? Does it crash during start-up? Or does it crash while you are connecting to a server? Or does it crash randomly crash while connected to a server while you are playing?