Commit Graph
5 Commits
Author SHA1 Message Date
Asahi Lina 9f4dd7cb88 teams/asahi: FEX: Minimize rootfs by removing most data files and executables
We only really need i686/x86_64 libraries, and executables which do not exist
(or do not work equivalently) on the arm64 host system.

In particular, removing libexec avoids situations where random dbus services
are started under emulation for no reason.
2024-12-09 20:00:23 +00:00
Asahi Lina bb3a746dda teams/asahi: FEX: Add xim support for GTK2/3
We're currently shipping GTK2/3 libs in the rootfs. While we're doing
that, let's also install XIM support, which actually works through X11
passthrough with muvm. This should generally make legacy GTK x86_64
apps have input method support the old-fashioned way.

Modern apps should use the Wayland input method protocol stuff, which is
already built into GTK3/GTK4 and should not require any extra shared
libraries for FEX. For muvm, that will work once we have Wayland
passthrough.
2024-12-09 23:53:30 +09:00
Asahi Lina 2efe56a38f teams/asahi: FEX: Clean up some redundant FEX packages
ibus: This is an input method, which is a user choice. It doesn't make
sense to ship some input method libs and not others. These libs
typically communicate with the main IM daemon over UNIX sockets, so this
won't work anyway without additional work. (This might cause some
spurious errors as the guest tries to load the nonexistent IM, but we
can ignore them since it wouldn't work anyway).

xdg-desktop-portal: This is just data and executables, no libraries, so
it makes no sense for FEX.

glibc-langpack-en, kbd-misc: Only needed for kiwi, add a comment

zenity: Used by Steam but it's just a binary, so this should be an
aarch64 dependency, not run emulated.

llvm 14 & 15: I don't think there's a good reason to ship these? Any
reasonable binary-packaged app shouldn't be depending on specific LLVM
versions like this. Let's keep llvm18 & 19 since 18 is used by our Mesa
builds.

sudo & rsync: Binaries only (and sudo doesn't even work, neither under
emulation nor plain in muvm).

dbus: What we really need is the libs, so replace with that. dbus
probably won't do what we want inside the container, but for many use
cases dbus is not critical so it's okay for things to fail as long as
the libs are there.

spirv-tools-devel: Replace with spirv-tools-libs (dep)
glew-devel: Replace with libGLEW (dep)
2024-11-17 17:14:46 +00:00
Asahi Lina b5ce3af2e2 Add missing SDL2 libs to rootfs
Besides the base lib, apps sometimes need the add-on ones.
2024-10-30 19:12:09 +09:00
Asahi Lina 304fb73f74 Add missing libs to FEX rootfs
These are used by random i686/x86_64 software, particularly things
built with Qt (which usually ship Qt itself but not these).
2024-10-02 12:36:44 +02:00