Ryan Gordon's Linux Game Porting Guidance
Well known Linux game developer and porter Ryan "Icculus" Gordon spoke at this week's first-ever Steam Dev Days about porting games from Windows to Linux. For those curious about what's involved in porting a modern game from Windows to Linux, he's shared his slides to cover the process.
Those wanting the slides to Ryan's Linux game porting presentation can find them via Icculus.org. Video recordings of the Steam Dev Days sessions are also said to become available in the weeks ahead but nothing was broadcast live. All the information seeping out so far is mostly through twitter. Anyhow, the highlights of Ryan Gordon's presentation include:
- Ryan's stated advantages in bringing your game to Linux is that the ecosystem isn't "flooded with cheap product, like Windows. You don’t have to compete to be heard over the mob." Additionally, there's no dictator controlling about what can be published nor taking a cut of sales -- like app stores for other platforms. Last and perhaps most importantly now, SteamOS is Linux based.
- About all the Linux distributions out there, SDL is capable of handling most of the differences.
- Regarding Linux graphics drivers, Ryan says, "Nvidia and AMD ship their own GPU drivers, and there are open source ones too. All of them are somewhere between pretty functional and world-class."
- About game engine support for Linux, Unity 3D offers good LInux support, Unreal Engine 3 was ported by outside developers, id Tech engines (up to id Tech 4) have native versions, Source Engine works on Linux, Leadworks is coming to Linux, and MonoGame-SDL2 can help XNA games.
- In regards to the process of porting games from Windows to Linux, Ryan Gordon recommends first moving to SDL2 (if not already) for the game as the library abstracts much of the platform differences, then move to OpenGL on Windows (if currently on Direct3D), and then after that starting the porting process.
- Ryan recommends GCC or LLVM Clang for compiling games.
For other Linux game porting recommendations, check out Ryan's always-great slides.
Those wanting the slides to Ryan's Linux game porting presentation can find them via Icculus.org. Video recordings of the Steam Dev Days sessions are also said to become available in the weeks ahead but nothing was broadcast live. All the information seeping out so far is mostly through twitter. Anyhow, the highlights of Ryan Gordon's presentation include:
- Ryan's stated advantages in bringing your game to Linux is that the ecosystem isn't "flooded with cheap product, like Windows. You don’t have to compete to be heard over the mob." Additionally, there's no dictator controlling about what can be published nor taking a cut of sales -- like app stores for other platforms. Last and perhaps most importantly now, SteamOS is Linux based.
- About all the Linux distributions out there, SDL is capable of handling most of the differences.
- Regarding Linux graphics drivers, Ryan says, "Nvidia and AMD ship their own GPU drivers, and there are open source ones too. All of them are somewhere between pretty functional and world-class."
- About game engine support for Linux, Unity 3D offers good LInux support, Unreal Engine 3 was ported by outside developers, id Tech engines (up to id Tech 4) have native versions, Source Engine works on Linux, Leadworks is coming to Linux, and MonoGame-SDL2 can help XNA games.
- In regards to the process of porting games from Windows to Linux, Ryan Gordon recommends first moving to SDL2 (if not already) for the game as the library abstracts much of the platform differences, then move to OpenGL on Windows (if currently on Direct3D), and then after that starting the porting process.
- Ryan recommends GCC or LLVM Clang for compiling games.
For other Linux game porting recommendations, check out Ryan's always-great slides.
21 Comments