I don’t believe the Steam flatpak is responsible for those issues
openSUSE recently added some more security policies. By default, Wine cannot run normally. There’s a package you can install that sets SELinux security policies to allow it to work. If you install the openSUSE Steam rpm, that security policy automatically gets installed too.
This is a downside of flatpak’s approach to sandboxing. It aims to work everywhere on every distro, using bubblewrap instead of something like SELinux or AppArmor. But it also does not interact with AppArmor or SELinux, so if they block something, flatpak can’t override that.
Meanwhile, snap uses AppArmor for sandboxing. So even if there was a policy like openSUSE’s that prevented Wine from working by default, since snap speaks AppArmor, it can give itself the necessary permissions to make Wine work.
Fair enough, you can do some sandboxing this way. But SELinux is not a sandboxing tool in the same way bubblewrap or landlock are. It’s a tool that can put gates around your tools until it’s a sandbox, but SELinux as sandboxing is not in the spirit of “tools doing one thing and doing it well”
I don’t believe the Steam flatpak is responsible for those issues
openSUSE recently added some more security policies. By default, Wine cannot run normally. There’s a package you can install that sets SELinux security policies to allow it to work. If you install the openSUSE Steam rpm, that security policy automatically gets installed too.
This is a downside of flatpak’s approach to sandboxing. It aims to work everywhere on every distro, using bubblewrap instead of something like SELinux or AppArmor. But it also does not interact with AppArmor or SELinux, so if they block something, flatpak can’t override that.
Meanwhile, snap uses AppArmor for sandboxing. So even if there was a policy like openSUSE’s that prevented Wine from working by default, since snap speaks AppArmor, it can give itself the necessary permissions to make Wine work.
SELinux and Bubblewrap are two very different technologies. They could get out of each other’s way better, but you cannot “sandbox with SELinux”.
You absolutely can sandbox using SELinux. Red Hat even has a tool called “sandbox” for just that: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-securing_programs_using_sandbox
Edit: and Android sandboxing is built heavily around SELinux: https://source.android.com/docs/security/features/selinux
Fair enough, you can do some sandboxing this way. But SELinux is not a sandboxing tool in the same way bubblewrap or landlock are. It’s a tool that can put gates around your tools until it’s a sandbox, but SELinux as sandboxing is not in the spirit of “tools doing one thing and doing it well”