This PR adds a GitHub Workflow that builds Tango 4 for Linux x86_64 as an AppImage.
Note: Unlike the Windows and Mac versions of Tango, the Linux version does not have an "installer," and therefore runs in place. Since updater.rs is configured to replace the .AppImage, I decided to set the Workflow property asset_name to simply:
Tango-x86_64-linux.AppImage
Without a version in the filename. This is to avoid situations where the version in the .AppImage filename does not match what is actually running after an update. I figure the version number displayed on the release page will be enough to avoid confusion when people are downloading Tango.
The AppImage is not multiarch, however I wrote build.sh to be very reusable if you ever wanted to build for aarch64. The only additional work that would need to be done is setting up a sysroot for the cross compilation. After that, you simply swap out two variables to build for a different architecture. If an aarch64 build is ever in demand, maybe we can look at that.
This was tested in an Ubuntu VM and on a Steam Deck, and everything was confirmed working on both - singleplayer, netplay, replays, and exporting.
It also looks and runs extremely well on a Steam Deck in Game Mode, especially with the new single-window format 👌
This PR adds a GitHub Workflow that builds Tango 4 for Linux x86_64 as an AppImage.
Note: Unlike the Windows and Mac versions of Tango, the Linux version does not have an "installer," and therefore runs in place. Since
updater.rs
is configured to replace the.AppImage
, I decided to set the Workflow propertyasset_name
to simply:Tango-x86_64-linux.AppImage
Without a version in the filename. This is to avoid situations where the version in the
.AppImage
filename does not match what is actually running after an update. I figure the version number displayed on the release page will be enough to avoid confusion when people are downloading Tango.The AppImage is not multiarch, however I wrote
build.sh
to be very reusable if you ever wanted to build foraarch64
. The only additional work that would need to be done is setting up a sysroot for the cross compilation. After that, you simply swap out two variables to build for a different architecture. If anaarch64
build is ever in demand, maybe we can look at that.This was tested in an Ubuntu VM and on a Steam Deck, and everything was confirmed working on both - singleplayer, netplay, replays, and exporting.
It also looks and runs extremely well on a Steam Deck in Game Mode, especially with the new single-window format 👌