-
Notifications
You must be signed in to change notification settings - Fork 476
[Scenario Analysis]: Sharing user level flatpaks between systems via systemd-homed over different architectures #6044
Description
Checklist
- I agree to follow the Code of Conduct that this project adheres to.
- I have searched the issue tracker for a feature request that matches the one I want to file, without success.
Suggestion
This isn't as much a feature request but instead a scenario analysys that I thought about and mentioned on Flatpak Matrix room. This is mostly due to systemd-home and Fedora Asahi on Apple Sillicon.
Essentially, if you install flatpaks in user mode (flatpak --user), the flatpaks are installed inside the user folder. systemd-homed allows you to have portable home folders, so one possibility would be to share the user home between two systems with either same architecture or different ones.
If you were to share between system of same architecture (such as two x86_64 systems), I would assume that as long as flatpak is properly setup there would be no issues. The same flatpaks are shared and there are virtually no changes.
My question really is about what if sharing between different architectures? (such as original x86_64 and a ARM64 system)
I know that if a system tries to run a binary for a different architecture it will usually fallback to QEMU with low performance, but I know that FEX exists for ARM to run x86 with more performance.
That would be if just using the same x86_64 flatpaks, I would assume the user could download the ARM64 variants either manually or flatpak could detect the need based on the host architecture. That assumes, of course, good deduplication between the same flatpak in different arches.
Somebody mentioned also that flatpak isn't smart enough to run the correct app based on arch, it only really runs the one set with "make-current".
So, to sum up, what would be needed for the cross-platform sharing of a flatpak installation to work?