ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 174 forks source link

Feature request: Add ability to run Windows games in WINE for games without a Linux version #74

Closed ghost closed 6 years ago

ghost commented 11 years ago

Although this would be a feature for more advanced users, it might be an interesting idea to allow running the Windows versions of games in WINE through the Linux client if a native version is not available and the game in question does not explicitly require a Windows license (i.e. it doesn't use XNA or some similar technology).

Although some games are ported to Linux, many are not, and having the option to run games through this method even in an unsupported fashion would be quite an interesting and useful feature to have. Definitely not expecting it any time soon, but it may be something to consider down the line, if it's even possible.

MrSchism commented 11 years ago

This is largely the responsibility of the end-user and not Valve/Steam. If you can run the game from a shortcut (not sure if Wine permits this), you can add it as a non-Steam game as per normal protocol.

However, it's been discussed ad nauseum and the verdict is pretty clear: Wine is not the solution that Valve is looking for with their Linux client. Native gaming is the direction.

AshTR commented 11 years ago

While I disagree that Windows games should be automatically run in WINE, I do believe that we should be able to download Windows versions of games if we so choose. It isn't like many older games that are Windows 98 or XP-esque that have roughly no support from developers anymore will see Linux versions, so it would be nice to have the option to throw them into WINE if desired.

kramerc commented 11 years ago

Adding to @AshTR's point, it's unlikely Valve is going to port the older HL1 series games to Linux. There's always those moments for nostalgia.

MrSchism commented 11 years ago

We do have the ability to download Windows versions of games... in the Windows version of Steam that we use Wine to make run.

AshTR commented 11 years ago

...And doesn't that log you out of Steam on Linux since Steam doesn't support multiple logins? That's hardly a great solution.

Not to mention having an entire dual-installation for Steam itself.

MrSchism commented 11 years ago

The point of the native client is for native games.

Again, if you were able to launch games from a singular point (like by clicking an icon) you could add it to your "non-Steam" games on Steam.

Whatever bugs you find there are end-user/Wine bugs.

frantisekz commented 11 years ago

Great idea. There should be option to download Windows games and advice to install wine. If it'll be connected to appdb.winehq.org, why not?

zubozrout commented 11 years ago

Well, I don't think wine is a good way. You are right several (most) titles won't see Linux release but Valve is doing a great job expanding Linux native gaming. I personally prefer native over to run-in-wine even if wine can handle it very well. If you want to play windows-only games on Linux, use Windows client. I really don't think Valve will support this since wine is not a stable platform and they wouldn't be able to provide support for it.

Though, maybe some "debug" option can be added so Steam wouldn't be blocking installations of non-native games and if wine is installed on your system, it would try launching the game through it.

LarryRotgut commented 11 years ago

Please don't add any WINE shenanigans to Steam. People who want to play Windows only games can run Windows version of Steam using WINE.

RussianNeuroMancer commented 11 years ago

-1 for system WINE support in Linux client

Purpose of native Steam for some platform is run releases that targeting this platform. If for example CodeWeawers bring Limbo to Linux via WINE and provide official support - this is one story (and there is opportunity for collaboration between Valve and WINE developers) but allow to run any other games via WINE is may make developers lazy, and answer "use WINE" if game somehow run with default WINE instead of doing proper port. Let me show you how things is going on in such cases even without WINE support in Steam: https://twitter.com/ID_AA_Carmack/status/123578885924331520 https://twitter.com/ID_AA_Carmack/status/195249588557451264 If Steam Linux client will support using system WINE for games, situation will be even worse - this is really what you want? I doubt.

Dragonsbrethren commented 11 years ago

While native versions are obviously preferable, I wouldn't mind seeing WINE integration for older titles that will never be ported over anyway. It's no different than the games on Steam now that use DOSBox (Speaking of which, every one of these should have a Linux and Mac OS version available already. Lazy publishers). I'm not a huge fan of WINE, but if a game runs well enough in it, why not offer it as a convenience option? It's better than having to have the Windows client installed in WINE, which requires having to log out of native and log into that every time I want to play my games.

ananace commented 11 years ago

I would love the ability to be able to at the very least download my windows games even if I'm running Steam in Linux. Perhaps by setting a debug value or something if you only want advanced users to be able to do this, but some way of doing it would be helpful.

RunningDroid commented 11 years ago

This could be useful, but it shouldn't(and likely won't) happen anytime soon, if Wine is added now the Wine bugs would likely end up being reported for Steam. If it were to be added later and only for games that are known to work well in Wine, then everyone would be happy, more people would start working on Wine so Steam would add Wine support for their favorite game, and there (probably) wouldn't be Wine bugs in the Steam bug tracker.

regeya commented 11 years ago

I'll request it. I have a Linux-powered media machine hooked up to my PC, I have several Windows games purchased through Steam that run well under WINE, and would love to be able to launch and update them under Linux Steam. I'd really love to put Steam on my Mythbuntu machine, run it in Big Picture mode, and launch, say, Mass Effect from there and play Mass Effect on my TV.

OneOfOne commented 11 years ago

I don't see why we can't have wine integration with the Linux client, something as simple as : "set windows launcher" in settings, then the end user can be responsible for setting up wine.

cefiar commented 11 years ago

An option to promote native clients would be to simply not allow Wine usage for games less than 2-3 years old. This gets around the "just run it in wine" thing while opening up older games. I still would prefer native games though.

What I am wondering is if Steam for Linux could simply detect that Steam for Windows has been run via wine, and provide all the games by their shortcuts in Steam for Linux (ie: pick them up automatically). In this scenario, you'd HAVE to use Steam for Windows to actually install games with wine, but you would have the convenience of running everything through the one client interface for "day to day usage", without manually adding each game through the direct shortcut for the wine version of the game.

AshTR commented 11 years ago

Actually, I rather like the first option cefiar has proposed and allowing WINE only on games that are 2-3 years old.

Heck, even going as far as only putting WINE on games where the developer has dropped support for the game and you'd have no chance in a lifetime of seeing a Linux native version from the developer would make me happy.

Realistically, many older games end up having open-source Linux native versions eventually anyway through projects, so this shouldn't be as much of a problem in anything but the short-term as far as the answer to "Will it see a native Linux version?" goes.

A few instances I can state of DOS/Windows games are OpenTyrian (Tyrian), Commander Genius (Commander Keen), D2X-XL (Descent 2), and more recently OpenMW (Elder Scrolls 3: Morrowind).

flamingspaz commented 11 years ago

I would much rather be able to download Windows games and either run through WINE or in some cases (Doom 3, Quake etc) make it work on Linux.

WINE built into Steam should never be an option.

Sinihopea commented 11 years ago

I'm voting against Wine support in Steam's native Linux client.

We need native games, we don't want games with API translator behind them. To begin with Wine was just a plaster to quickly plug this "lack of games, and other special applications" hole in GNU/Linux. It's not something we should promote actively as a solution.

Remember what happened when EA started shipping their "Mac OS X games" with Transgaming's OSX version of Cedega? (in another words just Windows binaries and Cedega to run them) It was just epic fail on so many ways that I'm sincerely hoping that we never get that kind of plague to GNU/Linux. Besides we are already past that point. There are tons of commercial native games for Linux. Problem is that nobody knows where to get them. Steam is the best solution for that content delivery problem imho.

There's also a reason why I'm not buying any of the games from Apple's OS X App Store. The reason is that they allow publishers to ship software and games with API translators. I want native clients for performance reasons alone. And knowing that Steam always delivers native binaries (Yeah, I know some Steam games use DosBox to emulate MS-DOS) really makes my mind at ease (about buying games from Steam).

If you want Wine then use Windows version of Steam and run it through the Wine to get Windows games. That's how it should go.

MrSchism commented 11 years ago

For all it's worth, I've made a request for Valve to release an official position on the use of Wine with my input that Wine integration would be a large backstep for the project.

frankc-valve commented 11 years ago

We appreciate the discussion on this issue but this is, after all, a bug tracker. The initial feature request has been made and will be investigated by the team at a later date. For further discussion, my recommendation is to bring it up in the discussion area of the Steam for Linux hub, bringing it to the attention of a wider audience.

Thanks!

compholio commented 11 years ago

+1

It would be really nice if Steam games launched through Wine would at least connect to the Linux Steam client rather than requiring the Windows client to run. I would prefer that everything I run count toward Linux in the hardware survey since I don't even own a Windows box.

compholio commented 11 years ago

So, I tried to make a simple Wine wrapper for libsteam_api.so (steam_api.dll) and, unfortunately, it appears that the C++ structures in the API end up being compiled differently for Linux. So, it would probably take someone from Valve (or someone under NDA) with access to the API sources to build a sufficient wrapper so that we don't have to exit out of the Linux Steam and run Windows Steam to play games under Wine. So close, yet so far away :/

d10sfan commented 11 years ago

Personally think that supporting wine in the Linux steam client is a step backwards in terms of bringing Linux support. With some developers already in the "if it works in wine, don't bother porting" camp, this probably won't help matters either.

Have you tried running steam in offline mode for your Windows games? That's what I've been doing for the few games I have running in wine

compholio commented 11 years ago

Nope, I want it so that I can play Borderlands 2 with my dad - so offline mode won't do me any good.

BKPepe commented 11 years ago

+1

Thermionix commented 10 years ago

In the near future when running steam bigpicture on a htpc (with good hardware), and no other machines in the house with a windows license, a second steam instance (on another machine within wine) is required to stream non native games to the htpc?

I understand the idea of forcing studios to release native games, but there are many games that will never get a native port, and because of idealism they aren't going to be practically playable on steamOS, even though they could be?

sdaugherty commented 10 years ago

I have a suggestion for how to implement this in a relatively straightforward way:

A "stub" Steam running inside Wine.

This could just be a special mode of the regular Steam client, available only in Wine, and it would basically hide the UI of the Wine Steam, proxy authentication tokens through the native Steam for Linux, and make installed games from a copy of Steam running under Wine visible within the native Steam.

If the concern is developers not porting the games, then just do this part and don't go any farther - keep the experience unfriendly enough that users will still push for native versions, but don't penalize users too much for something they have little control over.

The Wine-resident Steam would still be necessary for installing, uninstalling, etc - this "shortcut" to support would just be a glorified launcher, which the user would have to configure by telling the native Steam where the Wine steam is installed.

BKPepe commented 10 years ago

I found this: http://www.reddit.com/r/linux_gaming/comments/1yv4ey/steambridge_001_release_bridge_windows_games/

MrSchism commented 10 years ago

Devs are already releasing their games in Wine wrappers

3148. They say that it works fine, then list bugs (which is kinda funny to me).

That's probably the closest thing I'd feel comfortable with, but I'd still rather not use a wine wrapper. MonoGame makes native code easy....

EoD commented 10 years ago

The steambridge is actually on github: sirnuke/steambridge@44748797273f72bdb49410333874b5c83944a5f0

brunch875 commented 10 years ago

Launched steam through wine to play dead space flawlessly. Xbox controller controls are all wrong, camera joystick is set to the trigger.

I had this issue with super meat boy running natively, which I corrected by entering the big picture mode and configuring the controls.

But steam under wine is kind of buggy and big picture mode won't work, so I have to scratch my head and look for another workaround.

So +1 to this idea. It doesn't do much harm to put a "download anyway" in the "This game is not supported in your platform" window.

techmunk commented 9 years ago

I've discovered that in the Launch Options for a game, you can put in a completely different command to run, i.e. /usr/local/bin/pol-script %command%. This would call pol-script with the original command steam was going to run. If pol-script doesn't work, that's all my fault and not something I could ever make a bug report about.

All that I'd need to be 100% happy, and be able to use the native client big picture mode, and run my windows only steam games via my wine setups, without needing to create "non steam game" shortcuts, is a setting in the launch options for a game that allows platform restrictions to be ignored.

I think this should be an advanced option, and it can have whatever disclaimers you like, and should only take effect when launch options is non-empty. Something like "Play with custom launch command, even when on unsupported platform" This way, steam doesn't need to support wine, but those that want it and can set it up, will be able to use it and have a seamless experience.

I'd be very happy if something like this became possible. :) The Download anyway could tie into this as well, as it would assume that you have some other environment setup (i.e. a wine prefix with steam installed, pointing to the same steam library), that will be able to run the game once downloaded.

In essence, this is what steambridge above is doing. At least from my understanding of what steambridge does, but it'd be better to have something that valve openly supports and accepts.

WhosAsking commented 8 years ago

I can understand both sides of the argument, but I also note this. If Valve wants more people to switch to Linux and use the Steam Machines and such, they need a better gaming lineup, and while convincing developers to release Linux-native versions is of course best, there is still the massive back catalog of titles that are at end-of-life. The developer has either dropped it or (in some cases) no longer exists. These games are basically abandoned and therefore won't see a new version anywhere, let alone for Linux. It's for the back catalog that we should encourage WINE support, but as noted, it can get finicky, so do it like how DOSBox is used for Doom: on a game-by-game basis (And if they're willing to use DOSBox to run a legacy game, why not WINE?). It may be somewhat space-inefficient, but it also means the wrapper can be tuned for each game, reducing compatibility issues. It also improves the KISS factor which will be critical for drawing not-so-tech-savvy gamers.

Whether this is done by Valve or the developers (if any) is up to them, but Steam on Linux really needs some initiative to start bringing the Windows back catalog into the Linux catalog to improve its standing. Put it this way. It's the current mostly-Windows-only Steam library that keeps me from moving away from Windows, much as I want to given the whole Windows 10 thing. Improve the back catalog support and you'll likely find a convert, and I'm probably not the only one.

Seegras commented 8 years ago

I don't see any use for this. If I want to run a windows game, I can run Steam for windows on wine. That way I also don't have a mess, and everything is nicely separated.

boombatower commented 8 years ago

The reason is to avoid having to relog to play a windows game and having two copies of steam for no good reason.

sdaugherty commented 8 years ago

Mark it as an experimental, no support offered feature, implement it with a "stub" steam client that proxies all the APIs to the Linux client, and the launch requests to the "stub", and call it a day.

We know the experience will be less than perfect. However, an imperfect experience is less hell on your users than having to be logged in to one or the other, having to dual boot, or having to abandon SteamOS entirely.

Make this happen already, make it optional for developers, and let users turn it on anyway in some deeply buried " unsupported settings" menu.

On Thu, Dec 17, 2015, 09:34 Jimmy Berry notifications@github.com wrote:

The reason is to avoid having to relog to play a windows game and having two copies of steam for no good reason.

— Reply to this email directly or view it on GitHub https://github.com/ValveSoftware/steam-for-linux/issues/74#issuecomment-165467238 .

oelmekki commented 7 years ago

If Valve wants more people to switch to Linux and use the Steam Machines and such, they need a better gaming lineup, and while convincing developers to release Linux-native versions is of course best, there is still the massive back catalog of titles that are at end-of-life.

This. We can run steam/windows through wine and it's good for us, but I imagine what it must look like for a kid who bought a steam machine with no prior experience of linux, only to discover they can't play most games ... on steam.

Indeed, pushing for native support is the way to go forward. But gamers don't care about our technical debates. They bought a (pricey) steam console, they expect to play steam games. Actually, I think that not only steam should use wine, but Valve should even be a sponsor for it, like often big companies back up open source projects, and take responsibility to write scripts akin PlayOnLinux for steam. They have an unique opportunity, here : they can port games to their playing console without even needing help from game developers. This is unheard of.

So yeah, native support is the best. For all (most) the other things, there's wine, we should not ignore the opportunity.

oelmekki commented 7 years ago

By the way (sorry for double post), I gave a second thought to the argument : "if we support wine, game producers won't be incentive to release native version".

There are many ways to incentive people, and wine could play a part in it. Imagine Valve made a script to run a game through wine. This won't be the perfect experience from native game. We often say "oh yeah, this game works on wine, perfs are even better than on windows! There's just this little thing, <slow connection | texture missing | messed up main menu | whatever>, but really, I don't care that much!". This is something that can be used.

Imagine there's a banner on the page for that game that runs through wine : "Warning! This game has no stable release for steam machine yet, experience may be slightly deteriorated". Now, gamers will be able to play the game, they'll know about shortcomings before buying, and they'll ask game developers : "when are you releasing the stable version for steam?".

githubuser441 commented 6 years ago

It would be awesome to have something like playonlinux built into steam!

regeya commented 6 years ago

Is there some way someone could close this? It never seems to gain any traction and the thread is six years old at this point. There's an unofficial way to do it called SteamFootBridge, No idea if it'll earn you a VAC ban or not, but it can be done.

oelmekki commented 6 years ago

@regeya

Thanks for mentioning SteamFootBridge, it's the first time I hear about it. Although, the possibility it could get us banned and locked out of our expansive game collection is quite an issue :D

Could we have any official statement on this? If there is a recommended way to use steam windows games in steam on linux, that's fine by me, disregarding if it's a builtin feature or not.

Plagman commented 6 years ago

Going to call this one closed now. Specific issues with the new Steam Play compatibility feature can be filed here or in the Proton repository, depending on where the problem is.

pwaller commented 6 years ago

For anyone who missed it, @Plagman is referring to this announcement.