We do often include affiliate links to earn us some pennies. See more here.
Today is a good day. I had the pleasure of speaking to Feral Interactive on their porting work for the Linux version of XCOM and games in general and here it is in all its glory.

Can you introduce yourself and tell us what you do at Feral?

My name is Edwin Smith and I am Head of Production at Feral. My main job is to facilitate other people’s work. Most of my time is spent co-ordinating our internal developers and QA with the companies with whom we work. The aim is to make sure that there is a good flow of communication, so that we avoid misunderstandings and hopefully head off problems before they arise.

Why did Feral decide to get into Linux?

The catalyst has been the Steam OS and the Steam Machine. That convinced us that Linux could support AAA games.

OS X is a UNIX-based platform so from a development perspective Linux feels like a natural extension of what we already do as Mac developers. We also felt that a lot of the experience that we had in publishing for the Mac and marketing to and providing support for smaller audiences would be applicable to Linux.

So, essentially without SteamOS & Steam Machines Feral wouldn't be porting games to Linux?

The scope and quality of Linux gaming have been steadily improving for a few years. However, Valve’s decision to use Linux for SteamOS was in our view a big validation, and certainly made the decision to develop for Linux easier.

For a company just getting into Linux what roadblocks did you encounter in bringing XCOM to Linux?

No roadblocks, just a few speed bumps ;-). A few things are different, for example 64bit support. 32bit libraries are no longer the default on Linux as they are for Windows and OSX. That means the game has to be updated to be 64bit clean.

Is the port just to confirm properly a 100% native port? So, no wrappers (Wine, eON, Crossover etc)?

This is a 100% native application. Just like our Mac games, all our Linux games will be 100% native. We never use WINE, Crossover etc style wrapper technology. Promise!

We avoid wrappers because we believe they do not allow for the same level of platform-specific tailoring that native ports do, so they don’t often provide gamers with the best experience that the platform – and the game - can provide.

Making a native application allows us to give the game that extra bit of platform specific polish.

Two examples in XCOM:

- We modified the videos to use VP8 on Linux, as that was the best codec to use.
- We wrote a Linux-specific pre-game launcher for the Complete Edition of XCOM that allows you to choose between the main game or the expansion pack, XCOM: Enemy Within. We rewrote it for Linux to support Big Picture mode (with HD graphics) and gamepads.

XCOM for Linux has lots of small changes like these, all of which contribute to making the Linux version feel like it has taken advantage of everything the platform has to offer.

And, once the game is released we are committed to maintaining it based on feedback from the community.

What tools are you using in porting XCOM to Linux?

We use a large number of tools and custom libraries during development. A few examples are: QTCreator, gedit, CMake, apitrace, systemtap, perf, git-svn, meld, libvpx, SDL2 and webm. We also have our own custom libraries designed to help game development on Linux

What do you think about Steam Machines and SteamOS and what it means for the future of PC gaming?

The Steam Machines and SteamOS have great potential as an alternative to Windows, but it's a braver man than me who will forecast how that is going to play out.

What sort of sales numbers are you expecting from the Linux crowd given that many may already own it?

For now we're more focused on the reception that a native Linux port of XCOM gets from Linux gamers than the sales. We are committed to bringing AAA games to Linux and making sure those games are completely awesome to play on the Linux platform; if we do a good job of that then over time we trust that the sales will follow.

The game is currently 64bit only. Is there a certain reason this was done and will a 32bit version come?

The latest Linux distibutions are primarily 64bit, and libraries are increasingly being developed and maintained in 64bit. In gaming terms, we’re seeing more and more 64bit-only games released for Linux, so overall we think 32bit has a limited future in AAA gaming.

As our first game for Linux, the decisions we made about the hardware and software XCOM supports have long-term implications. Since it was apparent to us that 64bit is the future and that 32bit is being phased out, we decided to support only 64bit from the beginning.

Although we have had a few requests for 32bit support, we’re unlikely to support it.

We asked about the tools used to port the game, but what about the platform? Were you able to develop any of it on Linux directly or was Linux more of a testing environment?

The entire development process, from alpha to the final release build, took place on Linux. Having developers run the OS they are targeting is key to attaining the best gaming experience.

It also helps that everyone on the Linux team at Feral were either keen Linux users before they started working on the project or adopted Linux as their primary platform during the development process. This means they get what Linux is about. We wanted the game to be more than just a Windows (or Mac) application dropped into Linux, we wanted to optimize it for Linux as much as we could.

This relates to your earlier question about wrappers. Because XCOM for Linux is a native application that is optimized for the platform at a source code rather than just a runtime level, it can be adapted to Linux’ usability conventions and features, not just its technical features (such as OpenGL).

What's your position on open-source GPU drivers (radeon, nouveau) vs. proprietary drivers (catalyst, nv) on Linux?

It depends on the drivers, and what works best for the project in question.

For example, XCOM only officially supports the proprietary Linux drivers for AMD and NVIDIA cards. Although some users have been able to play with the open source drivers, we have found they are not as stable. They are also missing some features that the closed source drivers have, so we aren't offering official support right now.

However, XCOM does support the open-source Mesa drivers for Intel cards, and we actually logged and fixed a bug in the driver during the development of XCOM.

Although we are open to supporting more open source drivers in the future, our immediate goal is to get great performance and stability in complex 3D environments and for that, the open source drivers for AMD and NVIDIA cards aren't quite there yet.

That said, we hope that the combination of more AAA games coming to Linux, the feedback we give and receive and the efforts of the Linux community will mean that the open source drivers keep improving in the future.

When you say you are committed to bringing AAA games to Linux, does that mean you are already working on more ports?

That's the plan! Although I can't give you any clues about what's next in line, I can say that the coming year should be a good one for Linux gamers!

How have you felt the reception has been for the port so far?

So far we are extremely pleased with the reception from Linux gamers and for the amazing community spirit on forums. We have learnt a lot from them and are using that knowledge to make sure that our future Linux releases are as good as they can be.

Any words of wisdom for developers looking to port to Linux?

Here are a few short points I think would be helpful to anyone thinking about it:

1. Develop on the platform for the platform. This helps you debug on the hardware / software that people will be playing on.

2. Decide early on what hardware and software you want to officially support; there are lots of hardware and software configurations. For an initial release, it is arguably better to have a small list of officially supported set-ups that offer great performance than a large list that you aren't able to QA and fully optimise. You can always extend the official support at a later date.

3. Polish, and hold your nerve. It's worth spending the time to make sure the game you eventually release is one that you are proud of. People will forgive a delayed release, they won't forgive a buggy one.

4. Engage the community. The Linux gaming crowd are enthusiastic, knowledgeable and helpful. We have already had a lot great feedback on XCOM, which has really helped us to understand what the community values.

5. Don't be scared, penguins don't bite!

Many thanks to everyone at Feral (special thanks to Brad Gibson for sorting the interview out and Edwin of course for answering!) for the port and for future ports to come, it was really great to speak to them about everything and I think we are onto a winner with these guys. It's extremely refreshing to have such a good developer supporting Linux, and this is another thing we have Valve to thank for.

What port would you like to see come from them next and how are you enjoying XCOM? Let us know! Sadly I've had very little time to play it, but the first mission was very smooth for me!

Final note: XCOM is still 50%, so grab your wallets and grab it on Steam now!
Article taken from GamingOnLinux.com.
1 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
104 comments
Page: «7/11»
  Go to:

Pinguino Jun 27, 2014
Quoting: DrMcCoyOf course it's using PAE.

And with PAE, the operating system can access more than 4GB of RAM. A single process is still limited to 4GB, though.

Thanks for the explanation, I'm just realizing Ubuntu installed PAE by itself, upon detecting all that RAM. Is this 4-gig-per-process limit the main reason people say PAE sucks?
DrMcCoy Jun 27, 2014
Quoting: wleoncioIs this 4-gig-per-process limit the main reason people say PAE sucks?

One of the reasons. For more, read the Linus rant linked by WorMzy above.

In short, PAE makes organizing things a lot more complicated. This has of course performance drawbacks. It's a hacky workaround, but not a real fix.
Pinguino Jun 27, 2014
OK, this may actually be an argument strong enough to convince all the users of this computer to format the machine and reinstall a 64 version ("because I wanna play XCOM" was just not enough).
gabsd84 Jun 27, 2014
Quoting: esmithferalThanks for all the feedback everyone, I can't reply to every comment but we are reading the replies, if you have anything you want to tell us directly please send us an email to our Linux support support email. All feedback positive, negative or indifferent is welcome. :-)

Thank you for the awesome port. Honestly I did not even expect the game to run on the RadeonSI driver in Linux Mint 17 but the game launches and works fine. I still get a crash with the driver but I'm sure that will be sorted out in time (bug already reported it seems). My only request is for Feral to work together with the Mesa devs (Intel, AMD and Nouveau) where possible to make sure that future games run fine on Mesa and any bugs in the drivers are fixed well in advance. Keep in mind that all Intel users are on Mesa and many (most?) AMD users are using Mesa as well.

Overall though...good job Feral.
Beamboom Jun 27, 2014
Seriously guys, you NEED to buy this game if so it means installing 64bit Linux on your box. You should have done so long ago anyways :)

No but in my not-so-humble opinion this game is safely rooted in the top3 Linux games list, I am having a serious blast with it and it runs like a charm. A little bit screen tearing here and there can be found, but other than that it's silky smooth. But most important: It's just too damn fun.
Tom4hawk Jun 27, 2014
XCOM is awesome.
Port is awesome.

There is only one bug:
1. Start playing at 8pm
2. Play for two hours
3. It's 5:30 in the morning ;)
I'm not entirely sure how it works :)

Great job guys!

IMHO 64bit only version is a good choice. I don't understand why Valve made STEAM 32bit on Linux(and they are trying to create "console" with it...). They had chance to get rid of this living fossil and they didn't take it. I can't imagine 32-bit only hardware capable of playing these days games...

Ps. Sorry for my English, I'm not native and I'm mostly a "reader" not "writer".
esmith_feral Jun 27, 2014
Quoting: gabsd84
Quoting: esmithferalThanks for all the feedback everyone, I can't reply to every comment but we are reading the replies, if you have anything you want to tell us directly please send us an email to our Linux support support email. All feedback positive, negative or indifferent is welcome. :-)
Thank you for the awesome port. Honestly I did not even expect the game to run on the RadeonSI driver in Linux Mint 17 but the game launches and works fine. I still get a crash with the driver but I'm sure that will be sorted out in time (bug already reported it seems). My only request is for Feral to work together with the Mesa devs (Intel, AMD and Nouveau) where possible to make sure that future games run fine on Mesa and any bugs in the drivers are fixed well in advance. Keep in mind that all Intel users are on Mesa and many (most?) AMD users are using Mesa as well.

Overall though...good job Feral.

Thanks, If you read the article you would see we already have logged and worked with the Mesa driver team for Intel as Intel only support the open Mesa drivers. :-) For AMD and Nvidia we have worked with the driver teams on the closed source drivers on XCOM, for the open source drivers we highly recommend you log issues the Mesa drivers, if the driver team know the issue exists they are better placed to be able to improve the drivers in future.

Thanks for your feedback and ideas on what we can do even better in future!
FutureSuture Jun 27, 2014
Can't believe CD Projekt RED threw all that good will away while Feral and Aspyr are swimming in it like Scrooge McDuck swims in his savings.
Rutine Jun 27, 2014
Quoting: BeamboomSeriously guys, you NEED to buy this game if so it means installing 64bit Linux on your box. You should have done so long ago anyways :)

Well, I already have it and it runs on Windows, but knowing that in a 64-bit Linux it would run... and with all these new games being ported to Linux.. this could be the day when I :

1) Switch to 64-bit Linux
2) Definitiley forget about Windows. I mean.. X-Com, Civilization V, soon M&B : Warband, perhaps Civilization IV, Crusader Kings II, Europa Universalis IV, soon more games to come from Feral, and others... that's just a dream.
edddeduck_feral Jun 27, 2014
Quoting: GuestWhile I don’t mind personally, I find it strange that they didn’t build the game for 32 bit too. It should be very easy (I suppose the game already works on Windows 32 bit so there shouldn’t be any technical problem) and they are losing one third of Steam Linux users.

The fact the game compiles in 32bit on Windows doesn't mean it you get a releasable product on 32bit Linux straight away. Compiling a build is just one stage of the process of supporting a different hardware platform. You need to test the title extensively to make sure no 32 bit specific issues exist, you need to deal with dependencies and test 32 bit versions of libraries & drivers which could have different bugs and performance to the 64 bit versions this all takes up time on top of the "select 32bit and compile" stage everyone thinks about. :)

To put this into perspective one of our Linux testers has over 750+ hours of gameplay on XCOM Linux. To make sure a game is tested and is up to the quality that is deserves that takes quite a lot of time and effort. I am not saying 32 bit would need the same testing again but it wouldn't be minor given all the hardware configurations and features that need testing :)

It's not impossible but supporting 64 bit and 32 bit however it is a lot more work if you want to give full and official support to the 32bit platform. Given the comments and feedback so far only a very small number of users have 32 bit based OS's and are unwilling to update to 64bit to play.

Never say never but I think 32bit of XCOM is unlikely but this does have a big upside, it means we can spend all that development and testing time we would have spend on 32 bit on other Linux games and future updates of XCOM. :)

Quoting: GuestContrary to what the interview says, this is the first time I’ve seen a 64 bit-only game. On the contrary there are many 32 bit-only games.

It might not be true yet on Linux (likely due to the less complex nature of many of the games released so far) but on the PC and console 64 bit is becoming more and more the default with 32 bit starting to be dropped.

The jump over hasn't gotten massive yet but with the next gen console games coming out in the coming year for PC I think 64 bit will become more and more the standard for future gaming.

Quoting: GuestEdit: thanks for NOT creating a “.feral-interactive” directory in $HOME! :D

Glad you noticed, we try and do everything the right way following standard Linux conventions. If you have any feedback where we could do anything better let us know.

Edwin
Feral Interactive
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.