Report article RSS Feed Desura Linux - Super Mega Game Update

Notes on important changes to the Linux Beta and Linux Games.

Posted by lodle on Oct 20th, 2011

So the *first* major change affecting the Linux client is here, and it concerns how we handle a games dependencies. The old method had each library included with the content, which as you can imagine is problematic when a library is missing. It also causes conflicts when the same library is already on the system.

tools

The new method allows easy selection of libraries from the administration panel and the client handles these in a much smarter manner. It first scans your system to make sure that you don't already have the library and if its missing it downloads and sets the library up for the game.

This new method also allows better handling of dependences like Java, Mono and Air which comes with a improved prompt that offers help if they are missing.

GatherInfo

Another feature that was requested was the ability to set a different binary to launch games via and this has now been added to settings along with an option to add global launch arguments.

Settings

The issue with forms not being tall enough to press the buttons should be fixed along with Desura not saving relative paths so you are free to move Desura around where ever you please.

Due to the massive changes in the way games work some games might not work correctly as we are still in the process of testing them all and as always please report bugs on the forums. This change will also mean you are prompted to restart the client after the next auto-update.

Post comment Comments  (0 - 50 of 65)
INtense! Staff
INtense! Oct 20 2011, 8:01am says:

Once we are happy with this change, we shall be exiting beta and focusing on content! So more games are on their way

+26 votes   reply to comment
Cheeseness
Cheeseness Oct 20 2011, 8:23am replied:

That's fantastic to hear! Congratulations to all of you and good luck with the launch :)

+11 votes     reply to comment
INtense! Staff
INtense! Oct 20 2011, 9:33am replied:

I should add, Cheese wrote an AWESOME article about Desura on linux. Very comprehensive a must read for gamers and developers alike: Twolofbees.com

+9 votes   reply to comment
MarcusM
MarcusM Oct 20 2011, 8:29am replied:

That's so awesome! Keep it up (-:

+5 votes     reply to comment
Feeyo
Feeyo Oct 20 2011, 1:29pm replied:

Awesome work! Good to hear we can expect new titles :)

+3 votes     reply to comment
Sarwen
Sarwen Oct 20 2011, 2:08pm replied:

How great is sounds in my heard :) You've done a great work! Thanks!!

+1 vote     reply to comment
Magbed
Magbed Oct 20 2011, 8:29am says:

Great update! thnx for your work

+4 votes     reply to comment
Dragonlord
Dragonlord Oct 20 2011, 9:38am says:

Nice additions. How with game engine libraries? Are they also going to be handled like this or always included with the distribution?

+2 votes     reply to comment
gabsd84
gabsd84 Oct 20 2011, 10:08am says:

After the update, non of my games are listed as ready in the client even though they are still in the desura folder on my HDD.

Ubuntu 11.04 64Bit

+3 votes     reply to comment
lodle Author
lodle Oct 20 2011, 12:14pm replied:

settings are reset.

+1 vote   reply to comment
die_z
die_z Oct 20 2011, 6:30pm replied:

I can't find the GUI part where I can add already-installed games anymore.

In fact, menu entries for "Tools > Activate Game CD key or Gift" and "Tools > Add Games Installed" bring the same GUI up.

Did that functionality get removed? Any CLI way of doing this?

+5 votes     reply to comment
hensip
hensip Oct 20 2011, 10:35am says:

Awesome! My congratulations for your work.

+3 votes     reply to comment
tmccullough
tmccullough Oct 20 2011, 10:51am says:

Good to hear you guys are plugging away at this. Looking forward to see what new content gets added.

+2 votes     reply to comment
novemberdobby
novemberdobby Oct 20 2011, 11:08am says:

Nice!

+2 votes     reply to comment
intgr
intgr Oct 20 2011, 11:12am says:

Thanks, the improved library management is great news. Sounds like the first Truly Linux game distribution network -- instead of a Windows application that was retrofitted to "mostly work" on Linux.

I do wonder whether this may clash with distribution-customized libraries though. They don't customize them much, but preconfigured path (e.g. configuration files, socket paths, etc) may differ between distributions.

+4 votes     reply to comment
Hyeron
Hyeron Oct 20 2011, 11:26am says:

Awesome, I needed the library changes pretty badly. The only thing left between you and perfection is now the addition of custom launchers for non-Desura games.

Thanks a ton for your work and dedication :)

+3 votes     reply to comment
Dinopron
Dinopron Oct 20 2011, 11:37am says:

I think the team is really working hard to make the linux port as good as possible, rarely linux receives this massive amounts of love. Good work desura team!

+11 votes     reply to comment
wizardskill
wizardskill Oct 20 2011, 12:02pm says:

Just installed the update! You're all doing an amazing job with keeping the updates coming! Glad to be here!

+3 votes     reply to comment
die_z
die_z Oct 20 2011, 12:15pm says:

Many thanks for all your work!
Let's test games and see what comes out ;)

+3 votes     reply to comment
KingDD83
KingDD83 Oct 20 2011, 12:49pm says:

Nice... I'm amazed my request was added so fast.

+4 votes     reply to comment
charrety
charrety Oct 20 2011, 2:43pm says:

Good job, thank you.

+2 votes     reply to comment
liamdawe
liamdawe Oct 20 2011, 2:52pm says:

How would we use the launch games via this launcher option? I want to run the command "optirun" on all games.

+1 vote     reply to comment
lodle Author
lodle Oct 20 2011, 6:45pm replied:

just goto settings and type the full path to it in the first box (do "which optirun" in console to find the full path)

+1 vote   reply to comment
hero1900
hero1900 Oct 20 2011, 2:52pm says:

hi guys after update to this final release all my games are gone from the list of ready games. do i need to reintsall them???i saw all of them exist in the common folder
how i can fix that ??

+1 vote     reply to comment
Sph!nx
Sph!nx Oct 20 2011, 3:38pm says:

Nice work. Thanks!

+1 vote     reply to comment
retrograde77
retrograde77 Oct 20 2011, 5:44pm says:

Fantastic work, am really impressed with the linux client :) Works great here on Arch.

+2 votes     reply to comment
lodle Author
lodle Oct 20 2011, 6:46pm says:

Was mentioned in the post that settings/cache would be reset. Just double click the game and it will reinstall it (make sure you select validate local files)

+1 vote   reply to comment
hero1900
hero1900 Oct 21 2011, 1:53am replied:

the thing when i double click it the desura will hang and i will wait for hours then it crash when i cancel the gathering information window

+1 vote     reply to comment
die_z
die_z Oct 21 2011, 7:13am replied:

Double-clicking on the game re-downloads it all.
After gathering information it proceeds verifying files and then just goes on downloading.

side note: after clicking on the "Cancel" button on next try console pops up reporting "Failed to save item to db: database is locked". Install/download process doesn't change though.

+1 vote     reply to comment
die_z
die_z Oct 21 2011, 11:22am replied:

moving games from common/games/ in to common/ fixed my situation

now double-clicking on a game I already had installed finds old files and asks me what to to: choosing to verify old files and install missing ones does what I would expect and in a few moments the game is back in "Ready" status

0 votes     reply to comment
liamdawe
liamdawe Oct 22 2011, 6:04am replied:

Problem is that for me it seems when i close it - it resets again, i installed Osmos a night ago after deleting all my /common after this update, now on boot up it doesnt find it again...needs a little tweaking i thinks.

+1 vote     reply to comment
Protektor
Protektor Oct 22 2011, 3:32pm replied:

If you deleted everything in common then you will need to reinstall it, unless you mean Osmos is no longer listed in your account. The client after it logs in and you go to games should download a list of your games from the server.

+1 vote     reply to comment
liamdawe
liamdawe Oct 22 2011, 5:24pm replied:

Actually if you check the linux bugs forum it's a big issue, games keep saying they are not ready even when they are, Osmos being one of them.

+1 vote     reply to comment
pseudomind
pseudomind Oct 21 2011, 12:23am says:

I finally got Desura installed on Linux... I must say, I have been waiting for someting like this on Linux for a long time. Thanks for the hard work guys!

+3 votes     reply to comment
Protektor
Protektor Oct 21 2011, 1:55am says:

The global game launch binary can be thought of, for example of using "nice" to give all games top priority so they run well and interrupts are minimised. Someone mentioned optirun and that is another example of the global game launch binary.

I hope that helps explain that feature.

+1 vote     reply to comment
liamdawe
liamdawe Oct 22 2011, 6:07am replied:

Can we use multiple ones? So to use nice and optirun?

+1 vote     reply to comment
mjau
mjau Oct 21 2011, 6:09am says:

This is a mistake. It sounds good in theory, but in practice, every game has different library requirements, depending on specific versions or features, or even complex interdependencies between libraries that only manifest themselves in very specific cases. This is why the most compatible Linux games always ship their own libraries, and don't depend on distro versions (except for stuff like glibc and OpenGL)

With the old (correct) system, developers could use libraries that are tested and verified to work with their game, or even optimized for that particular game's needs. Missing libraries could happen, but that'd just be a bug, and easy to fix. Just add the library and you're done. Setting RPATH or LD_LIBRARY_PATH properly will ensure that the correct libraries are used.

With the new system, the libraries may change and break games at any time. If Desura replaces a library to fix a problem with one game, this may easily break another game. Users will have games randomly break for no apparent reason. Even if this DOESN'T happen for an update, there's no way to know unless you retest all games that depend on some library every time it's updated (or its dependencies are updated, etc). That's a lot of extra work.

Please rethink this.

+2 votes     reply to comment
Protektor
Protektor Oct 21 2011, 9:58am replied:

You are in theory correct, however it is not the issue you think it might be. Developers can still include any libraries they want with their games. There are however about 15-20 libraries that games use and are the exact same version that aren't installed by default on some distributions. Perfect example of this is SDL. It is very standard there is the current version of API that everyone uses so adding that to a common set of libraries only makes sense. The same with OpenAL. For certain libraries it only makes sense to offer a set of common ones to developers. Take a look at the screen shot and see which libraries are being offered. You should also note that very specific versions are being offer with specific interface versions. They are also libraries that developers are not including because they assume they are installed on the user's system when in fact they are not always installed for all users.

+1 vote     reply to comment
rioninja
rioninja Oct 21 2011, 12:27pm replied:

You guys are definitely on the right track. Thanks for taking the Linux port seriously. Desura is exactly what Linux needed to help solve the "chicken and egg" problem with games on Linux. I've made a few purchases already, and look forward to many more.

+2 votes     reply to comment
Protektor
Protektor Oct 22 2011, 3:42pm replied:

I should also note that client has some smarts about libraries. If you have that library already installed on your system then it will not download a version to use. Instead it will symlink to the version you have installed and add the lib directory to the lib path to make sure that the libraries are picked up properly.

+1 vote     reply to comment
mjau
mjau Oct 28 2011, 8:00am replied:

This is actually even worse. Distros like to apply their own patches to everything, and that's broken stuff before. At least with Desura's versions, you have some degree of control.

You say it's not as bad as I think it is, but that's not my experience -- I've personally run into exactly this kind of problem even with big libraries like SDL (overly restrictive surface restrictions in one version, audio issues), SDL_mixer (missing format support), SDL_ttf (incompatibilites with certain versions of Freetype for some specific font/setting combinations), Freetype itself (different rendering of fonts in Windows and Linux versions depending on settings), random crashes for who knows what reason, and that's just some of it. All bugs reported that were magically fixed when the reporter admitted to having overridden or removed the included libraries for some reason, and asked to try putting them back first. I mean, this sort of thing doesn't happen *often*, but when it does it's unpredictable and it's great not to have to worry about it! The only thing you have to worry about when you include everything is if eg a new audio API is introduced and you have to update SDL to support it (like happened with pulseaudio), but that's even more rare and at least you get to know about it in advance.

Anyway, it's good that you still allow games to provide their own versions of libraries, at least.

+2 votes     reply to comment
Ancurio
Ancurio Oct 30 2011, 12:23am replied:

Well if some obscure distros think they need to apply patches to their libs,
in order to break anything they'd have to make major changes like that of the ABI, right?
So they would really go out of their way to patch every single program that relies on
that lib to not break? Seems kind of unrealistic to me.
(btw I've always symlinked my game libs on Fedora if possible, nothing ever went wrong)

+1 vote     reply to comment
mjau
mjau Oct 30 2011, 2:26pm replied:

No, ABI breakage isn't much of a problem. It doesn't happen a lot, and when it does, it's usually deliberate with new major version numbers and such. It also usually prevents stuff from loading at all because of unresolved symbols, making the problem immediately obvious (unless the breakage is limited to structs or function signatures or something, but that's fortunately very rare).

Most issues are much more subtle than that. The SDL bug I mentioned before is a very simple example: For technical reasons, surfaces in SDL 1.2 are limited to 16383 pixels in width and between 32767-65535 pixels in height (depending on needs). Prior to SDL 1.2.8, SDL didn't check that the surface sizes were within this range, with buggy behavior as a result. That was fixed in SDL 1.2.8 by adding a check at surface creation; if the width or height was not less than 16384, surface creation failed. The problem there of course was that the surface HEIGHT could be larger than 16383 and still be perfectly valid, and some games happened to depend on this. It was just a simple bugfix, hardly even worth mentioning, but it actually broke compatibility with those games! This was fixed in SDL 1.2.9, but by the time that came out, SDL 1.2.8 had been out for a long time, and had been included in a bunch of distros that wouldn't get the fixed version for months

As for distro patches, distros like to backport individual patches like that buggy 1.2.8 check to previous versions sometimes (before they know it's buggy, of course). I don't know if it happened in that particular case though.

+1 vote     reply to comment
Magrathean
Magrathean Oct 21 2011, 11:25pm says:

This is great move by you guys to allow develoeprs to pick which libraries are required. One of the major hurdles in supporting a linux release is making sure that proper audio libraries are installed and setup! Removed a huge problem from developer side by doing this and we thank you! :)

+1 vote     reply to comment
gabsd84
gabsd84 Oct 22 2011, 7:59am says:

I just started testing Desura on an old machine running Mageia 1 32bit. I have tried to install one or two games and I get this error come up:

There was an error during the validation process and it has been stopped.

Couldn't open the file [ ] in mode 2 [9.0]

Anyone know what the problem might be? Bug in the client or something else?

+1 vote     reply to comment
Protektor
Protektor Oct 22 2011, 3:36pm replied:

Is the client installed in to your home directory some where? If it is not then that is your problem. You need to install it somewhere that you have write access.

+1 vote     reply to comment
gabsd84
gabsd84 Oct 22 2011, 11:10pm replied:

The client is installed in the home folder. I noticed however that when I needed to install the client I had to have root access. Would not seem to work otherwise. I would say that could be the problem. Would I have to run Desura as root in order to install the games on that system (prefer not to run it as root however)?

+1 vote     reply to comment
lodle Author
lodle Oct 23 2011, 5:51pm replied:

Should never need root to run Desura. Sounds like you are trying to run it from a folder with out write permissions for a normal user

+2 votes   reply to comment
gabsd84
gabsd84 Oct 24 2011, 6:51am replied:

I'll check the write permissions for the folder later this week and see if that is the culprit (good chance it is).

+1 vote     reply to comment
gabsd84
gabsd84 Nov 5 2011, 10:33pm replied:

It was not the permissions in the end, but I downloaded and installed the latest version of the Desura client and all is working fine now. Thanks for all the work you guys are putting in.

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

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

News
Browse
News
Report Abuse
Report article
Related Groups
Desura
Desura Official group with 10,096 members
Desura SDK
Desura SDK Official group with 174 members
Linux Gamers
Linux Gamers Fans & Clans group with 2,905 members