about summary refs log tree commit diff stats
path: root/docs
diff options
context:
space:
mode:
authorLuke Short <ekultails@gmail.com>2025-03-13 02:21:26 -0600
committerGitHub <noreply@github.com>2025-03-13 09:21:26 +0100
commit8aab7296b87dac04477a95660ad57c4b65ba61e1 (patch)
tree751b2131002474dca0d7ab241a02fe0c48ff85e9 /docs
parent4aa7eb11879c05ce2f0c8b2ba6def8f4e0abd255 (diff)
downloadbox64-8aab7296b87dac04477a95660ad57c4b65ba61e1.tar.gz
box64-8aab7296b87dac04477a95660ad57c4b65ba61e1.zip
Bundle more libs (#2419)
* [DOCS] Arch Linux does have an archive

* [BUNDLE] Simplify unsupported package message

* [BUNDLE] Archive Void Linux XBPS packages

This was an oversight to not include these but not XBPS packages
are used (yet).

* [DOCS] Fedora dependencies

List Fedora dependencies for the 'box64-bundle-x86-libs.sh' script.

* [DOCS] Fedora 34 hints

Use Fedora 34 to find missing 32-bit packages that are compatible
with Enterprise Linux 9.

* [DOCS] Add better 'dnf provides' hint

Use wildcards. This works on all versions of DNF.

* [BUNDLE] Add common libraries

as reported by various GitHub Issues.

Resolves #2390

* [DOCS] Mention essential libraries

and libraries with large dependencies. These should not be bundled.

* [BUNDLE] Remove essential libraries

and libraries with large dependencies.
Diffstat (limited to 'docs')
-rw-r--r--docs/BUNDLE-X86-LIBS.md11
1 files changed, 9 insertions, 2 deletions
diff --git a/docs/BUNDLE-X86-LIBS.md b/docs/BUNDLE-X86-LIBS.md
index b33c3bcc..b91d812b 100644
--- a/docs/BUNDLE-X86-LIBS.md
+++ b/docs/BUNDLE-X86-LIBS.md
@@ -13,6 +13,10 @@ Install required dependencies for the bundle script.
     sudo apt-get update
     sudo apt-get install coreutils curl binutils rpm2cpio tar zstd
     ```
+- Fedora
+    ```
+    sudo dnf install coreutils curl binutils tar zstd
+    ```
 
 Run `box64-bundle-x86-libs.sh`. This will create two archives:
 - `box64-bundle-x86-libs.tar.gz` = All of the extracted library files in the directory structure of `usr/lib/box64-i386-linux-gnu` and `usr/lib/box64-x86_64-linux-gnu`.
@@ -41,13 +45,15 @@ Preference of operating system packages that provide a library:
 4. XBPS from Void Linux provide updated variants of obscure 32-bit libraries.
 5. Other (whereever a library is packaged)
 
+Some essential library files will never be emulated (only wrapped) and should not be bundled. This includes glibc, OpenGL, Vulkan, and X11/Xorg libraries. The full list can be found [here](https://github.com/ptitSeb/box64/blob/v0.3.2/src/librarian/library.c#L427). Other libraries with lots of dependencies, such as GTK, require all dependencies to be installed for emulation to work. This becomes dependency hell and should be avoided.
+
 For finding package names that contian a specific library file, use the [pkgs.org](https://pkgs.org/) website. Otherwise, use one of these package manager commands on a x86_64 Linux distribution:
 - DEB
     - `apt-file <LIBRARY_FILE>`
 - EOPKG
     - Does not support file search. Use pkgs.org instead.
 - RPM
-    - `dnf provides <LIBRARY_FILE>`
+    - `dnf provides "*/<LIBRARY_FILE>*"`
 - XBPS
     - `xbps-query --repository --ownedby <LIBRARY_FILE>`
 
@@ -58,9 +64,10 @@ Once the package name is found, find the exact URL for downloading it.
     - https://cdn.getsol.us/repo/shannon/
 - RPM = Navigate to the "`<MAJOR>.<MINOR>`" version directory first. Then explore "AppStream" and "BaseOS". Use the "x86_64.rpm" and "i686.rpm" packages.
     - https://repo.almalinux.org/almalinux/
+    - Enterprise Linux (EL) distributions, such as AlamaLinux, sometimes are missing 32-bit packages. Use the Fedora 34 [update](https://archives.fedoraproject.org/pub/archive/fedora/linux/updates/34/Everything/x86_64/Packages/) and [release](https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/34/Everything/x86_64/os/Packages/) archives for compatible packages with EL 9.
 - XBPS = There are too many files in the repository to display on a web browser. Use pkgs.org instead to find the exact URL for downloading it.
     - https://repo-default.voidlinux.org/current/
 
 Download the package and then find the checksum with the `sha256sum` command.
 
-Major Linux distributions such as AlmaLinux and Debian provide archives of packages. Rolling distributions such as Arch Linux, Solus, and Void Linux do not. In those cases, use the [Internet Archive](https://web.archive.org/) to archive any rolling release package used by Box by using the "Save Page Now" feature. If the error "Save Page Now browser crashed" appears, it can be safely ignored. The archive will still have been saved.
+Major Linux distributions such as AlmaLinux and Debian provide archives of packages. Rolling distributions such as Solus and Void Linux do not. In those cases, use the [Internet Archive](https://web.archive.org/) to archive any rolling release package used by Box by using the "Save Page Now" feature. If the error "Save Page Now browser crashed" appears, it can be safely ignored. The archive will still have been saved.