Zotero x86-64 on Asahi Linux (ARM64)
It’s now possible to run x86/x86-64 applications on Asahi Linux, as announced in Asahi’s blog post, Beyond Gaming: X11 bridging with muvm.
The one major piece of software for me that does not yet support aarch64 (also not when self compiling) is Zotero, although it shouldn’t be far off.
Regardless, below is a guide to install Zotero on Asahi Linux using muvm, which also acts as a general guide to running x86-64 applications on Asahi. I didn’t find any other quick start examples around, so am hoping to fill that space.
Installing
Zotero offers a direct tarball download of their x86 application. But running
Zotero this way for me returned an error about libdbus-glib1.sl.20
not being
found and XPCOM
not being loadable. This is after I installed those packages
when troubleshooting a build from source. So I’m not sure why running the
pre-built binary complains about missing system packages, while the source built
doesn’t — as they should all be dynamically linked anyway.
Still, give it a go. Maybe it works for you, but otherwise…
Execute the steps for cloning and building as documented by Zotero.
git clone --recursive https://github.com/zotero/zotero zotero-client
cd zotero-client
app/scripts/check_requirements
Stay in the root project folder (zotero-client) for all the following commands.
When running check_requirements
there are two sections, build requirements and
distribution requirements. You only need to worry about failing requirements
under build requirements. For me this was only git-lfs
.
So then: sudo dnf install git-lfs
Then install packages with npm i
.
Building
The Zotero documentation initially directs us to run the buld_and_run
script.
Which will, build and run of course, but does not actually create a packaged
distribution binary, which is what we want.
For this, run app/scripts/dir_build -p l
. The -p l
means ‘platform=Linux’.
This will package up two application versions. One i686 and one x86-64, located
in app/staging
.
Running
You can now try running Zotero!
Get the latest Asahi packages:
sudo dnf update --refresh
Then the FEX
package: sudo dnf install fex-emu
muvm /abs/path/to/app/staging/Zotero_linux-x86_64/zotero
(note, there is
zotero
and zotero-bin
. Run zotero
, it actually runs zotero-bin
itself,
but does some other stuff too).
This will likely fail, and complain about missing libdbus-glib1.sl.20
and then
also that XPCOM
could not be loaded. I fixed this with:
sudo dnf install libXinerama cups-lubs dbus-glib
Now try running again.
Note: Every run reports some errors about .../60-nfs.rules
permission denied.
But this is not an issue (I saw Marcan say this himself somewhere on Reddit).
I hope that works for you. If not, or if something is unclear, let me know. Click “reply via email” at the top of the page.