GPU benchmarking and stress testing in Linux
Want to measure the best performance of your GPU ? Or ever thought about how well your GPU will perform under extreme load ?
Well, these things could be done easily,with some GPU benchmarking tools, we are going to do it in three different way with
1. Glxgers from mesa-utils
Glxgears is a part of the open source Mesa OpenGL rendering utilities, available with the mesa-utils Debian/Ubuntu package. It could be used as a bare bone GPU testing tool, simply run the command bellow and measure the FPS value.
sudo apt-get install mesa-utils
The FPS value should be around 60 FPS, but performance will be dramatically improved if you use the vblank_mode=0 environment variable, I got over 6000 FPS performance with a Intel HD 3000 GPU.
2. Glmark2 by Linaro team
This is another popular open source GPU stress testing and OpenGL benchmark tool, forked from the original Glmark . available for Linux and Android platform.
Ubuntu provides glmark2 binary packages, so it could be installed very easily in any ubuntu based distro. Just run the command, this will install the latest version.
sudo apt-get install glmark2
Unfortunately glmark2 binary packages are not available in Debian repository, but you can compile and install latest glmark2 from source in Debian.
Testing: Now just type
glmark2 in a terminal, this will open up the default 800×600 pixel window rendering various 3D objects like a horse, a cat, a rabbit etc. etc. The full benchmarking test will take about 8 minutes to finsih, finally check the results. The test returned me an average 1000 score for a Intel HD 3000 GPU.
Stressing the GPU: Running glmark2 requires a lot of GPU processing power, so looping the process will simulate a heavy stress on the GPU.
Benchmark a NVIDIA GPU with glmark2: I have a laptop with switchable NVIDIA Optimus GPU (GeForce GT 540M), so tried to benchmark it with glmark2. Tested it in every way I know, but the result was always aweful. The GPU never scored beyond 446, I did 4 tests, perhaps there is some compatibility issue of glmark2 with NVIDIA.
Commands I used to test glmark2 with NVIDIA optimus GPU.
optirun glmark2 optirun -vv -b virtualgl -c jpeg glmark2 vblank_mode=0 primusrun glmark2
3. Furmark from geeks3d’s GpuTest
This is the tool with real graphics performance testing capability. Furmark is a part of geeks3d’s GpuTest program, this is not an open source software, but a freeware, could be downloaded for free from this link www.geeks3d.com/gputest/download . Download the Linux specific one, it will be a zip file. Assuming you have downloaded it in Downloads folder, just unzip and and run it.
cd ~/Downloads/ unzip GpuTest_Linux_x64_0.7.0.zip cd GpuTest_Linux_x64_0.7.0/ ./GpuTest /test=fur /width=800 /height=600 /benchmark
This will open up a 800×600 pixel window rendering a detailed 3D object like bellow.
This test returned me a choppy and lagging result, avarage 9-10 FPS performance with a Intel HD 3000 GPU.
I tested it again with the discrete NVIDIA GPU,
cd ~/Downloads/GpuTest_Linux_x64_0.7.0/ optirun -c jpeg ./GpuTest /test=fur /width=800 /height=600 /benchmark
At this time results were satisfactory, 18-20 FPS average, quite smooth and-lag free performance.
Stressing the GPU with furmark: Running furmark imposes a lot of presure on the GPU, the command bellow will run the program on a 1024×640 pixel window in a loop.
./GpuTest /test=fur /width=1024 /height=640
The program GpuTest has lots of other options and different benchmarking utility, read the relevant README.txt file. Test it with other options, general rule is less the window size greater the performance.
There are some more feature reach and heavy GPU benchmark tool by the unigine corp, unigine heaven, unigine vally, etc. etc. I’m not talking about them more here, you can always download and test them from here.
If you have any further question, jsut ask them, and don’t forget to share this tutorial with your friends.