FaithLife-Community / LogosLinuxInstaller

A Python application that helps install and maintain FaithLife's Logos Bible (Verbum) Software on Linux through Wine.
MIT License
32 stars 10 forks source link

Add ARM/AARCH64 Support #24

Open thw26 opened 10 months ago

thw26 commented 10 months ago

Options for ELF translation:

https://github.com/ptitSeb/box64/

https://github.com/FEX-Emu/FEX/

https://github.com/AndreRH/hangover/

qemu-user would be another option, but I think the above are better suited/targeted. Hangover would be best, given its purpose (wine on arm); a recent update indicated their box64 support is almost complete.

This should also net us RISC-V support when finished.

This will require a new get_architecture() command and storing it in the config.

Further, it will need a new package line for detecting the presence of the above solutions.

This may also require the ability to download the x86_64bit packages from the appropriate non-arm repo.

thw26 commented 4 months ago

In addition to running ELF translation, we need to add a GitHub workflow for arm64. cf. https://github.blog/changelog/2024-06-03-actions-arm-based-linux-and-windows-runners-are-now-in-public-beta/

thw26 commented 4 months ago

When trying to use an AppImage at present with box64, the following error is reported:

~/Downloads/wine-devel_9.12-x86_64.AppImage
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:4096 Running on Cortex-A55 with 4 Cores
Params database has 38 entries
Box64 with Dynarec v0.2.6 ddd62a1 built on Jan  2 2024 15:24:27
BOX64: Detected 48bits at least of address space
Counted 76 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/home/thwright/Dev/LogosLinuxInstaller/venv/bin/:/home/thwright/bin/:/usr/local/sbin/:/usr/local/bin/:/usr/bin/:/var/lib/flatpak/exports/bin/:/usr/lib/jvm/default/bin/:/usr/bin/site_perl/:/usr/bin/vendor_perl/:/usr/bin/core_perl/:/var/lib/snapd/snap/bin/:/home/thwright/.local/bin/:/home/thwright/bin/
Looking for /home/thwright/Downloads/wine-devel_9.12-x86_64.AppImage
Rename process to "wine-devel_9.12-x86_64.AppImage"
Error: Unsupported Syscall 0x13h (19)

cf. https://github.com/ptitSeb/box64/issues/1672, https://github.com/ptitSeb/box64/issues/1449#issuecomment-2067668544

thw26 commented 4 months ago

See documentation at: https://github.com/ptitSeb/box64/blob/main/docs/X64WINE.md

Note: There is an issue with Arch binaries for wine64:

https://github.com/ptitSeb/box64/issues/1393

https://github.com/ptitSeb/box64/issues/1449

This may be because Arch's glibc is too new^0. Debian's binaries are probably better suited.

https://archlinux.org/packages/multilib/x86_64/wine/

https://packages.debian.org/bookworm/wine64

https://dl.winehq.org/wine-builds/debian/dists/bookworm/main/binary-amd64/

thw26 commented 2 months ago

Once #119 is merged, the following needs to be done:

thw26 commented 1 week ago

https://wiki.postmarketos.org/wiki/Steam_in_box86

https://wiki.postmarketos.org/wiki/Steam_in_FEX

This might be a better route. Here we set up a distrobox to run these, which would help us from having to program for each and every distro.