RSS Feed Desura Linux Development - Introduction

A blow by blow update regarding development of Desura for Linux.

Posted by Platima on May 30th, 2011

Hey people, Keith (platima) here. If you haven't heard of me before, it's most likely because I'm pretty new to the Desura group. I've been taken on as the Linux guru, and I'm working alongside Mark (lodle) to help bring Desura to all of us Linux enthusiasts. Oh and that may be news to you too! Although I'm sure a few of you out there had a bit of a guess with the big red banner at the top of

Now this is no small task, there are many different aspects of the application and infrastructure to cover, there'll always be unexpected surprises, and of course starting 2 years into a projects development is never easy! To keep the community updated with what's going on, and to get feedback and comments from all of you, is something that I really like the idea of, so this morning I talked my boss into getting this blog going, the trend of which will be Desura Linux Development (track us, rss feed, twitter, facebook).

To grab your attention again, here are some colourful pictures of the Desura login screen, sans theming (explained below), and one working as expected... Which I then proceeded to break again (on purpose).

The first screen of Desura on Linux

I'm going to roughly split each blog entry into two sections: the technical apsects (for the sort of people that understand what an 'abstract base class' is), and the non-technical (for those interested in Desura in general, Linux fans around the globe, and gamers alike). I'll also try to keep it relatively short and to the point, as I want to do these semi-frequently.... Somewhere between daily and fortnightly I suppose. Haha. Oh and if you keep your eye out, there may also be more screenshots from time to time.

OK so a quick catchup:

  • I wrote a few decent scripts that handle all the compiling for us, and re-arranged things slightly so that it all fit nicely together
  • The first two weeks were basically spent planning how to tackle this beast, '#ifdef'ing out the Windows specific code, converting back-slashes to forward-slashes in '#include' lines, and trying to eat my keyboard as it dawned on me just how big Desura is!
  • We've gotten the basics of it running, and after some rather colourful results while theming was still broken, we even managed to log in.
  • We got theming going, but then I found a bug that I considered more detrimental down the track, so we've broken theming again for now at the expense of resolving some other issues.
  • We've also found the hard way that as cross-platform as wxWidgets is, it'll always behave differently on different platforms. I guess this is the downside of it wrapping to the native OS widgets functions (Win32/GTK/Cocoa) as opposed to being a full widget set of it's own (Qt/GTK).
  • And I'm sure there were other notable things, but I'm drawing a blank right now.

Catch you soon,

Keith Poole
Linux Engineer / NPC

My quote of the day: "An escalator can never break: it can only become stairs. You should never see an Escalator Temporarily Out Of Order sign, just Escalator Temporarily Stairs. Sorry for the convenience." -Mitch Hedberg, RIP

PS: I didn't actually try to eat my keyboard, although I probably lost colour in a few hairs

Salsa_Shark May 30 2011, 1:09am said:

One problem I've found with Qt, is it always makes things bigger (bloated).

Good work though.

+1 vote     reply to
lodle Jun 1 2011, 4:53am replied:

We are not using Qt but wxWidgets

+3 votes     reply to
Salsa_Shark Jun 1 2011, 6:38am replied:

Excellent, wxWidgets is my GUI library of choice :)

+2 votes     reply to
iamcreasy May 30 2011, 1:12am said:

but it has always made big things better.

+1 vote     reply to
MarcusM May 30 2011, 1:50am said:

Thanks for keeping us up to date!

+2 votes     reply to
aihtdikh May 30 2011, 2:21am said:

Good stuff! I love the QOTD.

+3 votes     reply to
ponpat May 30 2011, 4:14am said:

I always love to read development news. Especially if they are about gaming OR Linux (now it somehow is both at the same time. Thats such a nice feeling to read it *-*)
But just a little bit off-topic: when I installed the first public version of Desura it started four times faster then steam (I was able to start it, update it and restart it before steam was started). And now it takes about 5 minutes to start. Did Desura itself get slower and slower, is Desura getting slower if it is used for a longer time, or ist it getting very slow if you have installed many mods and games? Anybody else have this problem, too?

+2 votes     reply to
lodle Jun 1 2011, 4:55am replied:

Depends what you where doing. A fully up to date version should start almost instantly and we are looking at ways of making updates for the client smaller and faster.

+1 vote     reply to
erlend_sh May 30 2011, 4:29am said:

Fantastic! Best Desura news to date.

One thing puzzles me a little:
"(...) starting 2 years into a projects development is never easy!"
That sounds like cross-platform wasn't much of a concern, from planning to release. Is that really the case? I always imagined cross-platform was the idea from the start, with Desura aiming to be the developer's publishing platform and all.

+3 votes     reply to
KameZero May 30 2011, 4:39am replied:

Being planned cross-platform and using cross-platform libraries is actually a far cry from BEING cross-platform. Many libraries will always have different quirks on different OS's and large programs usually have some OS specific code because it's just easier than making every line completely platform agnostic.

Luckily programs that use cross-platform libraries and relatively easy to port because most of the work is done for you. It's a lot of ironing out bugs and rewriting any platform specific code.

If you want some in depth information read some of the various things by icculus on Linux gaming and porting.

+2 votes     reply to
Protektor Jun 2 2011, 12:50pm replied:

I have talked over the years a bit with Ryan and I have tried to help other developers port to Linux. So I am very aware of some of the issues. I have to say that Ryan is very bright and very impressive with his porting. The biggest problem with porting to Linux is that the needed documentation for things is spread all over the place, some docs on SDL here, some on GTK over there, some on OpenGL there, etc. I have found the biggest problem for indie developers is that documentation isn't in one neat location to look everything up. So that can be frustrating to some developers. Which is completely different from how Windows development works, and I would assume Apple development as well. You would think with access to all the source code, from the bare metal up, would make things easier for them, but most developers don't want to spend the time required to dig through source code to really "grok" how it all works.

So I applaud you guys supporting Linux and I can't say enough good things about it. I always try to support and do a little cheering/moral support for developers who port to their stuff to Linux. Linux has always had the chicken and the egg problem for gaming. So getting people to either do one or the other is always something I am grateful for and want to support. I personally think if Desura can get a fairly decent number of Linux games in the client and put up videos, reviews and user feedback/reviews that it will go a long way to making people see Linux as a system that doesn't mean that they give up good gaming.

+1 vote     reply to
INtense! May 30 2011, 12:21pm replied:

we planned it from the start, and it literally didn't take long at all to get desura cross-compiling. getting it actually functional and working out the quirks is the hard bit as Kame rightfully points out

+2 votes     reply to
necrophcodr May 30 2011, 4:44am said:

That's fantastic! I'm looking very much forward to a Linux client of this!

+3 votes     reply to
Kapukw May 30 2011, 6:28am said:

Excellent news!
After the release of a Linux client need to contact with several companies such as id Software (Doom 3, ET:QW). Many people want to buy old hits for Linux. It is beneficial to developers and Desura, I think.

+7 votes     reply to
Tech|Rogue May 30 2011, 7:27am said:


+2 votes     reply to
azultain May 30 2011, 10:23am said:

a good thing

+2 votes     reply to
Mdyter May 30 2011, 10:47am said:

Great, that is the beginning of what i was waiting for !

+2 votes     reply to
Maury May 30 2011, 1:40pm said:


+2 votes     reply to
Dragonlord May 30 2011, 4:05pm said:

I would have used FOX from the beginning. Requires a single DLL alongside but it behaves relatively well on different platforms without all the bloat GTK or Qt are sending into the field. But at last something is going on. Better having to do heavy porting than no porting at all :D (compiling with scripts? SCons guys... SCons! :D )

+1 vote     reply to
lodle Jun 1 2011, 4:56am replied:

Since compiling chrome which uses gyp, we decided to use gyp as well to keep it all the same. :P

+1 vote     reply to
sean.dybob May 30 2011, 4:13pm said:

It's probably requires the binary drivers form Nvidia or AMD.

+3 votes     reply to
MaxHayman May 30 2011, 7:30pm said:

Nice, im thinking of porting my game over to Linux, so this will be another good reason to do so.

+2 votes     reply to
Magrathean May 30 2011, 10:08pm said:

Some excellent work coming from the guys at Desura, cannot wait to see it live guys! Keep up the good work!

+2 votes     reply to
Jncocontrol May 30 2011, 11:12pm said:

Excellent job Desura, as a Linux user. You guys have my support.

+1 vote     reply to
FingerSurprise May 31 2011, 4:34pm said:

Great! :D

+1 vote     reply to
linux-gamer-91 Jun 1 2011, 12:50pm said:

Very Great! :D

+1 vote     reply to
Protektor Jun 2 2011, 12:37pm said:

I really look forward to seeing Desura support Linux. I think it can drive gaming forward and really help out the Linux gaming community given that Steam does not support Linux and at the point appears to either have given up or never had real plans to support Linux. That is too bad as there are a fair amount of indie game developers that do support Linux. You only need to look at any of the "Humble Bundles" and see there are new Linux games being made, and that serving Linux gamers is more profitable than windows or mac users. I applaud Desura for working on a Linux client and I eagerly look forward to using it.

If you need any beta testers I would love to help test it out and I have done quite a bit of beta testing over the years.

My only other question is, is there going to be a way to tightly link the Linux gamers to the game development companies that support Linux? Right now I have bought all the "Humble Bundles" but there is no way for any of the developers to know who bought what and to offer them upgrades and support. So it would be nice to be able to somehow register the Linux games we already own and keep in better touch with the developers. I think that is one way Desura could be better than Steam, in that you could allow communities to build up around development houses as well as game.

+1 vote     reply to
Protektor Jun 2 2011, 4:07pm said:

I have a question for you about the Linux client. I only run Linux here, I don't dual boot. I noticed that a couple of the games for sale here also have Linux versions but I don't see that you can actually buy them and get the Linux versions. Am I missing something or are just Windows versions of games sold right now? My other question is if someone buys a Windows version when the Linux client comes out will they be able to get the Linux version of the game they purchased before?

+1 vote     reply to
Platima Jun 3 2011, 5:47am replied:

Hi Protektor,

I'm not too sure if Linux versions will be automatically redeemable, I guess that depends on the developers and how they want to handle it. I am taking a guess that packages similar to Humble Bundle (where you get your choice of platform), will automatically be redeemable on whatever platform you're on. Scott will have more detail on this though.

You're right on the other point though, at the moment we are only selling the Windows versions. As we get closer to a Desura Linux release, you'll probably start to see the Linux versions of some games appear, or even Linux-only games themselves! I'm sure we'll keep the community updated as this progresses.

Good work running only Linux too, I wish I could say my laptop was so clean, but albeit I dual boot OS X for synchronising my iDevices.

As for your prior post and linking Linux gamers to the developers, this is of course something that we care about (supporting the indie scene) strongly, but may not always be possible. I believe that when games are redeemable on Desura like the Humble Bundle ones, or bought on Desura like others, it will however maintain that close relationship that allows updates, support and reviews to flow in both directions.

Regarding beta testing, we'll let the community know when we get to that stage, as I'm sure there'll be many people interested. Just make sure you've put your email address in the red box at the top for Linux/Mac related notifications.

To all the others: thank you for your great comments! Sorry if we miss any, as it can be hard to keep up with!

Keith Poole
Linux Engineer / NPC

+2 votes     reply to
EaglesNestOne Jul 4 2011, 7:05am said:

What you're doing is great Keith. I can't wait for more blog posts.

+1 vote     reply to
Post a Comment
click to sign in and comment

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Related Groups
Desura Official group with 12,322 members
Linux Gamers
Linux Gamers Fans & Clans group with 3,011 members