Open-Wine-Components / umu-launcher

GNU General Public License v3.0
1.6k stars 29 forks source link

Not working with Lutris #202

Closed elogicuk closed 2 weeks ago

elogicuk commented 2 weeks ago

Installed umu-launcher on arch linux image

Select it in Lutris image

And when i try and run a game here is the result. image

R1kaB3rN commented 2 weeks ago

That error occurs because umu-launcher couldn't find your UMU-Proton build in $HOME/.local/share/Steam/compatibilitytools.d.

R1kaB3rN commented 2 weeks ago

umu-launcher does a simple file check for sanity before making creating a subprocess, hence the FileNotFoundError.

Possible causes how this can happen:

On the last point, when the GE-Proton (Latest) runner is set in 0.5.17, umu-launcher will delete all stable UMU-Proton builds on behalf of the user whenever there’s a new UMU-Proton release. Therefore, this will cause any games you had explicitly configured with a UMU-Proton build to not run as it was removed.

elogicuk commented 2 weeks ago

This umu-launcher stuff is very confusing

The download process completed and umu was installed successfully as you can see from the screenshot i posted.

And i have no games configured with the GE-Proton (Latest) runner

Today was the first time i installed umu

R1kaB3rN commented 2 weeks ago

This is not a bug with umu-launcher and here's how you should be able to reproduce the issue on your end to prove it.

  1. Install Lutris 0.5.17
  2. Delete all UMU-Proton builds in $HOME/.local/share/Steam/compatibilitytools.d
  3. Install UMU-Proton9.0-2 in $HOME/.local/share/Steam/compatibilitytools.d
  4. Configure 1 game with the GE-Proton (Latest) runner in the wine version drop down menu
  5. Configure a 2nd game with the UMU-Proton9.0-2
  6. Run the 1st game
  7. Wait for the 1st game to launch
  8. Close the 1st game
  9. Run the 2nd game

As a result, you shouldn't be able to run the 2nd game as UMU-Proton9.0-2 does not exist. While umu-launcher can attempt to set an appropriate Proton to handle cases like these, it would be a workaround for Lutris. All clients should be able to automatically update the game's configuration state when the compatibility tool/runner does not exist . For instance, this will not happen in Heroic nor the Steam client because it will actually unset those tools for the game

elogicuk commented 2 weeks ago

Thanks for trying to help me R1kaB3rN

But i have no idea about this umu-launcher, seems very complicated

I guess i will stick with GE-Proton or Wine-GE for now both work fine

R1kaB3rN commented 2 weeks ago

I'm sorry to hear that and for any inconvenience it has caused, especially since it's your first time.

To run games, umu-launcher basically just needs a few things for it to work:

  1. A runtime
  2. A proton
  3. A GAMEID

The client is responsible for at least 2 of those things, while umu-launcher is responsible for the runtime. Users shouldn't have to do anything, but wait for any downloads to complete.

R1kaB3rN commented 2 weeks ago

What you can do for now is set another Proton build in the wine version dropdown after confirming the build exists in $HOME/.local/share/Steam/compatibilitytools.d from your file manager.

Also, assuming the Lutris runtime hasn't been updated, you may also need to apply this workaround.

While I'm convinced this is not a bug with the launcher, I'm going to leave this issue open for visibility.

Swivelgames commented 2 weeks ago

This is just a bit of commentary, so feel free to mark this as Off-topic, but I thought it might be tangentially helpful. :blush:

Disclaimer

It is notoriously difficult to read tone in text. My thoughts below are just based on observations I've made reading comments on Discords, Forums, and elsewhere. I respect the effort and technical achievements, and I just want to caveat the below and highlight that I'm in no way upset, or trying to be condescending or rude :sweat_smile:

Thoughts

I think the number one thing that UMU needs at the moment is Education. As a Software Engineer of 20 years, even I didn't follow what you were trying to explain. :disappointed:

Granted, I haven't slowed down to take the time to dig into UMU yet, so I'm coming in quite fresh to the idea. :sweat_smile: But I don't know that most users will be able to go beyond that, and that's kind of the point I'm trying to make, which I'll expand on a bit below (i.e., most people have no idea what to expect from UMU, how it works, or how to use it and just want to "turn it on"). But, as a maintainer/contributor, you have a lot of knowledge about UMU and how it works, but outsiders aren't familiar with it or how it differs from the traditional way of doing things.

Right now, at first glance, the README and accompany documentation is very technical. The "How do I use it?" is quite literally just a 288-character CLI command. :sweat_smile:

I can tell UMU is set to likely be pretty disruptive in the Linux Gaming market (which is a good thing!) But I think the most important thing that UMU could provide users with, outside of Topic Guides and Reference Docs, is Educational material. :heart:

Specifically:

Up to this point, OWC has been primarily focused on: Make it work, Make it right, and Make it fast. That's led us to a 1.0 release :tada: I think, for the people that know about UMU, they're excited for it, but most of them aren't exactly sure why they're excited for it or how to use it?

Reading other materials and comments from other people in various Discords, forums, and comments, it seems like everyone was split on their understanding of what UMU Launcher was. I've heard different people think it was different things, like:

The latter is motivated by people misunderstanding the "Unified Launcher" wording.

tl;dr

Bottom line is people are excited for UMU, but most have no idea what it is or how to use it. Given that most are used to things like Steam and Lutris "doing everything for them", I imagine the majority of people really just want to know:

elogicuk commented 2 weeks ago

This is just a bit of commentary, so feel free to mark this as Off-topic, but I thought it might be tangentially helpful. 😊

Disclaimer

It is notoriously difficult to read tone in text. My thoughts below are just based on observations I've made reading comments on Discords, Forums, and elsewhere. I respect the effort and technical achievements, and I just want to caveat the below and highlight that I'm in no way upset, or trying to be condescending or rude πŸ˜…

Thoughts

I think the number one thing that UMU needs at the moment is Education. As a Software Engineer of 20 years, even I didn't follow what you were trying to explain. 😞

Granted, I haven't slowed down to take the time to dig into UMU yet, so I'm coming in quite fresh to the idea. πŸ˜… But I don't know that most users will be able to go beyond that, and that's kind of the point I'm trying to make, which I'll expand on a bit below (i.e., most people have no idea what to expect from UMU, how it works, or how to use it and just want to "turn it on"). But, as a maintainer/contributor, you have a lot of knowledge about UMU and how it works, but outsiders aren't familiar with it or how it differs from the traditional way of doing things.

Right now, at first glance, the README and accompany documentation is very technical. The "How do I use it?" is quite literally just a 288-character CLI command. πŸ˜…

I can tell UMU is set to likely be pretty disruptive in the Linux Gaming market (which is a good thing!) But I think the most important thing that UMU could provide users with, outside of Topic Guides and Reference Docs, is Educational material. ❀️

Specifically:

  • Splitting Technical and End-User documentation
  • Usage of Analogies, Similes, and Metaphors to show connection between things people are already familiar with in the current translation stack, and how UMU looks to change it.
  • Diagrams and Graphics to show the current stack and shows where UMU fits in to the current mix of things (esp., how it works, and how to use it)
  • Giving people a point of reference with things they already understand at a high-level (Lutris > Runner > WINE > Executable), where does UMU sit in the stack?

    • I'd like to point out that, in the gaming community, most people would consider Lutris as a "launcher", even though Lutris itself calls itself a Platform. This comes from the colloquial reference to the "Steam Launcher", "Epic Games Launcher", etc.
    • Lutris also differentiates between "Sources" (what most people would call "Launchers") and "Runners" (Wine, Steam, Libretro, etc...)
  • Finding a way to collaboratively define and use Consistent Language synchronized across OWC, Lutris, and others...
  • Comparison of UMU to the current way of doing things, and how it's different
  • Clear, concise How-To Guides, and Troubleshooting Guides

Up to this point, OWC has been primarily focused on: Make it work, Make it right, and Make it fast. That's led us to a 1.0 release πŸŽ‰ I think, for the people that know about UMU, they're excited for it, but most of them aren't exactly sure why they're excited for it or how to use it?

Reading other materials and comments from other people in various Discords, forums, and comments, it seems like everyone was split on their understanding of what UMU Launcher was. I've heard different people think it was different things, like:

  • A new Wine fork to replace GE-Proton
  • A lutris-equivalent of steamcmd
  • And the most drastic: a new Steam-like GUI Launcher that would replace Lutris

The latter is motivated by people misunderstanding the "Unified Launcher" wording.

tl;dr

Bottom line is people are excited for UMU, but most have no idea what it is or how to use it. Given that most are used to things like Steam and Lutris "doing everything for them", I imagine the majority of people really just want to know:

  • What is it? (i.e., "what is it equivalent to? what does it replace?")
  • How do I "turn it on"?

100% agree brother. Most users now days are coming from windows and no idea about linux.

umu should be selectable as a launcher with lutris, bottles and heroic from a drop down menu without having todo anything extra.

p02030507111317 commented 2 weeks ago

I can only agree that the umu whole process is a bit confusing and having games randomly not working spontaneously is a bit annoying but sayin that if someone is having the same problem, you can try this

R1kaB3rN commented 2 weeks ago

tl;dr

Bottom line is people are excited for UMU, but most have no idea what it is or how to use it. Given that most are used to things like Steam and Lutris "doing everything for them", I imagine the majority of people really just want to know:

* What is it? (i.e., "what is it equivalent to? what does it replace?")

* How do I "turn it on"?

Thanks for the feedback and taking the time to share your thoughts. Also, sorry if I had failed to communicate clearly the cause of the OP's issue. Upon rereading my posts, they were indeed sloppy and I can see how it can come off as confusing.

Yes, improving the documentation or providing more resources would be a reasonable request like you mentioned. Especially when things break, as it'd be helpful to understand a bit about the components involved leading to that breakage. I already went and created a separate issue for your request on more "educational material", so, for those interested, let's please move all discussion there.

R1kaB3rN commented 2 weeks ago

Closing this issue as Lutris just officially pushed an update to its runtime, so users should be able to run their games through Proton. However, if it so happens that there are errors related to a missing runtime file in $HOME/.local/share/umu such as:

pressure-vessel-wrap[89838]: W: /home/username/.local/share/umu/var/tmp-IMACV2/bin does not exist, this probably won't work
pressure-vessel-wrap[89838]: E: None of the supported CPU architectures are common to the graphics provider and the container (tried: x86_64-linux-gnu, i386-linux-gnu)

then delete $HOME/.local/share/umu. In the future, for major releases or whenever there's structural changes in $HOME/.local/share/umu, umu-launcher will delete its runtime directory automatically in behalf of users.