• Register
Post news Report RSS Desura Linux Development - Downloads and Bug Fixes

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

Posted by on

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!

In-app

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.

In-app

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.

In-app

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.

Post comment Comments  (0 - 50 of 80)
aihtdikh
aihtdikh - - 6 comments

Haha cheers Keith.
Looks like things are going really well, good job!
Credit where credit's due though - when I said that I was quoting somebody else.
I don't remember where I got it from, but Google tells me it is available printed on a rather charming ThinkGeek shirt. :)

Reply Good karma Bad karma+2 votes
Platima Author
Platima - - 76 comments

Hah yeah.

Thinkgeek.com for any chicks out there that want one.

-Keith

Reply Good karma+2 votes
Septies
Septies - - 1 comments

Wow this thing is really coming along nicely, the progress has been remarkable.

Also I love seeing more than one of my avatars being used in one place :)

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

Cheers :)

Haha yeah, they look good in a row!

PS everyone: it was Septies that made these awesome avatars, another programmer and good mate of aihtdikh and myself :P

-Keith

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

pffft. It was all me. Keith does nothing

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

I like how I can just delete that comment if I want. Haha

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

What version of Ubuntu are you coding/testing Desura on?

"one of you users may even manage to write a hacked up Desura theme" :D

Reply Good karma Bad karma+3 votes
Platima Author
Platima - - 76 comments

8.04 i386 :)

-K

Reply Good karma+1 vote
Alex2
Alex2 - - 1 comments

You know that Ubuntu 8.04 desktop isn't supported any more (as of 12/5/11), right?

Reply Good karma Bad karma+2 votes
Platima Author
Platima - - 76 comments

Yup, downloaded it just before it went out of fashion ;)

Reply Good karma+1 vote
gazornonplat
gazornonplat - - 388 comments

How long until developers on IndieDB will be able to publish linux games on this service? Our game won't be done for some time, but we want to release for PC, Mac and Linux simaltaneously, and don't know if the protocol/steps differ from OS to OS.

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

send an email to support@desura.com and we will let you know

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

Well I guess I am really old. I know where the "OMG PWNIES!" comes from. It started on Slashdot years ago before most people knew about it. It came up in a discussion of a list of stupid features some program had. Someone then carried it off to a joke asking if it had Care Bears, Rainbows, Unicorns and Prancing Ponies saying it wouldn't be perfect unless it had them. The next response was "OMG PWNIES!" and it has stuck and become a kind of inside joke on Slashdot. So you usually get something about whatever being discussed needing ponies and unicorns to be perfect followed by "OMG PWNIES!"

It's right up there with the "Sharks with laser" meme from Slashdot. Which went from they jumped the shark, a reference to Happy Days and Fonzie jumping a shark enclosure on water skies and someone one saying that they knew Happy Days went on a down hill slide/was over when they "jumped the shark". Well on Slashdot some how that got combined/devolved with sharks are cool and laser are cool, so sharks with lasers must be really cool. It was brought back to "Yea but did they jump the shark with lasers?" Another Internet meme was born.

Which leads to the ultimate Slashdot joke turned game. I forget how it came up about all the different yet the same Barbie computer games but someone mentioned they wanted to buy Barbie Seahorse Adventures. There was discussion about what the game must have. The discussion turned to how the game would be a trick and it would lure you in with the promise of Barbie only to smash your dreams with no Barbie in the game at all. Someone with clearly too much time on their hands ran with it and did exactly that, made "Barbie Seahorse Adventures" that has no Barbie in it at all. Thus another Internet meme of sorts.

Yes I know, way too much trivia.

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

Oh here is the link for the "Barbie Seahorse Adventures" game.
Imitationpickles.org

Reply Good karma Bad karma+4 votes
benderamp
benderamp - - 57 comments

you are making history here, really.

by the way, there are at least 3 games on your screen:
Space pirates and zombies: Indiedb.com
Knights of honor: Indiedb.com
Dark Horizon: Indiedb.com

which are not declared to support linux on their indiedb pages, but still listed in you client - does that mean we can also wait for their ports, or this is random event and the list on the screenshot is not filtered by supported platform=linux?

Reply Good karma Bad karma+8 votes
gazornonplat
gazornonplat - - 388 comments

Well observed. I'd say it can't be just a coincidence, when all the other games are publicly declared as Linux supporting. We should look out for Linux news from those three games in the coming weeks, you may have just blown their cover. :)

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

Its loading windows games atm. Still have a couple of things to do before release :D

Reply Good karma Bad karma+2 votes
benderamp
benderamp - - 57 comments

Would hope that this would be true - at least this is highly possible - Space pirates and zombies is using Torque 2D engine, which supports linux, and the other engines are "custom built", so the port does not depend on 3pty engine developers.

Would be great to see that desura not only gathers existing linux games at one place, but also forces ports of existing titles.

By the way, missed another game from the list - Gratious space battles: Indiedb.com (also custom built engine).

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

Oh god... an Under-Myself-Directory-Installer. That's going to cause troubles but okay, yet another app to do symlink-hell with. Games under home is really a real pain. :(

Reply Good karma Bad karma+1 vote
joeka
joeka - - 52 comments

some will like it, some won't. For me it's perfect. It's what I'm doing with games anyway :D

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

Games under home... Oh Jesus. tar backup cron jobs and Bacula gonna hate you for this, for all eternity (oh and NFS mounted homes too) ;) . There's a reason you can chown /opt/games ;)

Reply Good karma Bad karma+2 votes
Platima Author
Platima - - 76 comments

Hey,

Thanks for the comments. We took your feedback on board with the last blog, and weight it up with a few other options. For now, we're sticking with this 'portable folder' style release, however I have added a ticket to support configuring cache and game directories.

On that note, I've (possibly temporarily) moved forward to developing on Ubuntu 10.04.3 LTS i386. The final build may be on an older distro though (read as 'older libc'). I will also be testing with a variety of old and new distros (openSUSE, Fedora, etc).

-K

Reply Good karma+2 votes
cheesekiller
cheesekiller - - 25 comments

i already put all my games under home in my "games" folder

Reply Good karma Bad karma+3 votes
arakash
arakash - - 4 comments

what a perfect timing! I'm just about to buy the new Indie Humble bundle. Since the last two could be activated through desura, will it be the same with the new one?

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

Yes if you buy the Humble Bundle 3 you will get a Desura code to get all the games here. I bought the Humble Bundle 3 already and I got a Desura code as well on my access page or whatever you want to call it where you can download the games.

Reply Good karma Bad karma+3 votes
TheSniperFan
TheSniperFan - - 376 comments

Very nice. I am SO looking forward to use this! :D
But I have one little question. I see that those screenshots were made on Gnome 2.? (I guess 2.6->Ubuntu) and therefore use GTK+2.
I'd like to know if there could be any problems when the distribution uses GTK+3 (I switched from Ubuntu to Fedora)? It could be way to early to ask this, but this really bothers me, as it would be a bad surprise if it gets released and makes problems on my distribution.
Thanks.

Reply Good karma Bad karma+4 votes
Platima Author
Platima - - 76 comments

Hi,

I don't foresee any problems from what experience I have had with Gnome 3, but I will make a note to test it out.

Thanks
-Keith

Reply Good karma+3 votes
mikeplus192
mikeplus192 - - 8 comments

In that first screenshot, is that oxygen-gtk you're using for the buttons? :)

Reply Good karma Bad karma+2 votes
Platima Author
Platima - - 76 comments

Nope, all wxwidgets with custom painting :)

-Keith

Reply Good karma+3 votes
ice_trey
ice_trey - - 1,106 comments

when everything fall only a Unix kernel stands tall =)

Reply Good karma Bad karma+4 votes
Antc
Antc - - 4 comments

You can say when we can test the cliente ??? aproximate date??

Reply Good karma Bad karma+1 vote
wooglah
wooglah - - 4 comments

Can't wait for x64 GNU/Linux client, so I can remove windows from my system... forever. If you build it - we will come.

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

Keep in mind that this is only a "distribution" client. Just because Desura is going to work on Linux does NOT mean all games you have will be working on Linux. If you had so far only Linux games you'll be find. If you had so far playing Windows games this WON'T change with Desura over-night.

Please keep this in mind folks so you are not disappointed when Desura for Linux comes. I've seen tons of people down-calling and ripping apart any advancement under Linux because they simply didn't understand that existing games won't magically appear on Linux out of the box.

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

Thanks for fielding some comments for me, any help is good!

-Keith

Reply Good karma+2 votes
Antc
Antc - - 4 comments

I know, but my question has be not answer.

Reply Good karma Bad karma+1 vote
Dragonlord
Dragonlord - - 1,934 comments

Simple: WID... When It's Done ;)

Reply Good karma Bad karma+1 vote
srkelley
srkelley - - 1 comments

Keep up the good work, I've been following Desura for a while off and on but I'll actually start using it when the linux client releases. I'm a lazy gamer, I just want to click install and let it be done, which is why I use Steam on windows. With those Desura keys that I'll be receiving from the Humble Indie Bundle it'll be a nice test drive. Not only that but I saw two games here that I wanted, this will be fun :)

Reply Good karma Bad karma+3 votes
Platima Author
Platima - - 76 comments

Hey srkelley,

That's exactly what I'm using to to test drive it (although we were using Windows games to test download/install).

-K

Reply Good karma+2 votes
niniendowarrior
niniendowarrior - - 2 comments

I'm so looking forward to this. I wonder if Desura will include some Wine trickeries for the games that do work on Wine with the usual "This isn't officially supported... BUT..."

Bring on Desura on Linux already! :D

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

We're getting there :P

-K

Reply Good karma+2 votes
Techna
Techna - - 70 comments

I'm waiting for this because the guys at valve won't put steam on linux because it works on WINE on high end computers

Reply Good karma Bad karma+1 vote
cheesekiller
cheesekiller - - 25 comments

steam works about as well as a dog with a broken leg, yea it works but only kinda and you have to **** around to get each invidivual game working

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

Hahaha what a brilliant analogy, and I completely agree.

Reply Good karma+1 vote
darthlukan
darthlukan - - 1 comments

I know that you are currently working on a binary installer, but for those of us who run distros that favor source packages (Gentoo) or that can at least build a package manager specific binary from source (Arch), will Desura be at all accommodating? It's a lot easier (read less tedious) for some to take the source package and turn it into a package manager specific binary than it is to "reverse engineer" say a .rpm or .deb to try and grab the source out of it and then recompile/repackage.

Also, is there any specific reason to build only for x86? I'd think it would be easier to just build it on a 64bit system and have the option to run two build scripts (since 32bit is generally compiled on 64bit first) thus allowing for easier catering to 2 architectures instead of one. Most gamers are running modern hardware, even if we do prefer Linux.

Thanks for the blog update, it's nice to see progress from a company taking my preferred platform/OS seriously :)

Article is now linked on my Google+.

Reply Good karma Bad karma+2 votes
Platima Author
Platima - - 76 comments

Hey darthlukan,

I think you slightly misunderstood. Not a binary installer, just a single binary file that downloads the rest of the requirements around itself. We do have a ticket filed for packaging options though and it's something that I know would be handy :)

The reason we're targeting x86 (IA-32 to be politically correct) first is because it's still more widely used than amd64 from what I can see. Unfortunately compiling on one architecture doesn't mean it'll compile on the other(s), and they usually have different bugs and dependencies. We have however done a few test builds, and it is something that we have another ticket filed for!

You're more than welcome, thanks for the great feedback (and link).

-Keith

Reply Good karma+1 vote
cheesekiller
cheesekiller - - 25 comments

will we ever be getting a 64bit version? i dont have 32bit.......... i'm running 64bit ubuntu 11.04 and when it comes out 11.10..........

Reply Good karma Bad karma+1 vote
Cheeseness
Cheeseness - - 88 comments

You can run 32 bit apps on a 64 bit OS. Depending upon how your system is set up, you might need some compatibility libraries, but once you've got those, you're good to go :)

Reply Good karma Bad karma+1 vote
AtomicGaryBusey
AtomicGaryBusey - - 2 comments

Dude, dude, dude!!! I've been on Desura for a little while, since PAX 2010 at least, but I had no idea you were porting the client to Linux. Kudos to you for sending out a newsletter to my email address with a big old "LINUX" enticement in it otherwise I'd never have known. Even the fact that you're thinking about it makes me waaaayyyyy more inclined to spend money with you guys.

This really makes me stoked. I've always tried to be a Linux gamer but it's so incredibly tough... I remember being awake for three days straight trying to get Mesa installed correctly on a fresh Debian system back in 2004, just to run Quake. I was sporting an ATi card back then and the drivers alone were a bitch to deal with, then you toss the damnable AGP gart incompatibilities in... I think it took me about two weeks of solid hacking before I could actually play 10 minutes straight of Quake 1.

Now we jump forward to today and I see the wonderful work you're doing. Thank you! I really do appreciate it!

It does make the SysAdmin in me cringe to see homedir installation and binary installers, but if that's what it takes to get into my hands quickly then so be it. I do see you've added a devnote to make paths configurable, which is stellar. Any chance of adding one so us Gentoo nuts can configure, make, make install like we all love via a src package? :D

Reply Good karma Bad karma+1 vote
mattjohn0169
mattjohn0169 - - 4 comments

I may be misunderstanding you, but I'm pretty sure they won't be publishing the client source code.

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

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

Reply Good karma+1 vote
Post a comment

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