mmatyas / pegasus-frontend

A cross platform, customizable graphical frontend for launching emulators and managing your game collection.
http://pegasus-frontend.org
Other
1.25k stars 112 forks source link

Can't install/run Pegasus-FE on stock Pop_OS! 22.04 (nearly identical to Ubuntu 22.04) #1050

Closed michaelbutler closed 8 months ago

michaelbutler commented 1 year ago

The issue

Downloaded Pegasus FE stable .deb file which says it should work with Ubuntu 18.04 and up. When I try dpkg -i to install it, it says there are dependency problems. One is xinerama0, and the other is libssl.so.1.1. After googling a bit it appears that Ubuntu 22.04 uses OpenSSL 3.0 and doesn't have openssl1.1, probably for security reasons.

I'm currently weighing my options; as this is a new, dedicated system, if I want to run Pegasus maybe I should stick with 18.04 or 20.04? But 18.04 is pretty old now...

This stack overflow article https://stackoverflow.com/questions/72133316/libssl-so-1-1-cannot-open-shared-object-file-no-such-file-or-directory mentions solutions for getting LibSSL 1.1 installed on 22.04 with some caveats.

To fix the xinerama issue I simply ran sudo apt install libxcb-xinerama0. Oh and I switched to using the standalone pegasus-fe and not the debian .deb package.

As a last resort I may also just try the Flatpak which should side step these issues; are there any known downsides to running the flatpak?

System info

Most of it is explained above.

Pegasus version

Attempted using latest unstable - pegasus-fe_alpha16-47-gb0366487_x11-static.zip. I assumed I would have even more issues with the stable version since this is PopOS 22.04.

Pegasus log

No log generated since the program can't run without dependency libraries.

mmatyas commented 1 year ago

Unfortunately Linux distros don't guarantee any compatibility between different distros, or even between different versions of the same distro. Some dependencies, like OpenSSL have mutually exclusive releases, ie. in general, you may not have more than one version installed on the system (though you can always hack around limitations). For others, the distro maintainers may add or remove versions as they see fit. With such lack of stability, an official build cannot be more than a best-effort release.

The traditional solution for this is to build everything from source, or find a maintainer for it for your distro (eg. as a PPA). The somewhat more friendly alternative is Flatpak, which alleviates the problem by pairing every app with exactly one predefined set of libraries, and shipping that with the app. There shouldn't be major downsides to the Flatpak version (at least I don't see open issues for it), but depending on your setup, the release may be significantly larger. In rare cases, you might need to fine tune Flatpak's sandboxing too.

michaelbutler commented 1 year ago

Thanks, I have heard that it is difficult to maintain releases between major Ubuntu versions without significant upkeep. I think maybe for the time being the project should be clear about what versions it works on. For example, up to Ubuntu 20.04.

In any case, I've been using the Flatpak version and it does work great! Thank you

mmatyas commented 8 months ago

Ok, this should be working now with the latest version!

Gnomasz commented 3 weeks ago

Ok, this should be working now with the latest version!

Hi @mmatyas! What kind of solution did you mean with the latest release? I've just tried to install the latest "pegasus-frontend_0.16.78_amd64.deb" from the website on a Debian stable (which only offers Openssl 3 as well) and this version also requires libssl1.1,

mmatyas commented 3 weeks ago

Hi, thanks for the feedback! Turns out there was a mismatch between the deb file's requested packages and the actual dependencies of the executable. Will fix it in a second.