Patreon Logo Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal Logo PayPal. You can also buy games using our partner links for GOG and Humble Store.
Latest Comments by beko
Pillars of Eternity: Definitive Edition announced for later this month, new content included
7 Nov 2017 at 11:52 pm UTC

@hummer010: So I've to quote myself now?
Quoting: beko
The new Deadfire Pack DLC will also be made available for free to all existing (and future) owners of Pillars of Eternity on Windows, Mac, and Linux PCs to thank them for their ongoing support of what has become one of the world’s most beloved RPGs.
Says the website.
If it doesn't show up on release you may drop them a mail. I'll do it too in that case :)

Superposition, the latest benchmark by Unigine, has been released
7 Nov 2017 at 11:04 pm UTC

I know this is old but I started to play around with this benchmark today.

Run some tests today. Looks nice. My benchmark results are lower bottom compared with the leaderboard though. I can hardly find tests with my GPU type and OpenGL (and especially not with my CPU). Sidenote: It has zero impact whether I overclock my CPU hard for this test or not. Guess my bottleneck is PCIe 2.0.. well anyway..

Unsatisfied with the provided filters on the leaderboard I fired up my developer console and watched the traffic. Oh.. this is an React app with json communication. Interesting. Looking closer at the json data I find undisplayed information like

* user.avatarUrlx4
* vulkanVersion
* sliMode
* crossfireMode
* otherGPUs
* graphicsApi

The query itself looks ugly af since it's basically GET parameters with values that are JSON but urlencoded from a String with many spaces resulting in plents of pointless garbage (like %20 for the empty char). Why someone would do this is beyond me. Stripping any useless %20 gives us a way better overview. urldecoding the whole thing now gives a clear picture.

Example of an original urldecoded and cleaned request:
Spoiler, click me
https://api-benchmark.unigine.com/v1/benchmark/results?select={"result":["id","user","cpus","activeGpus","activeGpusCount","score","motherboard","os","graphicsApi","memoryTotalAmount","fpsMin","fpsMax","fpsAvg","leaderboardPosition","added","preset"],"cpus":["vendor","name","baseClock","maxClock","physicalCoresCount","logicalCoresCount"],"activeGpus":["chipVendor","chipName","chipCodename","deviceVendor","deviceName","driver","driverVersion","baseGpuClock","baseMemoryClock","vram","temperatureMin","temperatureMax","gpuClockMin","gpuClockMax","memoryClockMin","memoryClockMax","utilizationMin","utilizationMax"]}&where={"result":[["isGpusCountBestScore","eq",true],["preset","eq",2],["activeGpusCount","eq",1]]}&sort={"result":{"fpsAvg":-1}}&limit=50&skip=0

Hm.. looks like the server side filter works with some sort of typical REST pattern. I feel reminded to SequelizeJS and Loopback. Let's inject to the results the 'chipVendorId' that the onpage search filter suggests when I type "NVIDIA". For this I converted the where parameter to a json (for comfort), added my String chipVendorId to it's Array and urlencoded the whole thing again. Bingo. The API returns my request _including_ the otherwhise ommited chipVendorId so I guess we're free to manipulate the query as it pleases us.

Let's see what the id for OpenGL is. There are some entries for Linux Mint and Ubuntu. Wild guess at this point: graphicsApi changes between 1 (DirectX) to 2 (OpenGL). Mayhap Vulkan will be 3 (atm it gives internal server error).

Onwards to the search query. It's url parameter is where and the important object is result. First I tried appending graphicsApi but the server doesn't seem to like more than _3_ options for result. Since graphicsApi is a child of result judging by the examined reply JSONs I need it exactly here so I sacrificed the option activeGpusCount and replaced it with graphicsApi. The object for where looks now like this:

"result":[["isGpusCountBestScore","eq",true],["preset","eq",2],["graphicsApi","eq",2]]

"preset" is btw just "PreSet", one of the options in the performance type dropdown. It looks like this:

<select class="filter-preset" name="preset">
  <option value="1">720p Low</option>
  <option value="2">1080p Medium</option>
  <option value="3">1080p High</option>
  <option value="4">1080p Extreme</option>
  <option value="5">4K Optimized</option>
  <option value="6">8K Optimized</option>
</select>


More fun: When "preset" is removed completly from the query I get _all_ results (with default limit 50 - please be nice and request in batches of said 50 using skip and limit parameters or the server may outright ban your IP *cough*)

So forging my query gave me a total of 42 results with OpenGL. For those who care (the reply should be JSON - simply do the following curl request (fiddle with the parameter at will) and view the result opengl-users.json in some JSON parser/viewer (there are some online) to get a better overview:

curl 'https://api-benchmark.unigine.com/v1/benchmark/results?select=%0A%7B%0A%22result%22%3A%5B%22id%22%2C%22user%22%2C%22cpus%22%2C%22activeGpus%22%2C%22activeGpusCount%22%2C%22score%22%2C%22motherboard%22%2C%22os%22%2C%22graphicsApi%22%2C%22memoryTotalAmount%22%2C%22fpsMin%22%2C%22fpsMax%22%2C%22fpsAvg%22%2C%22leaderboardPosition%22%2C%22added%22%2C%22preset%22%5D%2C%22cpus%22%3A%5B%22vendor%22%2C%22name%22%2C%22baseClock%22%2C%22maxClock%22%2C%22physicalCoresCount%22%2C%22logicalCoresCount%22%5D%2C%22activeGpus%22%3A%5B%22chipVendorId%22%2C+%22chipVendor%22%2C%22chipName%22%2C%22chipCodename%22%2C%22deviceVendor%22%2C%22deviceName%22%2C%22driver%22%2C%22driverVersion%22%2C%22baseGpuClock%22%2C%22baseMemoryClock%22%2C%22vram%22%2C%22temperatureMin%22%2C%22temperatureMax%22%2C%22gpuClockMin%22%2C%22gpuClockMax%22%2C%22memoryClockMin%22%2C%22memoryClockMax%22%2C%22utilizationMin%22%2C%22utilizationMax%22%5D%0D%0A%7D&where=%7B%0A%22result%22%3A%5B%5B%22isGpusCountBestScore%22%2C%22eq%22%2Ctrue%5D%2C%5B%22graphicsApi%22%2C%22eq%22%2C2%5D%5D%7D&sort=%7B%0A%22result%22%3A%7B%22fpsAvg%22%3A-1%7D%0A%7D&limit=50,&skip=0' -H 'Pragma: no-cache' -H 'Origin: https://benchmark.unigine.com' -H 'Accept-Encoding: gzip, deflate, sdch, br' -H 'Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4' -H 'User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' -H 'Accept: application/json, text/plain, */*' -H 'Cache-Control: no-cache' -H 'Connection: keep-alive' -H 'DNT: 1' --compressed > opengl-users.json

The parameters look decoded like this (and have to be urlencoded again before requesting them as application/json!):

?select={"result":["id","user","cpus","activeGpus","activeGpusCount","score","motherboard","os","graphicsApi","memoryTotalAmount","fpsMin","fpsMax","fpsAvg","leaderboardPosition","added","preset"],"cpus":["vendor","name","baseClock","maxClock","physicalCoresCount","logicalCoresCount"],"activeGpus":["chipVendorId", "chipVendor","chipName","chipCodename","deviceVendor","deviceName","driver","driverVersion","baseGpuClock","baseMemoryClock","vram","temperatureMin","temperatureMax","gpuClockMin","gpuClockMax","memoryClockMin","memoryClockMax","utilizationMin","utilizationMax"]}&where={"result":[["isGpusCountBestScore","eq",true],["graphicsApi","eq",2]]}&sort={"result":{"fpsAvg":-1}}&limit=50,&skip=0

The interesting thing: Not all of these are Linux. In fact some report Windows. Mayhap some Wine users? Some quick and dirty stats using sort and uniq in the following spoiler. Yes, there are more GPUs then users. I removed that GPU count filter above and some have SLI or whatever:
Spoiler, click me

  • 26 "distributionName": "Unknown distribution or Windows"

  • 1 "distributionName": "Debian GNU/Linux"

  • 2 "distributionName": "elementary OS"

  • 1 "distributionName": "Gentoo"

  • 10 "distributionName": "Linux Mint"

  • 2 "distributionName": "Ubuntu"

  • 1 "name": "Core i3-3220"

  • 4 "name": "Core i5-3570"

  • 1 "name": "Core i5-4440S"

  • 1 "name": "Core i5-4670"

  • 1 "name": "Core i5-4690"

  • 1 "name": "Core i5-6600"

  • 2 "name": "Core i5-7500"

  • 1 "name": "Core i7-3770K"

  • 2 "name": "Core i7-4770"

  • 1 "name": "Core i7-4770K"

  • 1 "name": "Core i7-5820K"

  • 1 "name": "Core i7-5960X"

  • 2 "name": "Core i7-6700K"

  • 3 "name": "Core i7-6800K"

  • 1 "name": "Core i7-7700"

  • 4 "name": "Core i7-7700K"

  • 4 "name": "Core i7 X 980"

  • 1 "name": "Genuine 0000"

  • 1 "name": "FX-8350 Eight-Core Processor"

  • 1 "name": "Phenom II X6 1090T Processor"

  • 6 "name": "Ryzen 5 1600X Six-Core Processor"

  • 1 "name": "Ryzen 7 1700X Eight-Core Processor"

  • 1 "name": "Ryzen 7 1800X Eight-Core Processor"

  • 8 "chipName": "GeForce GTX 1060 6GB"

  • 8 "chipName": "GeForce GTX 1070"

  • 6 "chipName": "GeForce GTX 1080"

  • 9 "chipName": "GeForce GTX 1080 Ti"

  • 1 "chipName": "GeForce GTX 580"

  • 1 "chipName": "GeForce GTX 660"

  • 2 "chipName": "GeForce GTX 980"

  • 5 "chipName": "GeForce GTX 980 Ti"

  • 4 "chipName": "GeForce GTX TITAN"

  • 1 "chipName": "Radeon R9 Fury Series"

  • 1 "driverVersion": "16.50.2011-161223"

  • 1 "driverVersion": "373.06"

  • 1 "driverVersion": "375.20"

  • 1 "driverVersion": "375.39"

  • 1 "driverVersion": "375.66"

  • 4 "driverVersion": "378.09"

  • 2 "driverVersion": "378.13"

  • 1 "driverVersion": "381.22"

  • 2 "driverVersion": "381.65"

  • 2 "driverVersion": "382.05"

  • 2 "driverVersion": "382.13"

  • 2 "driverVersion": "382.33"

  • 3 "driverVersion": "382.53"

  • 4 "driverVersion": "384.59"

  • 1 "driverVersion": "384.69"

  • 1 "driverVersion": "384.76"

  • 3 "driverVersion": "385.28"

  • 11 "driverVersion": "385.41"

  • 1 "driverVersion": "388"

  • 1 "driverVersion": "388.13"



This is seriously lacking some AMD CPUs! Anyway. I got some data to compare and I'm happy now :) Feel free to play with this, too. For the lazy.. https://pastebin.com/1zHSJKCR [External Link]

Disclaimer: This is not hacking. It's a public, keyless (but undocumented) API. (I didn't even try the other announced but probably mean Access-Control-Methods: POST, DELETE, PATCH).

Pillars of Eternity: Definitive Edition announced for later this month, new content included
7 Nov 2017 at 12:53 pm UTC Likes: 2

The new Deadfire Pack DLC will also be made available for free to all existing (and future) owners of Pillars of Eternity on Windows, Mac, and Linux PCs to thank them for their ongoing support of what has become one of the world’s most beloved RPGs.
Says the website.

So what :-)

Transport Fever patched again with some good quality of life improvements
6 Nov 2017 at 5:55 pm UTC

I do and finding stucked trains was a lot of work. A notification is highly appreciated. Wonder why this was not around before.

F1 2017 is officially coming to Linux, releasing November 2nd from Feral Interactive
27 Oct 2017 at 11:21 pm UTC

Quoting: rustybroomhandleThis is what you want then. :)
wew.. flashback :D

The developers of Ashes of the Singularity: Escalation are working on the Linux version
23 Oct 2017 at 1:03 pm UTC Likes: 1

Quoting: Eike... or maybe because "Vulkan" is the German word for, well... a vulcan.
This works both ways. I simply didn't notice this error at all :D

City-building strategy game 'Banished' is no longer having a Linux port
14 Sep 2017 at 7:53 am UTC

Quoting: cRaZy-bisCuiTActually I expected this to happen a few years ago already. It was pretty damn clear there won't be any port since it got postponed all the time.

I'm a bit sad since the game is supposed to be fun when a few mods. The game itself has not enough content.

The problem about the port was the engine was self-written without any usage of SDL whatsoever. It's pretty hard to manage rendering, I/O and stuff without anything like SDL, especially if the code should run on at least 3 different OS.
This. I remember some dev blogs talking about all the X issues and stuff. I guess reinventing the wheel tool a lot of time. There's a reason why libs like SDL are used by many devs. It eases so much pain.

The Frostbite engine apparently has partial Linux support but that doesn’t mean we’ll get ports anytime soon
10 Sep 2017 at 9:18 pm UTC

Quoting: fagnerlnI hate people like you, that's one of reasons that I prefer stay away of discussions on linux sub-reddit.
So.. you just signed up to jump into this discussion here?