Check out our Monthly Survey Page to see what our users are running.
We do often include affiliate links to earn us some pennies. See more here.
I had the pleasure of speaking to two different teams at game developer and publisher Beamdog, notable for Baldur’s Gate: Enhanced Edition and the soon to be released Planescape: Torment: Enhanced Edition.

First of all, I had a few questions answered by Alexei Pepers, Lead Programmer on the Beamdog Client.

Q: What was it like to bring an application like the Beamdog Client over to Linux?

Alexei Pepers: Supporting Linux was part of the plan for the new Beamdog Client from the beginning, which made things much easier as we could evaluate technologies as we were picking them to make sure Linux was supported, instead of trying to add it after the fact. The Electron framework which the Beamdog Client is built in is meant to be cross-platform and so it was surprisingly easy to keep it working on all platforms without too much effort. The only difficulties we did had stemmed from some dependency wrangling, and trying to ensure that the Client followed reasonable Linux conventions in terms of where to store data or install games. Overall, it was a surprisingly painless experience.

Q: Why did you opt to use AppImage over other ways to bring it to Linux?

Alexei Pepers: We wanted to make it easy to download and use the Beamdog Client on Linux, and we wanted to support different distributions as much as possible. AppImage was the suggested format in the Electron distribution package we use, and seemed to be a good fit for our requirements.

Q: Are you hoping it will one day rival Steam, or is it mainly for keeping direct purchases updated? The real question is: What are your plans for the future of the new Beamdog Client?

Alexei Pepers: The previous incarnation of the Beamdog Client was more similar to Steam, in that we did once use it to sell hundreds of games instead of just our own products. The new Beamdog Client is a conscious movement away from that, as we’ve decided that we’d rather focus on supporting and showcasing our own products instead of trying to maintain a huge library of games. Our plans for the future revolve around delivering people the best experience possible with our Client and supporting games with easy to access updates.

Q: What do people benefit from buying directly from Beamdog to use the Beamdog Client, over just buying the game on Steam?

Alexei Pepers: In addition to supporting us directly and helping us keep running, using the Beamdog Client over Steam gives an experience that’s more focused on our games and the community we’ve built around them. We have peripheral content like manuals and illustrated guides to the settings that are directly accessible through the Beamdog Client, as well as links to our active forum community. Our games through the Beamdog Client are also DRM-free, and we have plans to make it easy to access the betas for our games for people who are interested.

And now, it’s time to speak to the the rest of Beamdog about their porting and Linux gaming. Here I spoke to Scott Brooks the Beamdog CTO and Alex Tomovic the Planescape: Torment: Enhanced Edition Project Lead.

Q: Linux is a question still not in a lot of developers/publishers minds, why did Beamdog decide to bring their games like Planescape Torment Enhanced Edition to Linux?

Scott Brooks: Linux was actually the first platform other than Windows to run Baldur’s Gate when we started the work. I’ve always been a fan of porting to multiple platforms. A lot of C/C++ bugs exist inside the undefined behaviour space in the various compilers. Often after porting to a new platform you will find bugs that make you ask “How did this ever work to begin with?” We’ve found that porting to Linux makes the game more stable and perform better on Windows too. Porting to Android for example, improved our iOS memory usage and rendering on all platforms.

Q: Was acquiring the licenses to these old Black Isle properties an interesting ordeal?

Scott Brooks: It took Trent quite a while to acquire the licences from Atari, and you’ll have to arm wrestle him to to get those stories.

Q: Why did Beamdog decide to revamp older titles like Baldur’s Gate and Planescape Torment?

Scott Brooks: Finding a large fan base for game that is 15 years old or more is rare, and proves that a market exists for the game. The original developers had moved on to other projects, and nothing was being done with these titles.

Alex Tomovic: Planescape: Torment and the rest of the Infinity Engine games are timeless RPG classics. Bringing them to modern devices and operating systems ensures that their exceptional stories will live on and reach an even wider audience.

Q: What are your thoughts on GemRB, the open-source implementation of Bioware's Infinity Engine?

Scott Brooks: GemRB is a wonderful project. It’s amazing what they have been able to accomplish by reverse engineering everything. This kind of relates to the question above about choosing a game like Baldur’s Gate, having a game that people are passionate enough about to re-implement the client speaks volumes to how good of games these are.

Q: What do you guys think to SteamOS?

Scott Brooks: I think SteamOS opens up Linux by sanding off some of the rough edges. I feel a lot of the open source world operates around giving people all the tools they need to fix a problem themselves. Some people don’t enjoy that tinkering process and would rather just play some games. SteamOS helps a bunch in that regard. It also increases the profile of Linux games and Steam in generate provides an actual marketplace on Linux so you have somewhere you can sell your game on Linux.

Q: What’s it honestly like bringing a game over to Linux?

Scott Brooks: It’s not easy, but it’s worth it. Honestly it’s less about bringing a game from linux, and more prying it off of Windows (or the original platform it was developed on). When bringing a game to Linux, Ryan Gordon did a great talk at the Steam Dev days that discussed the exact approach we happened to have used.
  • Step 1: Port to SDL2 on Windows
  • Step 2: Remove Windows specific dependencies. We chose OpenGL instead of DirectX, and OpenAL instead of the current flavour of Windows audio.
  • Step 3: Once you’ve got a relatively platform neutral game running on Windows. then get that over to Linux. Part of the pain here is your project files are probably still Visual Studio projects, and so actually compiling will be hard. We used CMake to help solve this problem, but there are choices in this area.
  • Step 4: Once you are actually compiling, you’ll be fixing compiler differences between MSVC and GCC/Clang, but these days it’s mainly a case of adjusting all the code to be cross platform friendly instead of making GCC specific changes.
  • Step 5: Once you’re here, the “fun” begins and you start to learn about different Linux distributions, and what libraries they ship with, etc. I recommend using the steam runtime to solve this problem. It’s a build environment that includes a specific set of libraries that you can depend on not changing. I understand that’s not always the solution that people prefer, but it does help get your game running on Linux. The important part to know is that the name is kind of confusing. The Steam runtime is made by Valve, but it doesn’t actually include any of the Steam client, or references to its API. It’s just a collection of open source libraries to link against.
Alex Tomovic: Seeing our games run flawlessly on my minimalistic Arch install gives me high confidence in their stability.

Q: Do you think projects like Wine prevent some titles from being ported to Linux?

Scott Brooks: I don’t think so. I would guess that a title that ended up on Linux via Wine would be because there was not original source code access, or the cost to do a full port to linux was too high. In both of those cases without Wine there would have been nothing on Linux.

Q: Some users have noted an issue with previous games being 32bit and not supporting certain filesystems when the partition is of a certain size (see here), any comment on 64bit support and fixing the filesystem issues?

Scott Brooks: 64 bit support is on our radar, the engine has been ported to 64 bit for iOS, and macOS, so the hard work has been done. One of the main goals of the Enhanced Edition is making sure it runs on modern machines so we will be working towards getting 64 bit builds on Linux.

Q: What tools have you been using to bring your games to Linux?

Scott Brooks: Vim, gcc, and make? I think the more interesting aspect is the libraries we used. Our graphics are rendered with OpenGL, audio is provided by OpenAL. Our in game movies are encoded as webm files, and audio is encoded with ogg.

Q: How have you found the sales for the Linux versions of Beamdog titles?

Scott Brooks: Hard to say. Sales for different operating systems can be hard to track because platforms such as Steam and GOG allow you to play on more than one operating system.

Q: Can we expect all future Beamdog games to support Linux?

Scott Brooks: We’ve put in a lot of work to bring the Infinity Engine (which dates back to 1995) to Linux, Android, macOS, and iOS. We certainly plan to support the Infinity Engine going forward on Linux, but support for future games depends on the technology used in their development.


I would like to thank everyone at Beamdog for their time, honest answers and for bringing some true classics over to Linux.

If you know of a developer who would be up for an interview, please do ask them to get in touch with me. Article taken from GamingOnLinux.com.
Tags: Interview
36 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.
26 comments
Page: «3/3
  Go to:

Doc Angelo Apr 9, 2017
QuoteAlexei Pepers: In addition to supporting us directly and helping us keep running, using the Beamdog Client over Steam gives an experience that’s more focused on our games and the community we’ve built around them. We have peripheral content like manuals and illustrated guides to the settings that are directly accessible through the Beamdog Client, as well as links to our active forum community. Our games through the Beamdog Client are also DRM-free, and we have plans to make it easy to access the betas for our games for people who are interested.

I don't understand why Feral and other companies should get out of Steam. The advantages stated by the developer here are nice things, but they are possible right now with Steam. Why make a new proprietary thing, when another widely adopted proprietary thing is doing the same? A FOSS client for such things would be really nice. Desura for example was FOSS, but it didn't catch up

Maybe I misunderstand something. Maybe someone could clear it up for me?
Leopard Apr 10, 2017
Quoting: ValamirCleaverI am unable to get the client to work on Ubuntu 17.10 64-bit. I just get a black rectangle in the middle of my screen and I need to use System Monitor to kill. There's no Linux troubleshooting advice on the Client FAQ page. Their Linux support is very noticeably lacking in comparison to GOG.

Wait , what? Gog is not even trying to release a Linux client.

Gog point of view to Linux is ; potential Dos box games buyers
skinnyraf Apr 10, 2017
I like their comment about Steam runtime: a standard set of libraries to link to is something that makes cross-distribution support much easier.

I wonder if Valve could talk (talks?) with developers and porters of games for Linux how to maintain and upgrade the runtime.
Arehandoro Apr 10, 2017
Good interview, thanks as usual :)

Would have been nice to know whether they'll be bringing new titles too instead of revamping old ones only :D
ValamirCleaver Apr 11, 2017
Quoting: LeopardWait , what? Gog is not even trying to release a Linux client. Gog point of view to Linux is ; potential Dos box games buyers

I can download offline Linux installers from GOG without the need for a proprietary client. If that is possible directly from Beamdog, feel free to inform me of such & the the exact process of how to do so. Due to the not perfectly functioning Beamdog client, I am at a loss as to how I would be able to install the Linux version of Planescape on my computer if I was to directly purchase it from Beamdog. I have no trouble downloading the installers and installing the Enhanced Editions for BG1, BG2, IWD or SoD for Linux from GOG.


Last edited by ValamirCleaver on 11 April 2017 at 11:02 am UTC
Shmerl Apr 13, 2017
Missing LFS bug confirmed. The game crashes... Really, Beamdog. You could do better. How hard is it to add a simple compiler switch: -D_FILE_OFFSET_BITS=64


Last edited by Shmerl on 13 April 2017 at 3:29 am UTC
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.