Recently, ‘Counter-Strike: Source‘ is made available in the Linux Steam store. This popular shooter has been around since 1999, and available in different flavors (CS 1.6, CS:S, CS:CZ, CS:GO). The classic version of the game counts over 10K servers today in Linux Steam client. How does the top shooter perform on Linux Ubuntu? Can the game keep up with Windows? …
Measurements
To get an insight at the performance between the two systems performance and do safe measurements the following method is used; A demo is loaded 7 times, the average fps per session is saved. The outer two -min/+max values are left out. The result is the average of the 5 remaining values.
7x runs per session |
||||||
165.1 |
167.9 |
165.6 |
166.8 |
166.4 |
165.7 |
168.2 |
average fps out of 5 = |
166.5 |
|
|
|
The results are based on 180+ benchmarks!
System specifications
The benchmarks are run on ‘Windows 7 Ultimate’ and ‘Linux Ubuntu 12.04’ using the current Nvidia driver. Which is v313.96 on Windows, and build v313.09 on Linux. Both systems use the default configuration and setup. No additional changes were made to the default system configuration.
CPU |
AMD Phenom II X4 955 @ 3210 MHz |
Motherboard |
ASUS M4A87TD |
Graphic |
nVIDIA GeForce GTX 660 (GK106) [AsusTek] @ 1137 Mhz |
Memory |
4096MB Kingston PC3-10600 DDR3 SDRAM @ 668.9 MHz |
Hard Disk |
PLEXTOR PX-128M5S |
Graphic settings
On Windows, ‘Counter-Strike: Source’ has more advanced graphics options. It supports an higher version FSAA and Anisotropic filtering compared to Linux. The graphic configuration files have been modified so each operating system uses the same settings so we can asure fair benchmark results
Features |
High |
Medium |
Low |
build |
5198 |
5198 |
5198 |
ram |
4035 |
4035 |
4035 |
cpu_speed |
3200 |
3200 |
3200 |
width |
1920 |
1920 |
1920 |
height |
1080 |
1080 |
1080 |
Model Detail |
High |
Medium |
Low |
Testure Detail |
Very High |
Medium |
Low |
Shader Detail |
High |
High |
High |
Water Detail |
Reflect All |
Reflect World |
None |
Shadow Detail |
High |
Medium |
Low |
Antialiasing mode |
8x MSAA |
2x MSAA |
None |
Filtering mode |
Anisotropic 16X |
Anisotropic 4X |
Trilinear |
Motion blug |
Enabled |
Enabled |
Enabled |
High Dynamic Range |
Full |
Full |
Full |
AASamples |
8 |
2 |
1 |
AnisoLevel |
16 |
4 |
1 |
SkipMipLevels |
-1 |
1 |
2 |
ShadowDepthTexture |
1 |
0 |
0 |
MotionBlur |
1 |
1 |
1 |
Windowed |
0 |
0 |
0 |
Trilinear |
0 |
0 |
1 |
ForceHWSync |
1 |
1 |
1 |
NoWaitForVSync |
1 |
1 |
1 |
DisableSpecular |
0 |
0 |
0 |
DisableBumpmapping |
0 |
0 |
0 |
EnableParallaxMapping |
0 |
0 |
0 |
ZPrefill |
0 |
0 |
0 |
ReduceFillRate |
0 |
0 |
0 |
RenderToTextureShadows |
1 |
1 |
0 |
FlashlightDepthTexture |
1 |
0 |
0 |
RealtimeWaterReflection |
1 |
1 |
0 |
WaterReflectEntities |
1 |
0 |
0 |
Overall Linux performance
After we turn on all the fancy features at the Nvidia Settings manager and enable each feature in CS:S we toggle a graphic feature on/off. To see it’s effect on the game performance.
Comparison Windows vs Linux Benchmark
This session compares Windows and Linux game performance. The benchmark is divided into 3 segments; low / medium / high – using the graphic setting you find above.
- [Win] Low settings – no bloom
- [Win] Medium settings – no bloom
- [Win] High settings – no bloom
- [LNX] Low settings – no bloom
- [LNX] Medium settings – no bloom
- [LNX] High settings – no bloom
The average FPS of each session is displayed below. Grouped by matching graphic settings low / medium / high – with and without bloom. Red represents Windows, and blue is Linux.
- win vs lin: Low detail settings
- win vs lin: Medium detail settings
- win vs lin: High detail settings
Windows always gives you a higher average fps compared to Linux, but not by much. However if you turn on full-bloom effects – the performance on Linux drops quite a bit. But the overall performance is pretty much the same.
Bloom benchmark
It seems bloom effect have a big effect on the game performance. If the gamer are happy with all the shiny and glows in games is a whole different story. But bloom, effects game performance that’s for sure.
- no-bloom
- basic bloom
- full bloom
There are three bloom settings; no-bloom / basic-bloom / full-bloom. There is an additional setting “Use bloom-effect when available“. Not sure what it’s for, but it’s effects is minimal.
Only ‘full-bloom‘ has serious effect on the average FPS.
Conclusion
Valve has done a good job porting the game to Linux. It performs pretty much the same as it would on Windows, however bloom effect have a negative influence on game performance with high settings! Windows features more advanced graphics options. CS:S supports a higher version FSAA and Anisotropic filtering compared to Linux. But overall the difference between the two is very slim – only a couple fps (1-2%)
The benchmark results are based on the default system configuration and no optimization or tweaking to gain performance have been applied. Compared with maximum image quality and using the same settings on both systems.
- Similar performance on both systems
- Lots of graphic settings
- Graphics are pretty much the same
- Windows got higher FSAA/Anisotropic filtering
- DirecX vs OpenGL
- Bloom is causing FPS drop at high-settings
When one aims at performance and tweaks around a bit, you probable get a whole different result. Maybe something you can test: later this week ‘Counter-Strike: Source’ giveaway!!
Awesome comparison! The Linux built is impressive considering it’s a port. I’m happy with it, it’s not worth booting into Windows over a couple FPS. Good work. 😀
Awesome work on the comparison; it would be interesting to see how other Linux systems compare to each other too, since I have heard that kwin is faster than the default Unity in Ubuntu.
I get a 10-30% increase in FPS in all games / openGL apps in Ubuntu with Nvidia by doing the following:-
– enable ‘unredirect fullscreen windows’ in CCSM
–> Navigate to ccsm Composite – Enable unredirect fullscreen windows
3. disable ‘sync to vblank’ (openGL settings) with nvidia-settings
Thats improve all openGL performance for full screen apps.
In KDE you can enable ‘suspend desktop effects on fullscreen apps’ for the same effect.
Try that and re-do the tests I bet Linux equals if not beats the windows score then
That setting should be enabled by default in KDE, but it can’t hurt to check.