desura / desura-app

Free online games platform, with an open source client. In these scenarios, Desura's free online games are the perfect solution. These games don't require a high-powered computer or lengthy installation processes.
https://www.desura.com/
Other
121 stars 31 forks source link

Option to install windows-only game and run them through wine #63

Open lodle opened 10 years ago

lodle commented 10 years ago

Issue by klausenbusk from Saturday Feb 04, 2012 at 11:14 GMT Originally opened as https://github.com/desura/Desurium/issues/63


There should be a option to install windowsw-only game in desura, and rune them through wine. Many game all-ready work through wine :)

lodle commented 10 years ago

Comment by madrang from Saturday Feb 04, 2012 at 19:34 GMT


I think it would be easier to download the Windows version of Desura and use it in Wine.

lodle commented 10 years ago

Comment by klausenbusk from Saturday Feb 04, 2012 at 19:54 GMT


Yes maybe easier, but i don't want to switch between linux/windows version of desura. Then can i run native linux game on linux, and hopefull windows-only game through wine. I can't rune native linux game from wine :)

lodle commented 10 years ago

Comment by Jookia from Sunday Feb 05, 2012 at 08:33 GMT


Why not just download the Windows cefs and run it using a WINE wrapper script?

lodle commented 10 years ago

Comment by Protektor-Desura from Wednesday Feb 08, 2012 at 05:20 GMT


Ok this isn't going to happen until several things actually change on the server. Right now you only see the games for the client you are logged in with. The only possible way to realistically support WINE games is to add a WINE version number to the game and install that version which is a giant pain the butt to figure that out for each game. Remember the point of the client is to click install and it just works. If you click install and it crashes because its the wrong version of WINE then we have a problem.

lodle commented 10 years ago

Comment by ssokolow from Wednesday Feb 08, 2012 at 06:13 GMT


Fair enough. If/when the server is changed, I think a good first step would be to enlist Linux users who've clicked the "send me beta versions of the client" checkbox to test things as quickly as possible by:

  1. Providing a checkbox or raw config option of some sort that'd let Linux users see and install Windows games with the understanding that it's their responsibility to make them actually work when clicked. (It'll take some time to get ready-made wrappers and support for installing bottles and, for a power user like me, modern Wine doesn't take much tweaking to get many of the games I'm familiar with running consistently on the "moving target".)
  2. Adding a per-game version of the "Global game launch binary" field so users can easily apply their own wrapper scripts. (Not required, since one can use the binfmt_misc module to have the kernel handle handing off .EXE files to Wine and winecfg.exe's per-application settings are pretty comprehensive these days, but recommended)

Point number 2 is something I should probably file separately anyway, since it's useful for custom scripts that do things like applying special workarounds for homegrown incompatibilities or implementing custom save file backup logic. (The kind of things that you can't just do for everyone because they only apply to the power user who wants them.)

lodle commented 10 years ago

Comment by Protektor-Desura from Thursday Feb 09, 2012 at 06:21 GMT


Here is the other problem with supporting WINE. We know what version of WINE works good for a game, then the developer does an update and suddenly it crashes under WINE. It probably doesn't happen often but I have seen it happen. So we are back to just wanting it to work and it isn't doing that. I personally think WINE is a huge can of worms and WINE is a constantly moving target against games that are being updated.

The only serious option I see is hide/bury a checkbox in settings (for power users) with some kind of label or text saying "Activate Windows Downloads (Experimental/Unstable)". You could then try and do something pretty much like what PlayOnLinux does. I still think you are talking about a lot of work though.

lodle commented 10 years ago

Comment by ssokolow from Thursday Feb 09, 2012 at 06:34 GMT


I'd be perfectly happy with such a checkbox. Babysitting .EXE installers is often half the bother. I'd even be happy with one that's so obscure you have to open one of Desura's databases in /usr/bin/sqlite3 and issue an UPDATE statement to enable it, as long as it exists.

If Desura could give me a source of windows-only games that are unpacked and just need Wine tweaks for the games themselves, that'd be a big improvement.

lodle commented 10 years ago

Comment by Jookia from Thursday Feb 09, 2012 at 11:06 GMT


Many of up Linux users like to toy with things, so I think adding the functionality to download windows games even if they don't run would be a huge step, even if its just for power users. We like to mess with things.

lodle commented 10 years ago

Comment by ssokolow from Thursday Feb 09, 2012 at 11:35 GMT


Also, in such a case, the Desura client shouldn't gray out Windows games or omit them from the list or do some other thing that would make them second-class citizens.

If I go to the trouble to install a Windows game on my Linux Desura, I want it to show up in the games list as a first-class citizen (update notification, icon without hackery, developer name, rating, etc.) which I can double-click to easily play.

I'll take responsibility for using winecfg.exe and binfmt_misc and any necessary wrapper scripts to transparently hijack and redirect the exec*() syscall to an appropriately-configured Wine.

lodle commented 10 years ago

Comment by Protektor-Desura from Monday Feb 20, 2012 at 07:48 GMT


Well if someone wants to stub out the code for a checkbox buried somewhere that will eventually turn on WINE support then I say go for it. Just make sure you put experimental/unstable or something like that with the checkbox and maybe a pop up Window saying we don't support this, your on your own, if you agree to this click ok, then it activates it. I think you might want to add the option on the client to put in a WINE number or WINE directory so it can be installed in a specific directory/version of WINE.

I think you would want to bury the checkbox on the same page as the checkbox for beta testing of the client.

lodle commented 10 years ago

Comment by ssokolow from Monday Feb 20, 2012 at 15:25 GMT


Given the current state of my life, it could easily be months or even years until I get to such a thing, but I'll put it on my "if nobody else does it first" list.

(I have only minimal experience with C and C++, so it's not as if, once I'm caught back up on my French, I could allocate an afternoon to both familiarize myself with the codebase and make the change. That's require a language and build-system I'm more familiar with.)

lodle commented 10 years ago

Comment by hemebond from Tuesday Feb 21, 2012 at 11:18 GMT


I don't ever want to play Desura games through WINE, but I thought I'd mention that you could bundle WINE with an application, just like Picasa and Team Viewer. It'd be similar to the shared-library bundling (which I dislike) that happens now.

lodle commented 10 years ago

Comment by ssokolow from Tuesday Feb 21, 2012 at 13:24 GMT


@hemebond That's already been discussed. There are two problems with it:

  1. It puts the burden of matching games with compatible Wine versions on either the Desura guys or the game devs.
  2. It implicitly legitimizes Wine as a way to officially support Linux users.

For the purposes of this discussion, consider Wine an emulator. Even if Desura could automate it, you'd never consider Linux "supported" if it was done by installing a copy of Windows XP and a copy of VirtualBox.

What people like me want is an "I know what I'm doing. Ignore the system requirements and unpack the game anyway" override.

lodle commented 10 years ago

Comment by hemebond from Tuesday Feb 21, 2012 at 19:07 GMT


@ssokolow I agree with both those issues. I misunderstood some of the comments about updates breaking games.

You're basically asking to be able to customise or manually override the platform filters.

lodle commented 10 years ago

Comment by ssokolow from Tuesday Feb 21, 2012 at 19:25 GMT


@hemebond Exactly.

...though, now that I think about it in that light, it'd probably also be a good idea to show the monochrome platform icons from the Desura website next to games which are only in the games list because an override is active. (eg. Linux64 would show the Windows icon next to Windows-only games but not next to Linux32 games since those are effectively the same as Linux64 games requiring the JRE or Mono)

Another thing for my "if I get to it before hell freezes over" list.

lodle commented 10 years ago

Comment by Protektor-Desura from Monday Feb 27, 2012 at 06:49 GMT


I can pretty much say that unless something major changes that WINE support will never be official. Simplest on the client side is redirects for EXEs. as mentioned above, which I would be far more in favor of because it requires less work for the developers of the client. It also should raise the bar a little higher so that you have to know what your doing to get it working right and hopefully those people would know there is no support for WINE. You could then also put up icons next to the games for which platform they are for. I would still want a checkbox for turning this on and for it to pop-up a window saying basically this isn't supported at all and your on your own to make it work.

lodle commented 10 years ago

Comment by Davilink from Sunday Mar 04, 2012 at 08:49 GMT


i post a thread on the forum of desure to propose a new release platform icon when a game use a wine-wrapper. You can see the post at this adress: http://www.desura.com/groups/desura/forum/thread/release-platform-icon-with-wine-wrapper.

Because some game work very well on wine but i need to install the demo (or buy the game) separetaly and in most case, i didn't get any lag or bug. So i'm ok with the idea to offer the possibilities to use a wine-wrapper. the SickBrick game already work like this, until their engine support natively linux.

lodle commented 10 years ago

Comment by undeadbobop from Saturday Mar 10, 2012 at 20:26 GMT


Desura should just be used for distributing not support of wine or even distributing, setting up configuration could be done with a .sh script or natively. The only real problems I see is as of locking the linux users out from windows games. A indicator (like icon) in the games list menu would help out with trouble shooting. Along with the lock out of mods. It feels from a linux user that they are handicapped for using this application because they have no choice in the matter. Wine is not perfect and there is plenty of other software out there like mono that can play certain games that wine cant and vis versa not to machine performance differences between commonly compatible software.

I per-pose the users for desura linux are no longer locked from downloading the games, installing is upto them on how they do it, and if desura wants to continue using the common folder as the install base than they can setup it to download in that mannor. or they could also do a .tar.gz, zip, rar or any file type of setup for installing. Same could be said for mods.

lodle commented 10 years ago

Comment by Protektor-Desura from Wednesday Mar 14, 2012 at 04:48 GMT


Well just to mention something you can download standalone versions of the game. Yes this doesn't deal with update notification, but at least you can get Windows games without having to run the Windows client and then you can add them manually to your games list in the client.

The backend would have to changed to no longer block Windows games and it would need to send some kind of indicator that it is a Windows game to put the Windows icon next to the game in the games list. It would also have to have the same thing for Linux games so you know which is which.

lodle commented 10 years ago

Comment by Protektor-Desura from Sunday Mar 18, 2012 at 10:44 GMT


This whole WINE thing seems like a giant can of worms and would probably be one of the last or later features added to the client. I see other things that could be done before this is tackled.

lodle commented 10 years ago

Comment by Jookia from Friday Mar 30, 2012 at 12:50 GMT


Interestingly enough I found that the idea of using WINE seems counter-intuitive to the Linux gaming movement, as it may just give developers reason not to port it. I picked up this idea from somebody on the Desura forums, but I can't find the post right now. Sorry!

lodle commented 10 years ago

Comment by ssokolow from Friday Mar 30, 2012 at 13:41 GMT


No argument. I don't want it officially supported for exactly that reason... but I do want the games that I'm going to play come hell or high water to have a clean, hassle-free management UI and PlayOnLinux is a painful mess.

Hence the desire for a hidden toggle to install Windows games and trust that the OS will handle figuring out how to exec() .exe and .bat files.

I could probably write a barebones UI to manage Wine in an afternoon (plus whatever extra time it takes to get comfortable with PyGTK's bindings for GtkTreeView (which doubles as a list control) but I'd really rather have it all in one GUI. (I may still, someday, try to offer some UI design patches to PlayOnLinux just because its current state offends me and it is written in Python as I remember.)