Civilization: Beyond Earth - Much Slower on Linux ?

By

I did not make a specific post for the release of Civilization: Beyond Earth, since I mentioned anyway several times it was about to come out within December. Anyway, it’s out, and while it seems to be another quality port from Aspyr, I’m afraid it is lacking, performance wise. Phoronix has just issued a good amount of benchmarks for that game using both nVidia and AMD GPUs. AMD GPUs perform very poorly, as expected, but on the nVidia side, things are far from being rosy as well.

I have compiled the following data from a couple of different sources (For the Linux performance, Phoronix. For the Windows performance, AnandTech and LegitReviews). It’s important to note that The Windows data is at Full HD (4x MSAA on Anandtech, 8x MSAA on Legitreviews), Ultra settings. Phoronix did not disclose anything else apart from the resolution. I am assuming he tested it in Ultra Settings on Linux as well, but this may not be true. If only “High Settings” are selected, please bear in mind the Windows performance would be even higher than the below results.

BenchmarkCIVBE

A couple of observations:

  • Linux performance on nVidia is always inferior to the Windows performance. Nothing unexpected here.
  • Linux performance is almost on par with the Windows performance on GTX750Ti, GTX760 and GTX680.  Between 10-20% difference which is very respectable for a port.
  • However, the Linux performance seems completely capped on higher end GPUs: the GTX780 Ti performs massively better on Windows than a GTX680, but on Linux they have about the same performance. Even more shockingly, there is virtually no framerate difference between the GTX970 and the GTX980 on Linux while the 980 is clearly way more powerful on the paper. On Windows, the gap between the GTX970 and GTX980 can clearly be seen, and while the Linux performance does not increase, the gap between the Windows and Linux performance gets dramatically bigger. So much that on GTX980, the Linux version only has about half the framerate of the Windows version.

Not sure what is driving such large differences on the most effective cards out there - is the blame only to put on the nVidia drivers, or is Aspyr’s port in question, or a mix of both ? Whichever it is, it’s a shame that users spending the cash to get such a great card as the GTX970 can not reap the benefits on Linux. The Steam Machines are supposed to come out in 2015, and more than the gap in the number of games between Windows and Linux, I am more concerned about the gap in performance for most games out there. Losing 10-20% is somewhat understandable, losing 40-50% is clearly not anymore.

EDIT: someone asked for AMD benchmarks as well. The following data is a mix from Phoronix, Legitreviews (ultra settings, 8x MSAA) and benchmark.pl (ultra settings). Since AMD has introduced the Mantle API for Windows recently, I am including the Mantle results on top of DirectX.

BenchmarkATI

A few remarks here as well:

  • The Linux performance is poor overall, and is capped no matter the card at about 33-34 fps. This is likely due to the state of proprietary drivers, still far lacking on the Linux platform.
  • On Windows there is a linear progression of performance from one card to another, and on the R9 290 you get more than double the framerate on Windows with DirectX.
  • Mantle seems to offer superior performance on Windows, but it makes sense mostly for the R9 290.
  • Mantle is not yet available for other platforms, but as you can see there is plenty of gap in terms of pure OpenGL vs DirectX performance without even discussing Mantle at this stage…

The conclusion, is once more obvious: if you are serious about gaming with recent titles, you will get much better framerates on nVidia GPUs on Linux versus AMD (and better OpenGL support anyway).

EDIT: Aspyr reacted on the r/linux_gaming subreddit and indicated the following related to Linux performance:

No promises but it’s not being ignored. Linux performance is something we are looking at and if it’s under our control we will improve.

EDIT2: Another post from Aspyr went into more details:

Understanding performance on games we’ve already released will also improve future games. You have to remember that we’ve only just begun Linux game ports and while we’re proud of the quality we’ve shipped, there’s always room for improvement. The experience, processes, tools, and libraries we use for porting are pretty mature on Mac (nearly two decades of porting) but we have a lot of room for improvement on Linux (it’s only been six months since Civ 5, our first release). Also, understanding how we can port games better keeps us proud of our work and our users happy.