itchio / itch

🎮 The best way to play your itch.io games
https://itch.io/app
MIT License
2.35k stars 209 forks source link

Wine option for Linux #433

Open charliesgames opened 8 years ago

charliesgames commented 8 years ago

Most of the windows games i've downloaded from itch.io on linux work just fine with wine. Would it be possible to have a 'launch with wine' option for windows games on linux?

Cheers Charlie

SolarLune commented 7 years ago

Yo, I came here to suggest this. It sounds like a pretty cool option, and one that I wish Steam provided.

LaPingvino commented 6 years ago

I am looking into trying my old windows games that I know to be working fine with Wine to get them working on Linux... and I now wonder what would be the best way to do that...

alex9099 commented 6 years ago

I would like to see this implemented

fasterthanlime commented 6 years ago

I've been thinking of a clean way to do that now that all the install/configure/launch logic has been moved to https://github.com/itchio/butler - the main problem is an UI/UX one - how would we expose that functionality to power users without confusing beginners (who might not have wine installed)?

butler filters uploads by platform by default, see https://github.com/itchio/butler/blob/855b242d6d952459447c2fb6fff93b5df609fc48/cmd/operate/game_utils.go#L26 - any form of wine support would have to modify that.

This might not make it into v25, as it contains already way too many changes, but I'll keep it in mind.

ghost commented 6 years ago

UI wise, I think it should be a toggle in the settings (with a warning / explication of the feature) then we simply install windows games and launch them using wine.

I don't think we need to change butler for that.

lunarcloud commented 5 years ago

Since it's open-source, would it be worth looking into this https://github.com/ValveSoftware/Proton as alternative to vanilla/system-installed wine?

fasterthanlime commented 5 years ago

Proton

I did look into it recently - gave up half a day into trying to get it to build, realized I didn't have the hardware to take advantage of the DX->Vulkan stuff anyway.

It's worth looking into more, but I don't have the resources to do so in the foreseeable future.

SolarLune commented 5 years ago

Most games available on itch.io probably wouldn't need anything more than vanilla Wine to get going, I think (at least, initially); they wouldn't be pushing the envelope, I think. I think including the option to use Wine first might be the best / easiest option for now, since most Linux gamers probably have Wine already installed and you won't have to build it then.

gingerbeardman commented 5 years ago

Another data point, Steam now offers something similar

https://www.tomshardware.com/news/valve-steam-play-windows-games-linux,37677.html

Edit: oops, just seen Valve Proton mentioned above

treymerkley commented 5 years ago

The best thing to do in the interim is probably to bundle a single 64-bit prefix with the Linux version without any tweaking for compatibility other than dxd* at most. Leave it off by default and do what @ghost was saying and make sure that when users turn it on it's more or less understood to be mostly unsupported alpha. Instead of doing a bunch of preconfiguring, just put a relatively detailed wiki page up on how to use winetricks, dvxvk, etc. So people can figure it out themselves. Stuff can be added later, this would just be an QOL improvement for people willing to do the tweaking.

sprite-1 commented 5 years ago

how would we expose that functionality to power users without confusing beginners (who might not have wine installed)?

Would it not work to just have a checkbox buried in the settings away from normal user access? Something along the lines of "Use system-installed WINE for Windows games"

Xananax commented 5 years ago

I just installed Itch Windows with Wine! It works reasonably well.

On Arch (with multilib enabled):

sudo pacman -Syu wine wine_gecko wine-mono lib32-nvidia-utils wget winetricks --needed && \
wget nuts.itch.zone/download/windows && \
winetricks arial && \
wine itch-setup.exe && \
cd $HOME/.win32/drive_c/users/xananax/Local Settings/Application Data/itch/app-25.4.0 && \
wine ./itch.exe

The above assumes you have a nvidia card and use nvidia-utils, adjust to your needs. If you just enabled mutlilib now, and downloaded the 32 bit version of nvidia-utils, you will need to reboot before running wine.

I tested with a small game and it worked flawlessly.

treymerkley commented 5 years ago

@Xananax so it runs itch and it installs/runs the games too, without any configuration?

@fasterthanlime do you have a fork or branch or something that you're tinkering with this on? Getting this set up would be a fun side project, but I don't want to implement anything over what you have done, or what is your vision for the Wine-compatible itch.

Xananax commented 5 years ago

Yes, until now it has run every game I've thrown at it, though I switched my wine to x64 and reinstalled itch (some games don't have a x32 version). I haven't used it a lot (I use the Linux version preferably) but I've yet to see a game not working.

As a matter of fact one game (I don't remember which) that was broken under Linux worked under Wine.

ThaChillera commented 5 years ago

@Xananax I'm trying to re-create your wine install in a fresh wine folder, but I'm running into the following error: `2019/05/19 11:37:44 Creating shortcut (C:\users\\Desktop\itch.lnk)...

2019/05/19 11:37:44 Fatal error: mkdir C:\users\\Desktop: File already exists. `

Did you run into this error? did you manage to solve it?

Xananax commented 5 years ago

Sorry but no, I did not run into any error (I've done this setup in x32 and x64 architectures and different distros).

aaronfranke commented 5 years ago

Proton has been out for almost a year, I think it's worth looking into again. I think it would be especially a great fit for Itch due to Itch having tons of indie games. The games with the best Proton compatibility are non-AAA games with no DRM or anti-cheat, and I think most Itch games lack them.

Note: Proton only supports Linux, not Mac. I'm not sure how dedicated Itch is to supporting Mac, but it might be worth integrating both Wine and Proton for the sake of Mac. However, if you need to choose one, I highly recommend Proton, even though it would only be on Linux.

SolitudeSF commented 5 years ago

why is proton even a priority? just dont limit linux users from downloading windows games. and some custom launch command option to launch windows games through wine for people who know what wine is (so everyone on linux). right know app is borderline useless compared to website.

ThaChillera commented 5 years ago

I would say proton is a priority because of its ease of use.

For the same reason there is a one-click-install feature, even though everybody can just navigate to the website, download the files, extract/move the files to the install folder, chmod the executable as executable, and run it.

Also, for what it's worth, I really don't know wine well enough to feel confident doing this manually ;)

treymerkley commented 5 years ago

Proton's also higher compatibility AFAIK. Using it would be the path of least resistance for fasterthanlime to throw together if they feel up for it.

Otherwise, you all might check out GameHub. I don't want to detract from this project at all, they're just working on a solution for this for their launcher. It isn't as pretty, but it's worth a look.

hagabaka commented 5 years ago

I agree with @SolitudeSF that the Itch client doesn't need to manage proton or wine, but should rather just provide the ability to install game builds which are not native to the current platform, and allow the user to set the "launch command" so that they can use wine %command% or proton %command%. It could have some knowledge of these tools like "wine can be used to run Windows programs on Linux and Mac" and "proton can be used to run Windows programs on Mac", and offer suggestions for the launch command.

Being able to set the launch command can be useful not just for compatibility, but also to set options for some games, and to temporarily configure the system for gaming with "gamemode", "primusrun" etc.

Xananax commented 5 years ago

This issue is about supporting wine in Itch. I am not very adamant either way (as I said earlier, I made itch work under Wine, which works fine for me). However, I don't understand why "launcher options" is not simply a different issue. If you're interested in a different feature, then open a different issue.

Having a proton/wine handling in itch doesn't preclude launcher options, nor having launcher options precludes handling wine in itch. They're different concerns.

For what it's worth, I think people running the itch app are going to be of varying degrees of proficiency, and won't necessarily know how to use wine. As an example, a number of my friends/family members run Linux because it's convenient, but don't know the first thing about how it works. They do use the Itch app, and it would be good if they didn't have to think about how to run the games. It should Just Work(tm).
For people who do have relatively good knowledge of Linux, downloading the game from the site, and creating a custom launcher is trivial.

gingerbeardman commented 5 years ago

Proton is interesting, but it excludes macOS (ie. me and many others).

So please open a Proton issue and/or general external launcher issue.

sprite-1 commented 5 years ago

I agree it should be baked in to the client for the sake of the people who don't know any better. From their end it would just make the experience that much more smoother.

As for macOS compatibility, options related to proton can just be hidden on said platforms as it doesn't apply there

soredake commented 4 years ago

Any progress on this?

walking-octopus commented 3 years ago

Any progress on this?

Now itch.io client apparently uses system-wide Wine. I think built-in Proton Experimental would be a better choice, but it's too entangled with Steam and Steam Linux Runtime for proper integration. Also, the client should somehow tell users that Wine support is even there. I, for example, found out about it only through this article.

johannesrld commented 2 years ago

maybe check out https://usebottles.com/ ?

MonotoneDevelopment commented 5 months ago

Perhaps we can get this correctly implemented on MacOS too? I know it definitely isn't a priority, but for some people the only option they have is a 2015 MacBook Pro that they got for their birthday gifted to them by their aunt. It seems to open up the installation dialog, it just won't install and play with wine, and instead throws a build error.

ThaChillera commented 5 months ago

@MonotoneDevelopment I now use https://heroicgameslauncher.com/ instead of the itch client, the help with wine management for windows-only games