My hope, with this project, is to make Amulet easier to install and use for people who aren't used to tinkering with source repositories, or don't have experience with programming, and might not be comfortable attempting to install dependencies and run things from source, or through the terminal.
Since Flatpaks are enabled by default on most distros, and the linux.com guide is so well done, there's no need for me to go over the installation and setup of Flatpak. Users of any Ubuntu distribution will need to manually enable Flatpaks however (following the directions in the linux.com guide) as Canoninical has disabled Flatpaks by default in favour of pushing their SnapStore instead. To see why this is a problem, refer to this blog from Linux Mint explaining why Snap is disabled on Mint, and offering their critical take on it.
The amulet.flatpak
file, available from Releases, is the actual flatpak application and can be downloaded and run locally if you have the Flatpak framework installed by simply running flatpak install amulet-x86_64.flatpak
from the terminal in the same folder you've saved it to, then run with flatpak run io.github.evilsupahfly.amulet-flatpak
. Uninstall is equally simplistic, achieved by running flatpak uninstall io.github.evilsupahfly.amulet-flatpak
or save and run the amulet.sh script from this repo, or from the Releases page..
Assuming this works as intended accross the spectrum of Linux distributions, this project will be handed over to the Amulet team to manage officially.
The initial Flatpak version was sourced from Amulet 0.10.34. With the update to 0.10.36, and the first release of the flatpak, I have included amulet.sh
which takes care of the foundational framework when run. First, amulet.sh will check to see if Flathub is installed, and if not, install it. Then, it checks to see if the Amulet flatpak is already installed, and if so, run it. If not, it will download the latest release from Releases, save the Flatpak file to a temp folder, install it in user mode, remove the temp folder, then run the Amulet Flatpak.
Currently the flatpak release suffers from three two one minor issue:
- flickering UI, which plagues upstream Amulet (Linux users only - see here)
missing water and lava textures, which is unique to the flatpak version issue #7 and still being investigated.Trying to run on Wayland, unless you have installed Xwayland, is mostly pointless because of some twenty-year-old code in wxPython - expect the error "Unable to access the X Display, is $DISPLAY set properly?"
With the update to v0.10.37 and some minor changes to Amulet's source code, these two issues are now fixed:
- Wayland: I've implemented a brute-force override for Wayland users, and the modified code is in my fork of Amulet.
- Fix for textures: While I've modified
download_resources.py
by adding a smallif
loop that examines the path requested, and modifies it if it doesn't match the Flatpak sandbox layout, this is not a permanent fix, as I still don't understand why the paths are being configured like this since even the experts on AskPython. For now, it does resolve the missing textures the Flatpak release was experiencing much better than my last fix, as the textures are actually properly transparent now. I also increased the timeout period for texture pack downloads.
If you're feeling ambitious, you can fork or clone this project and try tweaking it. For those brave souls who wish to try, I've written the do_this.sh script to help you on your way with a --help
switch you can pass for usage enlightenment.
The flatpak version has so far been tested on Manjaro, Ubuntu, Kubuntu and Mint. Feedback is most welcome!
README Last updated 02 December, 2024