lutris / agora

Public discussion space for the community
11 stars 0 forks source link

Wine launchers broken in latest update on Solus (0.5.3) #21

Open Staudey opened 4 years ago

Staudey commented 4 years ago

Describe the bug

I've updated the Lutris package for the Solus repository from 0.5.2.2 to the 0.5.3 release. Soon after a user pointed out that no Wine launchers were working anymore. I found the same thing upon further testing. I'm going to use the "Hero Lab" installer script as an example.

Expected behavior

Running the script should start the installation of Hero Lab and create working entry in Lutris from which I can launch the game.

Current behavior

Setup rushes through the steps way to quickly after the inital Wine prefix setup, complains about a missing executable at the end and the entry in Lutris is non-functional

Steps to reproduce

Lutris debugging output

https://paste.ubuntu.com/p/nmsptGYB3R/

journalctl output: https://paste.ubuntu.com/p/4h7bhCWW6Y/

System information

https://paste.ubuntu.com/p/sQqJMH2HVH/

Screenshots

Screenshot from 2019-09-11 22:52:13

This happens for every Wine app. Selecting "Wine console", "Wine config", etc. does nothing either.

JagdCake commented 4 years ago

Debug log when I try to run any game that uses wine. https://paste.ubuntu.com/p/dBrkDY73D4/

Debug log when trying to open "Wine configuration"; same thing with "Wine console", "Wine registry", etc. https://paste.ubuntu.com/p/Fp2dg33PCG/

The game debug logs are all empty.

Medath commented 4 years ago

@JagdCake are you also on Solus?

JagdCake commented 4 years ago

@JagdCake are you also on Solus?

Yes. 2019-09-12_13-56

tannisroot commented 4 years ago

Your hastebin links are empty for me. Please provide your info using some other paste service. (I suggest paste.ubuntu.com).

JagdCake commented 4 years ago

Your hastebin links are empty for me. Please provide your info using some other paste service. (I suggest paste.ubuntu.com).

https://paste.ubuntu.com/p/dBrkDY73D4/ https://paste.ubuntu.com/p/Fp2dg33PCG/

Staudey commented 4 years ago

Your hastebin links are empty for me. Please provide your info using some other paste service. (I suggest paste.ubuntu.com).

I've updated the links in the issue report to use paste.ubuntu.com

tannisroot commented 4 years ago

INFO 2019-09-12 11:39:07,955 [init.init:437]:Dialog hide-wine-systemwide-install-warning dismissed by user do you have Wine installed on your system? Not Wine from Lutris, but from Solus repositories.

Staudey commented 4 years ago

Can't speak for JagdCake, but Wine is installed on my system, both x64 and 32bit version, from the Solus repository.

tannisroot commented 4 years ago

Ok, when I tried to install it, I got a traceback:

  File "/usr/lib/python3.7/site-packages/lutris/installer/commands.py", line 420, in _monitor_task
    self._iter_commands()
  File "/usr/lib/python3.7/site-packages/lutris/installer/interpreter.py", line 567, in _iter_commands
    self._finish_install()
  File "/usr/lib/python3.7/site-packages/lutris/installer/interpreter.py", line 613, in _finish_install
    self.parent.on_install_finished()
  File "/usr/lib/python3.7/site-packages/lutris/gui/installerwindow.py", line 437, in on_install_finished
    game = Game(game_data["id"])
KeyError: 'id'
2019-09-17 22:31:47,462: Removing folder /home/alex/.cache/lutris/installer/hero-lab

which is the same as https://github.com/lutris/lutris/issues/2327 I am not entirely sure if this is correlated but I will keep it opened and try to investigate a bit.

tannisroot commented 4 years ago

Ok I can reproduce the issue with 0.5.2.2 as well so idk wtf is happening.

JagdCake commented 4 years ago

INFO 2019-09-12 11:39:07,955 [init.init:437]:Dialog hide-wine-systemwide-install-warning dismissed by user do you have Wine installed on your system? Not Wine from Lutris, but from Solus repositories.

I do not have wine installed.

Staudey commented 4 years ago

I've found the commit that broke things. When I revert 8a9bec84ed48332120692827005604d963db31a0 everything works fine again.

tannisroot commented 4 years ago

@aTosser

aTosser commented 4 years ago

I am looking into it right now, I will ping with an update.

aTosser commented 4 years ago

I just created a fresh solus install in a VM. This is the path to what I did. Install Solus from Live. update all system packages with software center. installed wine from software center installed wine-32bit from software center installed lutris-4.16-x86_64 I do not have BF2142 so I used one that I do have. Tested lutris from software center (0.5.2.2) installed git with eopkg cloned master as of 5 minutes ago 00:37 EST 01-Oct-2019 tested with master VirtualBox_Solus_01_10_2019_00_34_03 GW2 runs using the system wine (4.16) lutris wine (4.16) and the installer supplied wine (esync-staging-pba-3.16-x86_64)

Tried to install Hero Lab and I got the same errors reported above.

Tried to install Hero Lab on my Host Gentoo system... Same error:

wine: Bad EXE format for Z:\home\ren.cache\lutris\installer\hero-lab\client\hl88h_win_install.exe

As far as hero lab is concerned, there is something wine does not like about the installer exe. But I was able to get Guild Wars 2 running with no issues.

Staudey commented 4 years ago

Thank you for your checking this issue out @aTosser

I agree that the Hero Lab issue is unrelated, that was a bad example, there is something else wrong with that particular game. I'm still running into the actual issue with other Wine games though, if I don't revert the mentioned commit. I will try it in a VM with a clean system and provide steps to reproduce as soon as I find the time (unfortunately probably not today).

edit: Just fyi, I've reverted that commit downstream for our Solus package, because at least @JagdCake and I run into that issue, probably more users, and I would have to hold back the update otherwise. If there is something else wrong with our setups I'll remove that temporary patch again, as soon as I figure it out.

aTosser commented 4 years ago

I also noticed that cabextract is not getting pulled in as a dependency for lutris. I would recheck all of the deps for packaging as this did cause a game install of mine to fail here.

Staudey commented 4 years ago

Okay, here are instructions on how to reproduce this problem:

  1. Install Solus Budgie Edition (e.g. in VirtualBox)
  2. Fully update the system using the command sudo eopkg up
  3. Reboot your system
  4. Install all packages we need: sudo eopkg it lutris wine wine-32bit git
  5. Launch Lutris
  6. Click the "Search Games"-Icon in the top right
  7. Enter "Magic: The Gathering" in the search bar and select "Search Lutris.net"
  8. In the results, right-click "Magic: The Gathering - Arena" and select "Install"
  9. Select "Install" again
  10. Select "Install" again
  11. Wait for the download and Wine-prefix creation to finish
  12. Select "Install" in the "Wine Mono Installer"
  13. Select "Install" in the "Wine Gecko Installer"
  14. Select "Install" in the "Wine Gecko Installer"
  15. Observe the installation, including lots of output for the .NET 4.7.2 installation
  16. Select "Launch game"
  17. You will see the following output: Screenshot from 2019-10-02 20:22:08 This is fine for our purposes. We don't have to actually launch the game to completion, just know that it would work.
  18. Select "OK"
  19. In the side bar, click on the "Remove" icon
  20. Select "Apply" and then confirm with "Yes"
  21. Close Lutris
  22. Open the terminal
  23. git clone https://github.com/lutris/lutris.git to clone the current master
  24. cd lutris/bin/
  25. ./lutris
  26. Confirm the donation window with "OK"
  27. Right-Click "Magic: The Gathering - Arena"
  28. Select "Install"
  29. Repeat Steps 8 to 10
  30. Observe that it rushes through the installation, with no output like before
  31. Click "Launch"
  32. You will see the following output: Screenshot from 2019-10-02 20:30:48 From the rushed installation without output plus the missing executable it should be clear that something went wrong with this Wine installation

You can also try clicking on "Wine registry" in the version from git, nothing happens. Switch back to the version from the repository, click on "Wine registry" and the editor opens as expected.

I hope this helps figure out what could be wrong!

aTosser commented 4 years ago

Remove MTGA including game files Close lutris (important) Install cabextract via your favorite method (mine is: sudo eopkg install cabextract) Launch lutris reinstall MTGA

Victory.

cabextract needs to be a mandatory dependency for lutris in solus packaging. There is another bug (#2288) open about cabextract on solus with a request for a gui popup for it being missing.

Staudey commented 4 years ago

Installing cabextract changes nothing about this issue. I see the exact same behaviour. (I can make cabextract a dependency for the Solus package, but that is a different issue)

aTosser commented 4 years ago

Apologies, after installing the game about 40 times sucessfully, I decided to reset my VM and now I am consistently getting mono pagefaults after a new fresh install. I will continue to look into this.

Staudey commented 4 years ago

Note: I just tried it with the new version (0.5.4), with the same result unfortunately (same patch, with slight adjustments, still makes it work on Solus)

strycore commented 4 years ago

Are there any issues with the Wine build on Solus? If so, can this go on the lutris/wine bugtracker? I'm going to remove this from the 0.5.6 milestone since it is unrelated to the client.

Staudey commented 4 years ago

@strycore Since this was caused by a commit to the client (8a9bec8, as mentioned above) I thought this was the right place for the bug report. After reverting those changes it works fine with the Lutris Wine build. Unfortunately I haven't found the time yet to really get to the bottom of this issue and my knowledge of Lutris, Python and Linux in general probably needs some polishing before I can do so.

strycore commented 4 years ago

oh, it's that. Putting back onto the releases then.

I hope the Gentoo people and the Solus people get into a fight at some point.

I'll be watching.