I am not going to say much, cause I am quite a bit disappointed about my first impressions in Steam Linux client so far. Things are in motion, hence I cannot make safe assumptions yet. Both SS3 and TF2 are currently being tested under closed-beta by 5000 testers in Linux (basically in Ubuntu 12.04). However, after 3 days of benchmarking I could say that there’s a long way to the top if Steam Linux wants rock n roll.
[toggle title=”My PC specs”]
Speed: 2400 Mhz
2 logical processors
2 physical processors
Operating System Version:
Ubuntu 12.04.1 LTS (32 bit)
Kernel Name: Linux
Kernel Version: 3.2.0-33-generic-pae
X Server vendor: The X.Org Foundation
X Server release: 11103000
Driver: NVIDIA Corporation GeForce GTX 465/PCIe/SSE2
Driver Version: 4.3.0 NVIDIA 310.14
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 60 Hz
Number of Monitors: 1
Number of Logical Video Cards: 1
Primary Display Resolution: 1280 x 1024
Desktop Resolution: 1280 x 1024
Primary Display Size: 13.31″ x 10.63″ (17.01″ diag)
33.8cm x 27.0cm (43.2cm diag)
Primary Bus: PCI Express 16x
Primary VRAM: 1023 MB
Supported MSAA Modes: 2x 4x 8x 16x
Audio device: Realtek ALC883
RAM: 3278 Mb
UI Language: English
Microphone: Not set
Total Hard Disk Space Available: 34593 Mb
Largest Free Hard Disk Block: 6146 Mb
In both Windows and Linux Steam, the autodetect feature seems to be working properly and according to Steam my optimal settings are: CPU (Low), GPU Core (High) and GPU Mem (High). Okay, fair enough. Let’s see some results…
I’ve tested Serious Sam in the first three stages: Summer in Cairo, Into the Spider’s Nest, Broken Wings. I am using nVIDIA 310.14 experimental drivers, Ubuntu 12.04 32bit, Kernel 3.2 PAE and Undirect Fullscreen Windows option enabled.
Supposing that extra effects are not going to work in Linux, I manually disabled them. So there is no Anti-Aliasing, MSAA, AF, SSMA etc. However, Ubuntu maxes at 47 FPS while Windows go up to 122 FPS.
Hmmmm… I sense disturbance in the Open Source.
PS: in order to run the benchmark you have to run from console (`) the command bmkStartBenchmarking(start,duration) where start and duration are integer numerical values. The problem is that there is a bug with comma in console mode, thus go to ~/Steam/SteamApps/common/Serious Sam 3/Temp/RCon/History and insert the command (with comma) in the end of file Local.txt. The go back in game and press Up Arrow 😉
It seems that nVIDIA Settings tends to overwrite Serious Sam 3 settings. So disabling VSync into SS3 doesn’t effect the game at all because nVIDIA X-Settings panel has VSync enabled by default. Simply put V-Sync keeps your framerate under your monitor’s refresh frequency (aka 60Hz, meaning under 60 FPS). So, I had to turn this globally off and then re-run the benchmarks. The performance boost was significant as expected.
Ok now let’s see some bechmarks
Ubuntu maxes at 67 FPS (before 47 FPS) while Windows go up to 122 FPS. Now let’s try the new version of Serious Sam 3 public beta, version 172672. More information can be found at Steam Discussions .
[toggle title=”Public Beta 172672 Bug Fixes”]
Update 172672 contains a number of general fixes in the game, as well as some that are specific to the Linux version.
– IMPORTANT FOR LINUX: Most of the weird performance problems in previous builds were caused by performance throttling (aka power saving) features on various CPUs not correctly identifying that the game is running and continually jittering between low and high performance modes (several times per second sometimes!). This build adds a workaround for this which should hopefully prevent the symptoms from being so extreme. It is not perfect however, as there might still be a few percents of performance to squeeze out. The recommended solution is to turn off such features in BIOS for Linux machines. They can be found in BIOS under names such as SpeedStep, Cool’N’Quiet, C1E, PowerNow!, Power Saving, CPU Throttling, Dynamic Frequency Scaling, or something else – depending on your BIOS.
– Added a script that offers to automatically install libpci.3 on linux if it is missing.
– Fixed graphics corruption under OpenGL if game is minimized or “alt-tabbed” while it is loading content.
– Fixed screen-shot grabbing and manual save-game thumbnails not working under OpenGL.
– OpenGL library can now load even if some vendor dependent functions are missing.
– X11 libraries on Linux are now dynamically loaded, so game can properly report and error if something is missing.
– Dedicated server on Linux no longer requires X11 to be installed.
– Fixed problems with filenames of wrong case that happened only with Linux dedicated server.
– Full support for language packs in Workshop. Language mods can now work even in pure (non-moddable) version of the game, and don’t require any customization from user side. Just subscribe to them.
– Workshop packages menu is now also available in non-moddable version of application (this allows enabling/disabling of language packs).
– User is now properly notified when Steam Workshop content download fails.
– Fixed issues that might have prevented some user accounts from uploading to Workshop.
– SeriousEditor now displays Steam Workshop sync progress in status bar.
– Upload to Steam Workshop command is no longer available until Steam Workshop sync is finished. Previuously, it locked up the application.
– Fixed an issue causing clients to always see weapon change on HUD at game start.
– Fixed a lockup happening if spectator cameras are linked in a closed loop. This only happened with user-made levels.
– Weapon change attempt is now correctly being indicated on HUD if performed during sprint.
– Fixed popup menus in Serious Editor sometimes going off the bottom of the screen in multimonitor setups.
– Fixed duplicate directory entries being shown in Serious Editor in file browsing for directories inside user-made .gro files.
– Added vertex merge when importing fbx meshes.
– Added facilities in Serious Editor to automate editing on entities from console scripts.
– Added cfuncs edtGetMemberValue(strUserDataPath) and edtSetMemberValue(strUserDataPath, value) used to change entity properties.
– Added cfunc edtSelectEntityPropertyByID(iEntityID).
All in all Build 172672 for Serious Sam 3 is now available in beta “publicbeta”, which does not require a password. It contains a number of general fixes in the game, as well as some that are specific to the Linux version.
To install the beta, do this:
– locate the game (Serious Sam 3 in this case) in the Steam’s “Library” panel
– right click and invoke “Properties”
– select the “Betas” tab
– choose “publicbeta”
Now wait a little bit while Steam is downloading the new launcher and then re-run the benchmarks. Let’s see some results.
Ubuntu maxes at 95 FPS (before 67 FPS) while Windows go up to 122 FPS.
It is important to disable any Powersaving/Green settings in your BIOS because Serious Sam 3 has problems (only in Linux) with CPU frequency. Most of the weird performance problems in previous builds were caused by performance throttling (aka power saving) features on various CPUs not correctly identifying that the game is running and continually jittering between low and high performance modes (several times per second sometimes!). This build adds a workaround for this which should hopefully prevent the symptoms from being so extreme. It is not perfect however, as there might still be a few percents of performance to squeeze out. The recommended solution is to turn off such features in BIOS for Linux machines. They can be found in BIOS under names such as SpeedStep, Cool’N’Quiet, C1E, PowerNow!, Power Saving, CPU Throttling, Dynamic Frequency Scaling, or something else – depending on your BIOS.
In case you don’t know how to disable this feature in BIOS, use our reader’s Majilo instructions
[toggle title=”How to setup Governor Indicator for CPU Freq”]
ou can change governor via GUI by installing indicator-cpufreq or via command line :
# Show available Scaling Governor Profiles
# Then show the current Scaling Governor Profile
# Change to root
# Then change to Performance Profile if available
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# Show actual frequency
publicbeta build can by installed when you right click on game set Properties and go to the betas tab .Let us know results 🙂
More info at: http://forum.ubuntuxtreme.com/viewtopic.php?f=35&t=25
This article is based upon to my hardware only. It’s quite possible that using different hardware combination you may get better results. Different drivers, different kernel, different compiz settings, everything matters. Things are in motion and Steam Linux is currently in beta phase. I am not “bitching” about performance, but informing everyone that if you are going to play games in Steam you may (possibly) need better hardware than Windows. However it’s too early to make such statements.
Bench, Test, Change, Bench, Test, Change 😀