The group for gamers dedicated to Linux. No matter if game developers or game players all are welcome interested in Linux as a gaming platform.

Post news Report RSS Desura Linux - Super Mega Game Update

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

Posted by on

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! - - 4,104 comments

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

Reply Good karma+26 votes
Cheeseness
Cheeseness - - 88 comments

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

Reply Good karma Bad karma+11 votes
INtense! Staff
INtense! - - 4,104 comments

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

Reply Good karma+9 votes
MarcusM
MarcusM - - 158 comments

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

Reply Good karma Bad karma+5 votes
Feeyo
Feeyo - - 17 comments

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

Reply Good karma Bad karma+3 votes
Sarwen
Sarwen - - 2 comments

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

Reply Good karma Bad karma+1 vote
Magbed
Magbed - - 9 comments

Great update! thnx for your work

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

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

Reply Good karma+2 votes
gabsd84
gabsd84 - - 101 comments

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

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

settings are reset.

Reply Good karma+1 vote
die_z
die_z - - 22 comments

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?

Reply Good karma Bad karma+5 votes
hensip
hensip - - 3 comments

Awesome! My congratulations for your work.

Reply Good karma Bad karma+3 votes
tmccullough
tmccullough - - 6 comments

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

Reply Good karma Bad karma+2 votes
novemberdobby
novemberdobby - - 93 comments

Nice!

Reply Good karma Bad karma+2 votes
intgr
intgr - - 14 comments

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.

Reply Good karma Bad karma+4 votes
Hyeron
Hyeron - - 45 comments

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 :)

Reply Good karma Bad karma+3 votes
Dinopron
Dinopron - - 8 comments

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!

Reply Good karma Bad karma+11 votes
wizardskill
wizardskill - - 11 comments

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

Reply Good karma Bad karma+3 votes
die_z
die_z - - 22 comments

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

Reply Good karma Bad karma+3 votes
KingDD83
KingDD83 - - 3 comments

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

Reply Good karma Bad karma+4 votes
charrety
charrety - - 34 comments

Good job, thank you.

Reply Good karma Bad karma+2 votes
liamdawe
liamdawe - - 399 comments

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

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

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

Reply Good karma+1 vote
hero1900
hero1900 - - 356 comments

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 ??

Reply Good karma Bad karma+1 vote
Sph!nx
Sph!nx - - 722 comments

Nice work. Thanks!

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

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

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

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)

Reply Good karma+1 vote
hero1900
hero1900 - - 356 comments

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

Reply Good karma Bad karma+1 vote
die_z
die_z - - 22 comments

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.

Reply Good karma Bad karma+1 vote
die_z
die_z - - 22 comments

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

Reply Good karma Bad karma0 votes
liamdawe
liamdawe - - 399 comments

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.

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

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.

Reply Good karma Bad karma+1 vote
liamdawe
liamdawe - - 399 comments

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.

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

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!

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

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.

Reply Good karma Bad karma+1 vote
liamdawe
liamdawe - - 399 comments

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

Reply Good karma Bad karma+1 vote
mjau
mjau - - 3 comments

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.

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

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.

Reply Good karma Bad karma+1 vote
rioninja
rioninja - - 98 comments

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.

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

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.

Reply Good karma Bad karma+1 vote
mjau
mjau - - 3 comments

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.

Reply Good karma Bad karma+2 votes
Ancurio
Ancurio - - 23 comments

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)

Reply Good karma Bad karma+1 vote
mjau
mjau - - 3 comments

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.

Reply Good karma Bad karma+1 vote
Magrathean
Magrathean - - 87 comments

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! :)

Reply Good karma Bad karma+1 vote
gabsd84
gabsd84 - - 101 comments

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?

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

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.

Reply Good karma Bad karma+1 vote
gabsd84
gabsd84 - - 101 comments

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)?

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

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

Reply Good karma+2 votes
gabsd84
gabsd84 - - 101 comments

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

Reply Good karma Bad karma+1 vote
gabsd84
gabsd84 - - 101 comments

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.

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: