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!
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!
Some you may have missed, popular articles from the last month:
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
I may even play some myself tonight, first night for quite some time that I'm not rushing off to do something. Cannot wait.
0 Likes
xcom is awesome game/port and thanks to feral. it raises my hopes i'll someday see native tomb raider on linux. i already own them on ps3, i own them on steam and i'd probably buy it once more just to gift&support. well, i'd even buy CoD just to support them, although hardest thing there would be confirming linux version with playing. paying is easy, playing CoD? not so much
i thought so to, but someone pointed me to pool where GOG was asking native or wine wrappers. most of the people asked for later.
CD Projekt RED, take note. This is how it's done. Feral and Aspyr FTW.
i thought so to, but someone pointed me to pool where GOG was asking native or wine wrappers. most of the people asked for later.
1 Likes, Who?
A great port for a great game. Just finished and started again, it is addicting.
0 Likes
Something tells me they just couldn't build 32bit binary and that's the end of the story. It's pitty I bought this port and supported devs. This port shouldn't cost money. And they're worst of devs I know about.
Something tells me they just couldn't build 32bit binary and that's the end of the story. It's pitty I bought this port and supported devs. This port shouldn't cost money. And they're worst of devs I know about.Yeah! How dare they not support technology that everyone is trying to kill? An that's still alive due to way too long windows xp support! Seriously tho, get with the program dude, most new releases don't have 32 bit support, hell even mobile is trying to get rid of it(android L, new iOS). I hope for Tomb Raider next! Great work guys;)
I can understand their decision about the building 32bit binary of their game, but I think that did not solve my problems. I use Mac mini and I was forced to install 4 operating systems because I have bought different types of games/applications.
Mac OS X 10.9 - new applications
Mac OS X 10.6 - PowerPC games e.g. Max Payne, SOF 2 etc.
Ubuntu 14.04 (32 bit) I use it for old commercial games (e.g. Loki), and many games/applications that are not available for Linux 64 bit (e.g. in USC)
Ubuntu 14.04 (64 bit) - I use it for games/applications that are available only for Linux 64 bit.
Sometimes, I think it will be much easier to have one operating system, but It is impossible if i want to use alternative operating systems.
0 Likes
Well THAT is the spirit. Many should take a few lessons from them, their attitude and their support.
I'm glad I bought Enemy Within just to counterbalance my buying Enemy Unknown when it was announced, and I'll gladly throw more money at them whenever the next ports come.
I'm glad I bought Enemy Within just to counterbalance my buying Enemy Unknown when it was announced, and I'll gladly throw more money at them whenever the next ports come.
0 Likes
I'm glad that they're not supporting 32bit at this point it's mostly a waste of time. If you're still running a 32 bit processor it's probably time to upgrade your hardware. I honestly haven't even had time to test out the XCOM port yet since I've been too busy playing Civilization but I already do have it installed on Linux, I'll probably give it a try tonight. Really impressed with these ports from Feral and Aspyr they seem genuinely interested in supporting Linux which I can definitely appreciate.
I'm also glad that the companies who develop and publish these games like 2K and Fireaxxis aren't objecting to Linux ports or stopping them for no reason. I hope enough of you guys bought the ports so that other big companies will start paying attention and see it's not so crazy to port their games to Linux.
I'm also glad that the companies who develop and publish these games like 2K and Fireaxxis aren't objecting to Linux ports or stopping them for no reason. I hope enough of you guys bought the ports so that other big companies will start paying attention and see it's not so crazy to port their games to Linux.
0 Likes
gbudny, it more lools like their inability to build 32bit binary properly. Or maybe it was some kind of fanatic opinion. Because there must be a choice. Everyone who thinks about other people gives them that choice. Otherwise it calls an enforcement and a disrespect.
0 Likes
gbudny, it more lools like their inability to build 32bit binary properly. Or maybe it was some kind of fanatic opinion. Because there must be a choice. Everyone who thinks about other people gives them that choice. Otherwise it calls an enforcement and a disrespect.
Your opinion sounds pretty fanatic to me, and Feral's was perfectly reasonable
1 Likes, Who?
I'm glad that they're not supporting 32bit at this point it's mostly a waste of time.
Well, it depends. You seem to think that only people with 32bit processors use a 32bit distro, which isn't true. We people who still use a 32bit distro on a 64bit processor may be wrong, but my only experience with a 64bit Ubuntu this far was a very bad one. Now I will probably give it a try again, probably replacing my Windows partition, as I haven't been using it for months. So, I personally am sad if they aren't going to support 32bit, even if I can perfectly understand their decision.
Games I would like to see ported to Linux ? Taking a quick look at their Mac game list, the Total war series would be great, really, truly awesome.
And to conclude : Thank you for the port ! and thank you for supporting native ports !
0 Likes
I was forced to install 4 operating systems because I have bought different types of games/applications.
Mac OS X 10.9 - new applications
Mac OS X 10.6 - PowerPC games e.g. Max Payne, SOF 2 etc.
Ubuntu 14.04 (32 bit) I use it for old commercial games (e.g. Loki), and many games/applications that are not available for Linux 64 bit (e.g. in USC)
Ubuntu 14.04 (64 bit) - I use it for games/applications that are available only for Linux 64 bit.
I can't comment on the OSX variants, but Ubuntu 64-bit has 32-bit compatibility libraries available for it. Steam is only available as a 32-bit application after all.
Any way, I'm very thankful to Feral for porting XCOM. I'm waiting for the Steam sales to finish, so that I can buy it full price for my brother. He can't play on PC at the moment, so I'll get him to log in on my Linux PC and start the game up. That way Feral should get some of my money!
Such a convoluted payment system Valve have set up, I hope they revise it so it defaults to the platform it was bought on if it's not played in a few weeks..
0 Likes
Something tells me they just couldn't build 32bit binary and that's the end of the story.
And how do yo know that they "just couldn't build 32bit binary" ?
It's pitty I bought this port and supported devs. This port shouldn't cost money. And they're worst of devs I know about.
Worst devs ? Based on what ? And why should this port be free, in your opinion ? I completely disagree, but I would like you to explain that, if you're not just trolling.
1 Likes, Who?
Honestly, I'm still trying to understand how come I'm feeling like I'm among a very tiny minority that uses a 32-bit OS. My gaming computer is a living room PC which has been running Ubuntu LTS releases for over 6 years. Up until April 2014, I was running 12.04, which was released on a time where 32 bits were still the recommended version.
So for someone running Ubuntu LTS releases, this whole thing about 64-bit being the norm and 32-bit being something that should have been abandoned long ago feels quite strange.
So for someone running Ubuntu LTS releases, this whole thing about 64-bit being the norm and 32-bit being something that should have been abandoned long ago feels quite strange.
0 Likes
Bioshock, Hitman, Tomb Raider...dayone Feral FTW!
0 Likes
Well, I've been using Ubuntu 64-bit for the last 3 releases with a Sandy Bridge Core i7 and 4GB RAM and it's wonderful. Try Ubuntu 14.04, maybe you'll get a better experience!
I definitely will. Kubuntu 14.04 in my case, but it's almost the same. :)
Honestly, I'm still trying to understand how come I'm feeling like I'm among a very tiny minority that uses a 32-bit OS
I know. There was a thread in Steam, some guy asked for a 32-bit version of X-Com, and many people told him he was obsolete, and started patronizing him, and making jokes about 16-bit support, etc.
I wonder if there are statistics concerning 32-bit and 64-bit use by Linux users ?
However, I agree that 32-bit should probably slowly fade away, but I can't understand when people say it should have been abandoned long ago, and look down at us 32-bit users.
2 Likes, Who?
Ubuntu was cautious for a long time about recommending 64-bit as default because of some issues with java, flash, and wine, but these issues are now past. But 64-bit is specially relevant for gamers, as overall it has some performance improvements: http://www.phoronix.com/scan.php?page=article&item=ubuntu_1404_x64
Thanks for the explanations, but hasn't this switch happened more or less simultaneously throughout the Linux community or was is just Ubuntu who held back on 64 bits for all those years?
I'm wondering, has the majority of people really been running 64-bit Linux OSs for years, even though only a few years ago those had many compatibility issues, or has everyone but me just reinstalled their whole OS when multilib went stable?
0 Likes
There was a thread in Steam, some guy asked for a 32-bit version of X-Com, and many people told him he was obsolete, and started patronizing him, and making jokes about 16-bit support, etc.
I wonder if there are statistics concerning 32-bit and 64-bit use by Linux users
I saw that, and I honestly had never seen Linux users be so condescending with each other. I've asked about those statistics myself in that thread, but all I got was some unquoted figures of "98% 64-bit" which I found hard to believe.
0 Likes
I wonder if there are statistics concerning 32-bit and 64-bit use by Linux users ?
http://store.steampowered.com/hwsurvey/?platform=linux
As always, the Steam HW survey is just that -- a survey. It's neither a full picture, nor is it necessarily an accurate portrayal of the situation, but if you click "Linux Version", you'll see the top five are all 64-bit variants, and the sixth, "Ubuntu 14.04 LTS", doesn't specify whether it's 64 or 32 bit. Nevertheless, if this survey is to be believed, over 61% of Steam on Linux users are on 64-bit versions of their distribution.
I expect that the true percentage of users on 64-bit Linux OS' is easily that value, if not considerably higher.
1 Likes, Who?
I'm wondering, has the majority of people really been running 64-bit Linux OSs for years
Yes.
The Linux kernel has had x86_64 support since 2001 (and other 64-bit architectures even earlier). The only "compatibility issues" has been with people insisting to run proprietary 32-bit binaries. And even that had been solved early by many distributions.
I installed a 64-bit Debian in 2007. And that's still the system I'm running today. (GNU/Linux can be pretty easily copied around with hardware changes. Prior to that, I had been copying my 2001 32-bit install around, but thought I'd reinstall for 64-bit support). I went through several multi-arch attempts in Debian Sid (unstable); other distributions were more stable earlier there, of course.
Really, that was 7 years ago. 64-bit has been solved ages ago.
The only reason I still had knowledge about 32-bit was because of my 2005 laptop. And even that one I recently upgraded since a friend of mine gifted me his old laptop.
There is no reason to run a 32-bit operating system on hardware newer than 2005.
0 Likes
Also: I'm actually shocked that there's still so many people running full 32-bit installs. I had thought that pretty much died out around the time I got a 64-bit system...
0 Likes
if this survey is to be believed, over 61% of Steam on Linux users are on 64-bit versions of their distribution.
Steam survey sample selection is very misterious, but it's a start. Thanks!
0 Likes
See more from me