A blow by blow update regarding development of Desura for Linux.
Posted by Platima on Jul 27th, 2011
It's been quite a while since I wrote the last blog, but in my defense we've been very busy and have made a lot of progress (Watch this spot!). I decided that since this entry will be quite long, I'd split it into two different sections; news and information for gamers/Desura users, and interesting datums for developers. You might also be interested to know that at the moment it's 8:30pm (+0800 hours GMT), and I'm on a plane to Melbourne to spend the next few weeks in the office with the others to get the Linux port finished and out to you users! At the moment I'm about halfway across the Great Australian Bight, at about 12.5km (7.76mi) altitude, travelling at just under 1100kph (683.5mph) with an outside temperature of about -50 C (-58 F). I was also quite impressed with the food and drink Qantas provide their passengers, except the portions are tiny. My mates rat eats more than this!
Before I get into the actual thick of the blog, I'd like to thank everyone who commented on the previous blogs (here and here). We received lots of new information and constructive feedback, which we really appreciate! Sometimes though, it can be hard to keep up with the comments, so if you have game suggestions, ideas, or relevant information, please PM me. Sometimes it may take me a little while to reply, but every bit helps and we are adding everything to our information bank (trac server).
Ok enough of the ramblings for now, lets start with the news for gamers and Desura users.
Firstly, there's been a lot of discussion in forums and blog comments about how we're going to be handling the Desura Linux distribution, installation, and game installations. At initial release, Desura will simply be a small binary file to download from Desura, which may be compressed, or in some sort of signed package (yet to be decided). You place this binary anywhere on your system that you have write permissions, and when you run it, it will build the Desura folder around itself and download any remaining components. This is the decision we came to that abides by the Linux FSH, doesn't require any admin privileges, doesn't cause SELinux problems, and allows different users to have separate installations if they wish. Disk space is cheap, why note make the most of it?
Now, after download if you have a particularly old system (I'd estimate older than 3 years), or a system with minimal shared libraries, you may also need to install a few extras. The program will do its best to assist you with this, and we're doing everything we can to make it as widely compatible as possible! After the initial website release, we will also be doing what we can to get Desura hosted in any App Stores you can throw at us, such as the Ubuntu Software Center. For now we're also compiling the entire program and it's dependencies as 32bit, but if this proves to be problematic we will do a 64bit release too. As it stands, we can't foresee of any issues but feel free to PM me if you do!
The other major question was how we're going to handle game installations. There was a lot of debate about this as far as patches, user configs, etc, so we just decided that games would be installed into a 'games' folder under the Desura folder. This simplifies everything.
Oh, we're passing by Adelaide and I can see the city lights out the left window. You may not care, but I really do love plane trips! Less than an hour until arrival, so I should probably hurry up with this blog.
A particularly big discussion topic was theming. Personally I'd love for Desura to support the widget set/window manager theme, but we are also on a tight deadline. For the time being, we decided that we're sticking with native borders and title bars as you've seen, but the custom Desura theming for the application interface. I added a trac ticket though to add support for system themes down the track. I don't see it being too hard to achieve, and before then one of you users may even manage to write a hacked up Desura theme that tricks it into using the system theme. -nudge nudge-
I was also wanting to thank Liam Dawe from Gaming on Linux who I did a 3 part interview with recently (see here for the links). The questions were fantastic, and he was very patient with my delayed replies. It also put a lot of information out there for users and other interested people.
Next onto the more Desura development related stuff. We've done a lot in the Desura Linux port over the last few weeks, so heres a quick breakdown. Bugs:
- Game icons now load
- No longer crashes in Offline Mode
- Program now exits cleanly
- Chromium Embedded Framework is now actually embedded and functioning
- Buttons and tabs load correctly
- Changelog dialog shows correct title
- and more
Port defects:
- Games download
- Games install
- Settings page no longer shows Windows & Steam settings
- Builds successfully in 32bit mode
- The backend (mostly) supports Linux games (props to Scott)
- Desura updates itself
- Crash reporting works
- CEF context menus work
- and more
I also have made a lot of changes to our build and testing process, including our build script which now supports all sorts of nifty developer features like multithreaded building, compiling with LLVM/Clang, Release and Debug mode (this was mostly Mark), building only specific projects, etc. And for those of you interested, we are using GYP and our custom script as opposed to cmake, scons, bakefile or any others.
And now the last geeky/developer point: I decided to write the bootloader (more 'bootstrapper', but this is the name we've been using) all using Xlib. This was remarkably painful, but it means that any graphical Linux system should be able to download and run the initial Desura binary, which will then hopefully do the rest of the checks and download the remaining components.
I'm out for now. Take care everyone, and hopefully I'll get a chance to do another blog entry soon! At the end of this post will be some recent screenshots to keep you all excited!
Keith Poole
Linux Engineer / NPC
Desura
Quote of the week, this time from a close friend and fellow Linux user and developer aihtdikh. Some of you may get this, some may not, either way it had me laughing with tears in my eyes and has stuck with me since, so I decided to share it with everyone:
[on Gtalk] "OMG PWNIES!"
PS: While moving house, I found my blow up Tux. Yes, I'm that much of a Linux geek! Haha.
Only registered members can share their thoughts. So come on! Join the community today (totally free) and do things you never thought possible.


I may be misunderstanding you, but I'm pretty sure they won't be publishing the client source code.
Hey AtomicGaryBusey,
I didn't even know there was a newsletter sent out! Hah. I was pushing the guys to send one out to the mailing list though. Oh wait, I see, it was in the last newsletter :)
Ah to reminisce, I remember all those driver and library issues from back then. Thankfully the industry has caught on to Linux, if only a little.
You again misunderstood though (I think I did a bad job explaining myself. Haha). It's not a binary 'installer' as such, but just a single binary part of the package (with nearly no dependencies) that downloads the rest of Desura around itself. Eg: place it anywhere you want, run it, it'll create a 'Desura' folder, move itself into it, and download the rest of the components.
Unfortunately though there isn't going to be source packages available. Desura is closed source (for the foreseeable future at least), and our build process is also extremely complex.
-Keith
Is there something like open beta? Or close beta? I'd really like to try things out. I got some shiny new games via HumbleBundle and it'd be perfect time to try out the first game delivery system for Linux. (As far as I know.)
Just email support@desura.com and say you want to be on the Linux Beta list ;)
-K
Really looking forward to this! :)
Great...i can't wait....keep up the good work!!!
I am looking forwards to this a lot. WINE only does so much ;)
A few questions:
Will you have 32 and 64 bit linux versions of the client?
Will you have 32 and 64 bit versions of the linux games?
You said it would try to help you with installing the libraries, but will this make it platform specific? I use Slackware myself, and as such I have to compile everything except for binary files. Perhaps a .tar.gz file that just lists deps is in order. Or something.
Again with the dependencies: Are you going to have Desura automatically test/remember your installed libraries?
Now for the requests (that you may have already done).
Can you allow us to download the Windows version? Some of us are willing to put up with WINE to play some exclusive. This could make DRM difficult though.
Add me to your beta program :P
Thank you for making a Linux client. I hope Desura goes on to inspire others to make Linux games.
Hi oldtopman,
With the 64 and 32 bit issues, as I mentioned somewhere else (I can't remember where sorry), we're focusing on a 64 bit client release first (this doesn't mean it can't run 32 bit games though). The games however are up to the game developers. Most of them ship with 32 and 64 bit, but not all.
As for libraries, we've decided to go down a different path, and all game dependencies will be shipped with the games, as they often depend on differing versions, and they're tiny anyway.
Also there's a ticket for WINE support (as mentioned), but it's not our first priority ;) As for beta testing just email support@desura.com saying you want to test Linux beta.
Thanks for your feedback!
-Keith
Uhhhhhhhh......... you wanna.... you wanna take another look at what you just said?
Ah sorry my mistake, I meant focusing on 32bit first! Oops. Haha
Can't wait for the Linux client to come out! Hopefully people finally start taking Linux as a gaming platform seriously.
Hey people,
I'd also like to pose a question to other Linux gamers out there: How informative or helpful do you think it would be to have an 'Open Source' flag/category on games? It's something that I like the idea of, but will of course only be implemented if we can see good reason for it :)
Thanks in advance,
Keith
Mmmm, I'd look at it like this: I personally wouldn't care past a "huh, that's cool". But there are people who would probably care about it. That's the positive. Now the negative: ... people who hate open source software wouldn't like it? There are people like that, right? Those crazy closed source zealots.
Seeing as you [Desura] encourage modding, having the source code would make that easier. You might want to flag it as "Hack-friendly" or whatever if the game supported hacks (minecraft) without handing out source code.
tl;dr
Flag it as mod-friendly instead.
@KameZero and @oldtopman
Great points, thanks people :)
Open source flag is nice. I think it would be good to know if you cand fix/file the bug you just encountered. :)
Aside from being an Open Source enthusiast, I'd be keen to see at least some general licence details on whatever game I was looking at (be it closed or open source). I'd put that as being somewhere around as important as knowing whether there's DRM associated with a title.
Is there any changelog/twitter/something what we can follow to read about progress? I'm sooo excited about desure linux client and I'd really love to read more about development.
+1
I'd also like to read more about the progress - just can't wait :D
Hey sorry this blog is about it. Even this is hard to keep up with due to the workload! Hah.
-Keith
*okay guy*
Well, at least anticipation is the greatest joy, isn't it? :)
Thanks for the intel on participating in beta. I just emailed in... hope I'm added to the list. Thanks for your replies to me previously, Keith.
Also a big "thank you" from here ^^
On Ubuntu here. When you're used to .deb-packages then installing proprietary games can quickly become a tedious excercise for newbies who don't know about permissions, tar.gz, manually starting bin-files etc. Desura for Linux should hopefully lower that barrier. For my part, I'm looking forward to having a central game-app, instead of 50 different apps scattered around in debs, tars, bins, homedir-dot-folders etc.
Again, thank you very much ;)
looking forward for this
Same here, can't wait to erase my windows partition!
meh i dont suppose i'll be able to install the 32bit client on my 64bit machine will i?
As long as you have the proper 32 bit libraries installed you should have no problem running any 32 bit program on a 64 bit system.
meh but what libraries will i need?
What distro are you on? The libraries are usually called ia-32-libs-xxx or something similar. Some distros install these automatically if you try to install a 32-bit app. If not they're easy to install. In short, don't worry.
ok cool also im running 11.04 and will be running 11.10 soon
When Desura is available for Ubuntu will I be able to install games from Humble bundle asking them for a code?
Thanks!
<3 Ubuntu
there is something i noticed when desura download the games it put all temporary files in hidden setting folders and then extract the game after finish (correct me if i am wrong) after that desura keep the file so at the end double size of all games, so if i do delete those file still desura will read my games. i mean meta data is written else where???