Witcher 2: Porting Gone Wrong


Hey, another non-Pandora article! How do you like that? Well, this is however related to porting to Linux -which is not a subject new to this blog- and how commercial support can be seriously flawed when handled by large companies who have no prior experience with it. This happened with the Linux port of The Witcher 2 recently.

The Witcher 2 is an excellent game and I was really looking forward to the Linux version to play it again. It was offered at a very low price when the Linux port was made available a few days ago, so I can’t really say I felt bad for spending something like 4 dollars again to support the port effort to Linux (I bought the Windows version on GOG previously). 10 Gigabytes of download later, launching the game on my Steam Linux desktop, I suddenly realized that something was VERY wrong. The game ran at very low frame rates, while the Windows version ran perfectly on the very same hardware. So, what the hell had happened?


Actually, the port did not happen. There was no rework of the engine to support OpenGL, and apparently no involvment of CD Projekt Red for the translation to Linux. Instead, they used a third party called Eon who apparently makes proprietary wrappers to translate Windows functions calls like DirectX to OpenGL in real time. Very much like what’s happening on Pandora with glshim when we port OpenGL software incompatible with the Pandora, via a real-time translation of OpenGL functions into OpenGLES ones that the Pandora hardware can support natively.

Except that in the case of Witcher 2, this was done very poorly, so poorly actually that the Eon crappy wrapper is much slower than the same game running using WINE on Linux. It apparently does not benefit from multiple cores on your system, and there seems to be a direct correlation between FPS and resolution. When your implementation is worse than the free and open source alternative out there, you’re doing something really, really WRONG.


Of course, this is embarrassing for CD Projekt Red, on so many levels:

  • They clearly did not do proper testing of that version before it was released on Steam. On top of it running very slowly on most decent hardware, it crashed for unknown reasons in several parts of the game. And no, this has nothing to do with distro fragmentation…
  • They did not communicate the fact that it was not a proper native version, but simply a wrapped Windows version. It was fully advertised as “now available for SteamOS”, giving the false impression it was recompiled for it. Not a very good idea to hide stuff like that.
  • They did not realize or bother to check whether the Eon version was actually better or worse than a direct WINE wrapping. That says a lot about the lack of involvement and the fact that they did not care at all about what was happening on the Linux side.
  • They previously announced they were looking at having Linux support for Witcher 3, which now makes everyone wonder if they had a wrapper in mind as well for that one. Is that what they call Linux support?

And this is not just CD Projekt Red who is to blame here. It is a shame that Steam Linux’s team at Valve did not bother to focus more on how this game was faring on Linux configs before accepting to feature it on the store. A proper port would have been an excellent news for Steam Linux and SteamOS, and instead the fact that it’s running very poorly makes it a case in point for those who say that it’s not a good idea to switch to Linux for gaming. It hurts the whole ecosystem at once, and looks like a big farce when one sells a game that’s utterly unplayable on a very decent config.

Naturally, a number of Linux users who purchased the game are angry about this. And seen from other communities, I often read “these Linux assholes are ungrateful”, “why would CD Projekt Red spend time on 1% of gamers?”, and stuff among those lines.

People who are commenting in this way completely miss the point. Linux gaming is a growing opportunity. Nobody expects it to remain at 1% forever. And there is a big lack of AAA games on Linux so far, so any AAA game coming out has the chance to make more money than just 1% because there’s a higher demand for such rare items.

Besides, Linux users usually are more educated and tech savvy than you average Mac or Windows user, and they cannot be fooled as easily, so crappy ports are bound to get bad reputation very quickly in these kind of communities. You cannot avoid doing THE RIGHT THING when it comes to porting. Of course Linux users who purchased an unplayable game should be angry: the port was made in the worst way possible, and basically you purchased a game that was not playable on some hardware that’s 10 times more powerful than the XBox360 on which Witcher 2 ran perfectly in 2011 or 2012. Come on!

In a sense, this major mistake is exactly what was expected to happen one day or another with more and more publishers eying on Linux support. A bad implementation.

Yet in every crisis there are opportunities.


Now it gives a clear signal, in case that was not already the case, that Linux support cannot be expected to be sub-par unless you want to burn your reputation. Hopefully other publishers and developers take note of this, and see the excellent work done by 4k Games on Metro Last Light as an example of what should be done instead. Maybe this outcry will result in the Linux version of Witcher 2 being improved (not that I expect that much anymore…) or at least the Witcher 3‘s Linux port to be handled in a much better way. Hopefully Valve also realizes how detrimental this kind of port is for their upcoming SteamOS platform and plan accordingly to be very careful about AAA ports quality in the future.

This kind of scandal should broaden the market for Linux porting specialists, so if you do have some experience or skills in that area, there’s probably good opportunities waiting for you at GOG / CD Projekt, Valve or other big publishers who announced their interest to support Linux in the near future.

As said, this kind of issue was bound to happen one day or another in the history of Linux ports, it’s just very, very unfortunate it occurred for a game as good as the Witcher 2.

Let’s hope that this becomes the exception among AAA games ports to come.

Leave a Reply

2 Comment threads
0 Thread replies
Most reacted comment
Hottest comment thread
2 Comment authors
Sam WatkinsJamie Gunn Recent comment authors
newest oldest most voted
Notify of
Jamie Gunn

Luckily Steam had this on sale when I picked it up, disappointed to say the least.
Like you said the Linux port Metro Last Light was excellent, It’ll be interesting to see the how Linux versions of Metro redux editions fare.


Well, the good news is that we got it cheap in the sale, and it runs pretty good in wine.
But the people who “ported” it should issue a refund to the developers.
Why the hell did they not just ship it with libwine?