flathub / net.lutris.Lutris

https://flathub.org/apps/details/net.lutris.Lutris
121 stars 23 forks source link

Question: are you planning to move from flathub-beta to flathub? #38

Closed eternal-sorrow closed 1 year ago

eternal-sorrow commented 4 years ago

And what's the reason that prevents you to do so?

gasinvein commented 4 years ago

Once it's ready for casual users, yes. Currently, our runtime, FD.o SDK 19.08 is in beta, so we can't move to stable anyway. Also some non-wine runners are not working, I consider this a blocker, too.

shuriken1812 commented 4 years ago

19.08 is actually out now :) and non wine runners we can simply download them a and give a path to them so i think there is no big deal but yes its better to move to stable when things are done in the way it should be..

AsciiWolf commented 4 years ago

Any news about the planned stable release?

gasinvein commented 4 years ago

@AsciiWolf This depends on the stability criteria. Some runners are not going to work, e.g. ones requiring Qt or packaged as appimage. Also upsteam doesn't seem to be interested in this flatpak. Essentially we need native Wine, so either flathub/flathub#1060 or #59 have to be merged.

AsciiWolf commented 4 years ago

What is the state now? :-)

gasinvein commented 4 years ago

@AsciiWolf It didn't change significantly, and also I've retired maintaining it, sorry.

eszlari commented 4 years ago

Some runners are not going to work, e.g. ones requiring Qt or packaged as appimage.

Qt: https://bugs.kde.org/show_bug.cgi?id=411771 blocks moving to the KDE runtime

appimage: I guess Lutris would need to be patched to extract the appimages?

gasinvein commented 4 years ago

@eszlari It can't be just moved to KDE runtime - doing so would require bundling a load of Gnome runtime components, including WebKitGTK. It's surely not an option. Still, I believe it could be possible to plug KDE runtime to this flatpak as an extension, and carefully add it's libdir to ld.so.conf.

eszlari commented 4 years ago

Just for clarification: What runners are we talking about actually? (https://lutris.net/runners) Dolphin? Shouldn't the user be pointed to org.DolphinEmu.dolphin-emu instead?

gasinvein commented 4 years ago

@eszlari At least also RetroArch and RPCS3. I myself don't use Lutrus for anything but Wine, so not sure.

Shouldn't the user be pointed to org.DolphinEmu.dolphin-emu instead?

Maybe, but it can't be launched from Lutris directly.

eszlari commented 4 years ago

At least also RetroArch and RPCS3.

RetroArch: https://github.com/flathub/org.libretro.RetroArch

RPCS3 needs to be submitted: https://github.com/TingPing/flatpak-packages/blob/master/net.rpcs3.RPCS3.json

Maybe, but it can't be launched from Lutris directly.

Why won't this work?

$ flatpak-spawn --host flatpak run org.DolphinEmu.dolphin-emu
gasinvein commented 4 years ago

Why won't this work?

$ flatpak-spawn --host flatpak run org.DolphinEmu.dolphin-emu

Because this flatpak doesn't have corresponding permission. And even if it'd had, some tweaks would be required, since Lutris by default uses it's own prebuilt binaries.

eszlari commented 4 years ago

Because this flatpak doesn't have corresponding permission.

Just add --talk-name=org.freedesktop.Flatpak?

And even if it'd had, some tweaks would be required, since Lutris by default uses it's own prebuilt binaries.

Just adding wrappers to /app/bin (like https://github.com/flathub/com.rawtherapee.RawTherapee/blob/master/com.rawtherapee.RawTherapee.yaml) should be enough?

gasinvein commented 4 years ago

Just adding wrappers to /app/bin (like https://github.com/flathub/com.rawtherapee.RawTherapee/blob/master/com.rawtherapee.RawTherapee.yaml) should be enough?

No. Lutris doesn't search PATH for runners (wine is the exception), user has to select them manually.

eszlari commented 4 years ago

After looking at the runners code (https://github.com/lutris/lutris/tree/master/lutris/runners), it's obvious that, with all the custom path handling (for binaries, configs & other files), we would need to have support from upstream for a proper flatpak-based solution. Providing our own Qt, seems to be unavoidable at the moment.

How about a net.lutris.BaseApp? Besides a minimal Qt build (like https://github.com/flathub/net.jami.Jami/blob/master/io.qt.qt5-base.json), we could also move some other modules there, making the core app even smaller and faster to build.

gasinvein commented 4 years ago

we would need to have support from upstream for a proper flatpak-based solution.

Yes, this is known from the very beginning. And upstream isn't interested.

Providing our own Qt, seems to be unavoidable at the moment.

It may be possible to reuse KDE runtime as extension.

How about a net.lutris.BaseApp? Besides a minimal Qt build (like https://github.com/flathub/net.jami.Jami/blob/master/io.qt.qt5-base.json), we could also move some other modules there, making the core app even smaller and faster to build.

I've proposed something like this here flathub/flathub#1428, just more generic.

eszlari commented 4 years ago

Yes, this is known from the very beginning. And upstream isn't interested.

Just remember this quote from the lutris maintainer from 2017:

that ticket is for distributing Lutris itself in a flatpak, we'll also support installing Flatpak games but that will come later. https://github.com/lutris/lutris/issues/701#issuecomment-348588256

It seems, there was some interest at the beginning. And this could certainly change, when this flatpak becomes more popular, and the majority of lutris' user-base are using it.

It may be possible to reuse KDE runtime as extension.

If you don't mind: Would you expand on that a bit?

I've proposed something like this here flathub/flathub#1428, just more generic.

Sorry, should have searched better, seems like a good initiative!

Anyway, I think these other runners should not block the move to stable. People interested in them, can just install them from Flathub and run them directly. Setting up their games seems not to be hard, but setting up Wine games is, so that's the most interesting aspect of Lutris for most people.

Maybe just run something like

zenity --warning --text="Flatpak: Only Wine runners supported at the moment!"

at the first start?

gasinvein commented 4 years ago

It may be possible to reuse KDE runtime as extension.

If you don't mind: Would you expand on that a bit?

Something like this can be added to the manifest:

add-extensions:
org.kde.Platform:
version: "5.14"
directory: lib/kde

This would make Qt libraries available in /app/lib/kde/lib/x86_64-linux-gnu (if adding it to ld library path, I guess is has to come after the Gnome runtime in order).

tinywrkb commented 3 years ago

Request for enabling i386 extensions in KDE 5.15 runtime and sdk so Lutris can switch to KDE runtime and have the Qt5 runners working.

gasinvein commented 3 years ago

@tinywrkb Lutris can't just switch to KDE runtime.

tinywrkb commented 3 years ago

@gasinvein thanks for the reply. I guess this is no for KDE runtime switch.

RokeJulianLockhart commented 3 years ago

http://github.com/flathub/net.lutris.Lutris/issues/38#issuecomment-602594876 Is that why this is not available via Flathub anymore?

gasinvein commented 3 years ago

It wasn't ever released to flathub, it's in flathub-beta repository.

strycore commented 2 years ago

Lutris is not a Wine-centric project. It can leave beta once it is confirmed that all our runners work.

I would also like to know how to support Flatpak runners but since this requires some coding, it would have to be for a future release. I think we can release a stable Flatpak for lutris 0.5.10 if we focus on our own runners.

In addition to runners, we also have to make sure that native games also work.

Mershl commented 1 year ago

As of last month Lutris is available on flathub (non-beta).