-
Notifications
You must be signed in to change notification settings - Fork 86
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
Make all libraries Multi-Arch: same #78
Comments
There's one more to do: libvulkan1 also needs multiarchifying. |
These seem reasonable - the gir files are not coinstallable but as discussed offline we don't need them to be, so that should be fine. |
All these packages have been fixed in OBS, and should be in the next push to the public apt repositories. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I've recently been experimenting with building a Flatpak runtime from the Steam Runtime packages (#54) so that it can be used to run the Steam client as a Flatpak app. Because the Steam client and some games are 32-bit-only, but some other games are 64-bit-only, the 64-bit version will need to be run in a runtime with multilib (
lib
,lib64
) or multiarch (lib/i386-linux-gnu
,lib/x86_64-linux-gnu
) so that all game-related libraries can be parallel-installed in both 32- and 64-bit versions.At the moment, the Steam Runtime uses separate
amd64/
andi386/
pseudo-chroots and enables them withLD_LIBRARY_PATH
, but that's a bit of a hack: they both contain identicaletc/
andinclude/
, and nearly-identicalusr/share/
, differing only in non-functional files inusr/share/doc/
.No libraries in the Steam Runtime write directly to
lib
(which would collide between architectures), only tolib/*-linux-gnu
. There are only a few libraries that write tousr/lib
and notusr/lib/*-linux-gnu
, namely:libappindicator
libindicator
libvpx
network-manager
tbb
So patching those 5 libraries is sufficient to make everything multi-arch-friendly, such that all the relevant libraries for both amd64 and i386 can be installed in a single chroot.
All of those libraries were subsequently made multi-arch-friendly in Debian and Ubuntu, so all that's needed here is to backport the relevant changes.
This change would also make it possible for the Steam client itself to merge
amd64/
andi386/
into a single pseudo-chroot, but I have not tested this.nvidia-cg-toolkit
would have to be excluded (#77) or installed for only one of the two architectures. Similarly,zenity
would have to be installed for only one of the two architectures, presumablyi386
for widest applicability - or just omitted, because the Steam client depends on the host system to providezenity
anyway?The text was updated successfully, but these errors were encountered: