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

Flatpak Support #9220

Closed
5 tasks done
Doomsdayrs opened this issue Jan 19, 2023 · 17 comments
Closed
5 tasks done

Flatpak Support #9220

Doomsdayrs opened this issue Jan 19, 2023 · 17 comments
Assignees
Labels
A-desktop Area: Desktop Application enhancement New feature or request linux newsworthy

Comments

@Doomsdayrs
Copy link
Contributor

Doomsdayrs commented Jan 19, 2023

TL;DR Status: the current Flathub submission:

Describe the feature

While ruffle is still in active development and not yet stable, it is still quite useful for users to play many flash games (such as BTD) that do operate well with the current support.

To make it easier for users on Linux distributions to use Ruffle, it would be nice to get ruffle bundled with flatpak and published to flathub.

This repository contains my current bundling of ruffle. There are issues I want to first solve before I can submit to flathub, of course with permission from ruffle-rs to do so.

Issues

Most of these are all XDG compliance related.

@Doomsdayrs Doomsdayrs added the enhancement New feature or request label Jan 19, 2023
@Doomsdayrs
Copy link
Contributor Author

Error

Error: Couldn't get platform clipboard

Caused by:
    Unknown error while interacting with the clipboard: Display parsing error

Digging

This line is the reason for the first message, as far as I am aware this should be harmless.

In arboard, this line implements the new function for Clipboard for wayland.

This line in wl-clipboard-rs determines if there is a clipboard supported or not. And at this point, I reach the end of my knowledge.

@dginovker
Copy link

Clipboard crash is just missing permissions iirc. A good test would be to download Flatseal and enable all the permissions and see if it still crashes.

The SVG logo isn't required but highly encouraged, same thing with Desktop/metainfo file being upstreamed but it can be in your Flatpak repo. The only thing that is 100% required when submitting to Flathub is you have permission from the ruffle-rs maintainers

@Doomsdayrs
Copy link
Contributor Author

Clipboard crash is just missing permissions iirc. A good test would be to download Flatseal and enable all the permissions and see if it still crashes.

Apologies, I doubt that the issue is with permissions. Please do follow the mention hole with YaLTeR/wl-clipboard-rs#32 to see. It seems it might be improper usage of libraries.

Specifically flatpak support might have to wait on rust-windowing/winit#2156 for proper clipboard handling.

The only thing that is 100% required when submitting to Flathub is you have permission from the ruffle-rs maintainers

That is why I am here :D

@Doomsdayrs
Copy link
Contributor Author

One solution is to allow Clipboard to become null, and simply warn in console that it will not operate. But I despise this type of hacky solution and would ruin user experience.

@n0samu
Copy link
Member

n0samu commented Jan 20, 2023

I understand that the suggestion is to use Smithay Clipboard, but this is not a cross-platform library like arboard, and I'm not sure the Ruffle devs would want to add this additional dependency.

Anyway @Doomsdayrs thanks for your work on this! Here's the Ruffle icon SVG:
favicon

@Doomsdayrs
Copy link
Contributor Author

Doomsdayrs commented Jan 22, 2023

I understand that the suggestion is to use Smithay Clipboard, but this is not a cross-platform library like arboard, and I'm not sure the Ruffle devs would want to add this additional dependency.

It can be done via abstraction. Using a separate library for Linux while retaining the current library for other platforms. In fact, the abstraction would be quite simple as the clipboard is only used in two lines of code.

Anyway @Doomsdayrs thanks for your work on this! Here's the Ruffle icon SVG: favicon

Where is this file hosted on the github? Since I rather have it included upstream.

@n0samu
Copy link
Member

n0samu commented Jan 22, 2023

Where is this file hosted on the github?

I don't think it is. One of the other Ruffle developers sent me this file on Discord. I do think it would be a good idea to include it in the repo somewhere though.

@WingofaGriffin
Copy link

Would love to see a Flatpak or an AppImage supported, as on readonly systems like SteamOS, we are missing libraries to run it:

./ruffle: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

@Doomsdayrs
Copy link
Contributor Author

Would love to see a Flatpak or an AppImage supported, as on readonly systems like SteamOS, we are missing libraries to run it:

./ruffle: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

Sorry for the late reply.
Currently I am tied up with College work, hopefully once all is done I will once again contact all the various developers to work on getting support working.

@n0samu n0samu added help wanted Extra attention is needed A-desktop Area: Desktop Application linux labels May 18, 2023
@Doomsdayrs
Copy link
Contributor Author

Doomsdayrs commented May 26, 2023

Alright, Now using the nightly-2023-05-26

Congrats to the new UI, Looks much better!

The issue with the clipboard still seems present.

image


To update, @YaLTeR from wl-clipboard-rs states the following.

To summarize, wl-clipboard-rs is for terminal or background applications; arboard is in the wrong for using it for GUI applications (?).

GUI apps should be using the wayland offer, which should be in winit, but the support has not been added in yet it seems.

@YaLTeR suggests smithay-clipboard, but that seems a bit unmaintained and is not cross-platform.

I personally want to say clipboard should be disabled on flatpak & wayland until proper support is added, but I believe that might be contrary to the goals Ruffle has currently.

@Doomsdayrs
Copy link
Contributor Author

Doomsdayrs commented May 26, 2023

On a brighter note, I can run it under flatpak, but only under x11, which is sub-optimal due to many reasons I will not get too deep into.

image

@torokati44
Copy link
Member

Does #14362 help with this, as suggested by @n0samu?

@Doomsdayrs
Copy link
Contributor Author

Does #14362 help with this, as suggested by @n0samu?

Yep!

@zefr0x
Copy link

zefr0x commented Feb 13, 2024

The only thing that is 100% required when submitting to Flathub is you have permission from the ruffle-rs maintainers

It isn't, but it is recommended, especially if there are problems that need to be solved in up-stream.

@Doomsdayrs
Copy link
Contributor Author

Does #14362 help with this, as suggested by @n0samu?

It seems that I did not fully test it, #15213

@evilpie
Copy link
Collaborator

evilpie commented Aug 3, 2024

See flathub/flathub#5473

@kjarosh kjarosh self-assigned this Aug 7, 2024
@kjarosh
Copy link
Member

kjarosh commented Aug 9, 2024

We are now officially available on Flathub: https://flathub.org/apps/rs.ruffle.Ruffle 🎉

Thank you to all the contributors, especially @Doomsdayrs !

@kjarosh kjarosh closed this as completed Aug 9, 2024
@kjarosh kjarosh removed the help wanted Extra attention is needed label Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-desktop Area: Desktop Application enhancement New feature or request linux newsworthy
Projects
None yet
Development

No branches or pull requests

8 participants