Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
ghost opened this issue Dec 20, 2012 · 44 comments

Comments

@ghost
Copy link

ghost commented Dec 20, 2012

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
Copy link
Member

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
Copy link

AshTR commented Dec 20, 2012

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
Copy link

kramerc commented Dec 20, 2012

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
Copy link
Member

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
Copy link

AshTR commented Dec 20, 2012

...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
Copy link
Member

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
Copy link

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
Copy link

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
Copy link

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
Copy link

-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
Copy link

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.

@ghost ghost assigned frankc-valve Dec 21, 2012
@ananace
Copy link

ananace commented Dec 21, 2012

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
Copy link

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
Copy link

regeya commented Dec 27, 2012

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
Copy link

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
Copy link

cefiar commented Dec 29, 2012

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
Copy link

AshTR commented Dec 29, 2012

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
Copy link

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
Copy link

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
Copy link
Member

MrSchism commented Jan 2, 2013

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
Copy link
Contributor

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
Copy link

+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
Copy link

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
Copy link

d10sfan commented Jun 27, 2013

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
Copy link

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

@Thermionix
Copy link

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
Copy link

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
Copy link

BKPepe commented Mar 2, 2014

@MrSchism
Copy link
Member

MrSchism commented Mar 4, 2014

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
Copy link

EoD commented Jul 31, 2014

The steambridge is actually on github: sirnuke/steambridge@4474879

@brunch875
Copy link

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
Copy link

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
Copy link

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
Copy link

Seegras commented Dec 17, 2015

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
Copy link

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

@sdaugherty
Copy link

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
#74 (comment)
.

@oelmekki
Copy link

oelmekki commented May 31, 2017

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
Copy link

oelmekki commented Jun 1, 2017

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
Copy link

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

@regeya
Copy link

regeya commented Mar 3, 2018

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
Copy link

oelmekki commented Mar 4, 2018

@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
Copy link
Member

Plagman commented Aug 22, 2018

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.

@Plagman Plagman closed this as completed Aug 22, 2018
@pwaller
Copy link

pwaller commented Aug 22, 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests