Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(Feature Request) Provide statically compiled binaries for official releases #16511

Open
2 tasks done
hardBSDk opened this issue Dec 6, 2022 · 14 comments
Open
2 tasks done

Comments

@hardBSDk
Copy link

hardBSDk commented Dec 6, 2022

What should happen

The official releases should have a statically compiled binary, actually it just offers a Flatpak.

(Development builds had statically compiled binaries for years)

Who would this benefit

The user need to install Flatpak to use the standalone version of PPSSPP, there are security concerns too.

Platform (if relevant)

Linux / BSD

Games this would be useful in

All.

Other emulators or software with a similar feature

  • RPCS3 with AppImage.
  • PCSX2 with AppImage.

Checklist

@hrydgard
Copy link
Owner

hrydgard commented Dec 6, 2022

Pull requests that set this up would gladly be merged.

It's really a Sisyphean job to keep up with all the changing packaging requirements on all platforms and distribution channels, I am unable to keep up myself, so would be perfect if someone who knows these platforms can help set this up.

@hrydgard hrydgard added this to the v1.15.0 milestone Dec 6, 2022
@hardBSDk
Copy link
Author

hardBSDk commented Dec 7, 2022

Pull requests that set this up would gladly be merged.

It's really a Sisyphean job to keep up with all the changing packaging requirements on all platforms and distribution channels, I am unable to keep up myself, so would be perfect if someone who knows these platforms can help set this up.

Statically compiled binaries is the most easy way to maintain because you choose the libraries to compile, plus the requirement is just a Linux/FreeBSD kernel.

It helps the bug reporting too, since you don't need to care about dependency bugs affecting the emulator stability.

@hrydgard
Copy link
Owner

hrydgard commented Dec 7, 2022

I fully agree, but if someone who knows how and can test that the result is as expected can do the CMake tweaks, that would help a lot. My point is that there are so many platforms and packaging formats these days that I just can't keep up.

@hardBSDk
Copy link
Author

hardBSDk commented Dec 8, 2022

I fully agree, but if someone who knows how and can test that the result is as expected can do the CMake tweaks, that would help a lot. My point is that there are so many platforms and packaging formats these days that I just can't keep up.

I vote for static builds to replace Flatpak, it reduce the dependencies too.

@anr2me
Copy link
Collaborator

anr2me commented Dec 9, 2022

(Development builds offers statically compiled binaries for years)

Is this mean the linux artifacts from github action? if it is, can't we just packaged it and upload it to release page https://github.com/hrydgard/ppsspp/releases ?

@hardBSDk
Copy link
Author

hardBSDk commented Dec 29, 2022

(Development builds offers statically compiled binaries for years)

Is this mean the linux artifacts from github action? if it is, can't we just packaged it and upload it to release page https://github.com/hrydgard/ppsspp/releases ?

The tar.xz file is a static build? if yes, this static build is not shown on the website, so just people acessing the GitHub Releases page know his existence.

@hardBSDk
Copy link
Author

(Development builds offers statically compiled binaries for years)

Is this mean the linux artifacts from github action? if it is, can't we just packaged it and upload it to release page https://github.com/hrydgard/ppsspp/releases ?

The tar.gz file is a static build? if yes, this static build is not shown on the website, so just people acessing the GitHub Releases page know his existence.

@hrydgard @unknownbrackets

@hrydgard
Copy link
Owner

I'll add links there to the new website coming early next year.

@anr2me
Copy link
Collaborator

anr2me commented Dec 30, 2022

(Development builds offers statically compiled binaries for years)

Is this mean the linux artifacts from github action? if it is, can't we just packaged it and upload it to release page https://github.com/hrydgard/ppsspp/releases ?

The tar.xz file is a static build? if yes, this static build is not shown on the website, so just people acessing the GitHub Releases page know his existence.

The tar.xz at release page only contains source code (may be for people who don't use git).
What i'm talking about is the artifacts at Actions page, like this ubuntu-latest build (which contains PPSSPPSDL binary in a zip file)
image
But unfortunately, only people who have github account can download these artifacts.

@hardBSDk
Copy link
Author

hardBSDk commented Jan 3, 2023

(Development builds offers statically compiled binaries for years)

Is this mean the linux artifacts from github action? if it is, can't we just packaged it and upload it to release page https://github.com/hrydgard/ppsspp/releases ?

The tar.xz file is a static build? if yes, this static build is not shown on the website, so just people acessing the GitHub Releases page know his existence.

The tar.xz at release page only contains source code (may be for people who don't use git). What i'm talking about is the artifacts at Actions page, like this ubuntu-latest build (which contains PPSSPPSDL binary in a zip file) image But unfortunately, only people who have github account can download these artifacts.

Nice! then it have statically compiled binaries with Ubuntu libraries, but it needs a GitHub account to download.

@hrydgard @unknownbrackets You can offer this GitHub Actions Ubuntu builds without user login on the website and GitHub Releases.

Like Xash3D FWGS does.

@hrydgard hrydgard modified the milestones: v1.15.0, Future-Prio Mar 17, 2023
@kenderipa
Copy link

Hello @hrydgard, have you considered AppImage? It is usable on any Linux system, is portable, doesn't pull a copy of an operating system for sandboxing and is pretty easily added to Steam as a non-Steam game (for Steam Deck users mostly).

@XargonWan
Copy link

Greetings, any advancements on this? We at RetroDECK are interested in a linux binary release such as an AppImage.
Thanks a lot.

@anr2me
Copy link
Collaborator

anr2me commented Jul 20, 2024

Greetings, any advancements on this? We at RetroDECK are interested in a linux binary release such as an AppImage. Thanks a lot.

There was an attempt to build AppImage format, discussed at #19295 (but the test PR is actually ANR2MERefork#13)

Unfortunately, it's still failed to run the AppImage file due to musl not being statically linked (since it was built on Alpine Linux, thus using musl instead of the more common glibc).
Might considers building it on a Debian-based linux in the future (didn't have the time to work on it yet), but when i saw this AppImage/AppImageKit#877 statically linking musl seems to be preferred than statically linking glibc due to license and file size reason.

@Mrlinkwii
Copy link

Unfortunately, it's still failed to run the AppImage file due to musl not being statically linked (since it was built on Alpine Linux, thus using musl instead of the more common glibc). Might considers building it on a Debian-based linux in the future (didn't have the time to work on it yet), but when i saw this AppImage/AppImageKit#877 statically linking musl seems to be preferred than statically linking glibc due to license and file size reason.

@anr2me

id say just build base on Ubuntu ( like the way most other emus do ) i think most use https://github.com/probonopd/go-appimage (PCSX2/ duckstation etc) with has libfuse3 support for building appimages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants