Post news Report RSS Desura Linux Development - Introduction

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

Posted by on

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 indiedb.com.

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
Desura

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

Post comment Comments
Salsa_Shark
Salsa_Shark - - 1,292 comments

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

Good work though.

Reply Good karma Bad karma+1 vote
lodle
lodle - - 204 comments

We are not using Qt but wxWidgets

Reply Good karma Bad karma+3 votes
Salsa_Shark
Salsa_Shark - - 1,292 comments

Excellent, wxWidgets is my GUI library of choice :)

Reply Good karma Bad karma+2 votes
iamcreasy
iamcreasy - - 73 comments

but it has always made big things better.

Reply Good karma Bad karma+1 vote
MarcusM
MarcusM - - 158 comments

Thanks for keeping us up to date!

Reply Good karma Bad karma+2 votes
aihtdikh
aihtdikh - - 6 comments

Good stuff! I love the QOTD.

Reply Good karma Bad karma+3 votes
ponpat
ponpat - - 129 comments

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?

Reply Good karma Bad karma+2 votes
lodle
lodle - - 204 comments

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.

Reply Good karma Bad karma+1 vote
erlend_sh
erlend_sh - - 32 comments

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.

Reply Good karma Bad karma+3 votes
KameZero
KameZero - - 96 comments

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.

Reply Good karma Bad karma+2 votes
Protektor
Protektor - - 264 comments

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.

Reply Good karma Bad karma+1 vote
INtense! Staff
INtense! - - 4,099 comments

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

Reply Good karma+2 votes
mastersrp
mastersrp - - 132 comments

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

Reply Good karma Bad karma+3 votes
Tech|Rogue
Tech|Rogue - - 57 comments

SO EXCITED.

Reply Good karma Bad karma+2 votes
azultain1999
azultain1999 - - 1,445 comments

a good thing

Reply Good karma Bad karma+2 votes
Mdyter
Mdyter - - 15 comments

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

Reply Good karma Bad karma+2 votes
Maury
Maury - - 130 comments

Good

Reply Good karma Bad karma+2 votes
Dragonlord
Dragonlord - - 1,934 comments

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 )

Reply Good karma Bad karma+1 vote
lodle
lodle - - 204 comments

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

Reply Good karma Bad karma+1 vote
sean.dybob
sean.dybob - - 69 comments

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

Reply Good karma Bad karma+3 votes
MaxHayman
MaxHayman - - 45 comments

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

Reply Good karma Bad karma+2 votes
Magrathean
Magrathean - - 87 comments

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

Reply Good karma Bad karma+2 votes
Jncocontrol
Jncocontrol - - 6 comments

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

Reply Good karma Bad karma+1 vote
MrCal3x
MrCal3x - - 60 comments

Great! :D

Reply Good karma Bad karma+1 vote
linux-gamer-91
linux-gamer-91 - - 28 comments

Very Great! :D

Reply Good karma Bad karma+1 vote
Protektor
Protektor - - 264 comments

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.

Reply Good karma Bad karma+1 vote
Protektor
Protektor - - 264 comments

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?

Reply Good karma Bad karma+1 vote
Platima Author
Platima - - 76 comments

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!

Regards,
Keith Poole
Linux Engineer / NPC
Desura

Reply Good karma+2 votes
EaglesNestOne
EaglesNestOne - - 35 comments

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

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: