lutris / wine

Repository containing source code for various Lutris Wine builds
Other
142 stars 23 forks source link

[Dev Info] Battle.net Launcher doesn't start starting wine-staging at commit 02913f7 #30

Closed AdelKS closed 4 years ago

AdelKS commented 4 years ago

Hello! First of all, thank you for your amazing work!

I am here to report what seems to be a bug and I am ready to try to fix it myself if I get enough help. Since I don't have enough knowledge about wine's shenanigans.

Bug description

Starting from commit 02913f7 of the wine-staging code, the Battle.net Launcher from Overwatch doesn't seem to start anymore from Lutris (which enables then to run Overwatch).

I have confirmed at least that if I go to the wine executable from that specific wine-staging version that doesn't work with Lutris and use it to run Battle.net with


/wine-staging-02913f7/wine "/path/to/overwatch/drive_c/Program Files (x86)/Battle.net/Battle.net.exe"

Battle.net does work: I can login and launch the game (without dxvk)

Steps to reproduce

Even though I am using wine-staging with additional patches, I am sure the problem doesn't come from the patchset that is applied on top of wine-staging. Because that same patchset is applied on earlier wine-staging versions and the launcher works fine. But if you wish I can try vanilla wine-staging at that commit and report back.

Debug information

lutris-debug-out.txt

lutris-issue-report.txt

ghost commented 4 years ago

Is this yet another messed up mangohud situation lol?

Game is considered started. fsync: up and running. MANGOHUD: Failed to open 64bit libnvidia-ml.so.1: libnvidia-ml.so.1: cannot open shared object file: No such file or directory WARNING: radv is not a conformant vulkan implementation, testing use only. Initial process has exited. Game is considered exited.

AdelKS commented 4 years ago

Those seem to be soft fails and always happen for me. MangoHud still works even with those warnings.

ghost commented 4 years ago

It looks like that commit was tagged for 5.11/5.12 so maybe applied too early without other commits? Wine staging 5.10 as supplied normally works fine - I just tested it.

wine-tkg-staging-fsync-git-5.10.r13.g02913f75/bin/win

Another note is that a Lutris commit was just added to disable fsync and I don't know if that also could be part of the problem if you run Lutris with it enabled. For some reason I'm not seeing a Lutris version here.

My bad that was dx9.

Still have too many questions based on seeing 5.10 in the logs. Suppose, really need to know if the commit works on a version older than the tagged versions.

And if you need to git pull something newer or what.

AdelKS commented 4 years ago

It looks like that commit was tagged for 5.11/5.12 so maybe applied too early without other commits?

Wine-staging commits aren't cherry picked. The script clones wine-staging and checks out a certain commit, then applies other patches on top of it.

Wine staging 5.10 as supplied normally works fine - I just tested it.

Yes that works for me too, it's starting commit 02913f7, who's between 5.10 and 5.11, that Battle.net doesn't start anymore.

ghost commented 4 years ago

In that case I will just assume that the lutris wine versions are still problematic. That is what I read as to why they're not showing up now with 5.7 being the latest in the wine runner list.

I just don't have the desire to poke directly into their wine git any further.

If they're having problems then it will be sorted in time.

If it works for you without it then I say go for it :-)

And if its a regression in wine staging formal then test and find out I suppose. And if it runs there then its tkg.

These are my parting thoughts.

AdelKS commented 4 years ago

In that case I will just assume that the lutris wine versions are still problematic. That is what I read as to why they're not showing up now with 5.7 being the latest in the wine runner list. ... If they're having problems then it will be sorted in time.

Sounds reasonable. Though I was a bit expecting that Lutris isn't "Runner dependent". Maybe someone can clarify this for me.

If it works for you without it then I say go for it :-)

I may take this road, but it seems to be a pain to set by hand all the correct environment variables before launching the game directly with wine so it uses dxvk and mangohud.

And if its a regression in wine staging formal then test and find out I suppose. And if it runs there then its tkg.

It doesn't seem to be, since I can start the Battle.net launcher directly with wine, with that same versions that doesn't work with lutris. It is possible that I should just do some kind of environment cleanup for it to work. I couldn't find where to do that.

ghost commented 4 years ago

Oh, I just noticed that you're literally using tkg-glitch's wine there. You know he doesn't support Lutris anymore right? Probably be best to post an issue with his git, though I don't know what he'll do if you're trying to get it working with Lutris.

The Lutris one is here https://github.com/lutris/wine and seems to have nothing newer than 5.7 for commits.

I don't know enough to know what the Lutris devs will do here. Looks like this is kind of their viewpoint on the Wine releases at the moment: https://github.com/lutris/wine/releases/tag/lutris-5.7 which is just that its broken.

AdelKS commented 4 years ago

I haven't tried wine-staging vanilla at that specific commit, but I am pretty sure the same issue will happen. I will do later to check. For now I am working on finding the commit in mesa that causes a regression on Overwatch (black sky).

In another hand, isn't Lutris a wrapper that properly defines env variables for dxvk/wine/other things before launching a game ?

ghost commented 4 years ago

Yes, it looks like they're still trying to use tkg's wine so it should work better without applying the extra stuff on top as it does for you. Which makes me think that they could do a basic version which would at least supply tkg's and keep the versions increasing (especially since production seems to have dropped off the cliff).

strycore commented 4 years ago

I'm moving this discussion to lutris/wine since if a fix is needed, it will be there. Also please test with our latest 3.6 or 3.7 builds and see if the problem happens.

AdelKS commented 4 years ago

Hello @strycore, this is not a wine Lutris issue so to speak, I am only reporting that if you start including upstream wine-staging. Battle.net launcher seems to not start anymore through Lutris. Even though it does start when ran directly from command line with wine Battle.net.exe with that same wine-staging version.

AdelKS commented 4 years ago

Hello ! I have recently tested wine-lutris-5.7-8, and it seems that it has gotten the change that makes Battle.net not start anymore. Can someone test it out to see if it's not something specific to my setup ?

tannisroot commented 4 years ago

It still works for me.

AdelKS commented 4 years ago

Cool thanks! I will explore what's wrong.

AdelKS commented 4 years ago

Okay I got it, there seem to exist some intricate interaction with different versions of Mesa, MangoHud and Wine.

For those who encountered the same problem: For example disabling Mangohud, using a stable-ish version of Mesa (I tried mesa from git at commit f6aa071), and using the latest wine-tkg protonified version (I am using v5.12) works. The Battle.net launcher and Overwatch do start (then there are some artifacts in overwatch but that's due to latest wine).

This issue can be closed, since it's not related to Lutris. And lutris devs for sure know that newer wine-staging versions are bringing quite a lot of regressions. Thank you for your help!