SuperSlicer icon indicating copy to clipboard operation
SuperSlicer copied to clipboard

Flatpak packaging and Flathub

Open roxandtol opened this issue 2 years ago • 2 comments

Is your feature request related to a problem? Please describe. Just a simple solution for linux users who would like to auto update their Super Slicer installs easily

Describe the solution you'd like Flatpak is an app packaging format that is becoming more and more widespread in the Linux Desktop, and whilst we have the AppImage, it becomes a bit annoying to go to the SS github page every time there's an update, and since most modern distros (Fedora, Mint, Crystal, to name a few) already ship flatpak support natively, it could be very easy for users in these distros to get SS

Describe how it would work You could upload SS to Flathub, since it's the most used Flatpak repository, where anyone can upload their apps, and us (the users), could go to their App Stores (GNOME Software, Discover on KDE / Steam Deck, Etc...) and download it. And every time we have an update, we get a simple Update button on our app stores.

Describe alternatives you've considered There's also the Option of using Snap Packages, but for the Linux Desktop, it isn't really liked, since it's a bit more focused at servers, but there's some desktop apps in there too

Additional context

Flathub link: https://flathub.org/home Flatpak Documentation: https://docs.flatpak.org/en/latest/

This would also add support for the new Steam Deck, but i doubt many people will use it in their gaming console

roxandtol avatar Sep 21 '22 17:09 roxandtol

I am using my Steam Deck as a PC as well as a gaming console and I would like to use SuperSlicer on it. Currently there is no way to use it on the Steam Deck. Both the .tar.zip and the .AppImage are giving the error

[0x00007fa3d3ff0480] [trace]   Initializing StaticPrintConfigs
An error occured while setting up locale.
You may need to reconfigure the missing locales, likely by running the "locale-gen" and "dpkg-reconfigure locales" commands.
SuperSlicer will now terminate.

locale::facet::_S_create_c_locale name not valid

And because the Steam Deck has read only file system these commands can't be run(or if they are run they will have to be run after every OS update)

yordanov-alexandar avatar Oct 15 '22 04:10 yordanov-alexandar

I'd like to use Superslicer on my steam deck as well!

redoxeon avatar Nov 01 '22 22:11 redoxeon

Might we adapt this code? https://github.com/flathub/com.prusa3d.PrusaSlicer

cron410 avatar Dec 03 '22 13:12 cron410

I'll try to adapt the code, and then if someone higher up wants to publish it, go ahead, although I can always publish it myself

roxandtol avatar Dec 05 '22 01:12 roxandtol

+1 for Steam Deck user who uses it as a portable computer.

Colcobau avatar Mar 13 '23 15:03 Colcobau

I've repackaged the ubuntu tarball into a Flatpak: https://github.com/GreenCappuccino/io.github.supermerill.SuperSlicer

Because I'm using the tarball, there are some idiosyncrasies, like the Desktop Integration menu still being enabled. I can't fix that right now as that's a build-time flag. We'll need to build the application like the PrusaSlicer Flatpak in the future.

Overall, the Flatpak is usable, but there's some polish that needs to be done before it can be submitted to Flathub I think.

  • Fix MIME type icon display
  • Set some other version metadata correctly
  • Tighten up certain file permissions
  • Review submission criteria for Flathub

For the time being, I'm maintaining a flatpak repo:

flatpak remote-add superslicer-flatter https://superslicer-flatter.greencappuccino.net/index.flatpakrepo
flatpak install io.github.supermerill.SuperSlicer

Here's how the metadata looks on GNOME Software: image

I'll try to put together some better release tooling over the summer when school is out (like actually building the app). When I feel more confident about the state of the Flatpak, I'm looking to transfer ownership of the repo to @supermerill .

Some thoughts on compiling the software:

  • PrusaSlicer performs the build inside of the flatpak-builder Freedesktop SDK enviroment with versioned dependencies, but I personally do not see the need to do that.
  • Since SuperSlicer has Github Actions that just use Ubuntu's -dev packages, we could probably just create a new workflow that compiles under different flags, and just passes the tarball artifact over to the flatpak-builder.

GreenCappuccino avatar May 02 '23 04:05 GreenCappuccino

fwiw, running SuperSlicer with the LC_ALL env var set to en_US.UTF-8 (LC_ALL="en_US.UTF-8" ./superslicer) works around the launch issue for me on my Steam Deck.

Editing the superslicer launch script and adding that part at the start of the "Exec" line works too.

Vinjul1704 avatar Aug 08 '23 22:08 Vinjul1704