Introducing Squish for Qt on Linux arm64 platform

As the first pre-built Qt 6.7 binaries are now available for Linux arm64-based systems, the upcoming 8.0 feature release of Squish GUI Tester (Qt edition) delivers matching binary packages to test Qt applications on the new platform as well.

Arm64 systems on the rise

Squish GUI Tester has always been a testing tool that supports wide variety of platforms and system architectures, including arm64, especially in the embedded space. In the recent years however, the shift away from x86-based architecture towards arm64-based one became more significant on desktops and laptops as well (Apple M1/M2/M3-based systems are the most prominent example of this trend).

In addition to Apple Mac platform, interest in arm64-based systems increased with the users working on Linux-based desktops and laptops too. But due to lack of the compatibility layer (Apple Rosetta2 equivalent), it was so far not possible to run key components of Squish GUI Tester  (such as the Squish IDE or squishrunner) in such an environment, as long as these were provided in binary form for x86-based architectures only.

Remote testing and building from source

The only option to automate GUI applications on Linux systems with arm64 CPU inside was to use Squish in a remote testing set-up, where the IDE and squishrunner would run on a separate, x86-based system and connect to the application under test (AUT) on the arm64-based system remotely. While generally well-supported by Squish, such a set-up has some downsides:

  • With no ready-made binary packages available, parts of Squish need to be built from source  for  arm64-based system.
  • For certain editions, notably Squish for Java and Squish for Web, building from source is possible, but much more complex in comparison.

Squish 8.0: first arm64 binary packages for Linux

The upcoming release of Squish GUI Tester 8.0 changes the game for Squish for Qt and provides the first arm64-based binary packages for Linux, targeting Debian 11 and newer in accordance with officially supported platforms for Qt 6.7 libraries. These binary packages contain full set of tools for test development and script execution (including the Squish IDE & squishrunner) and can be used out-of-the-box to test Qt 6.7 AUTs built on Linux arm64 systems. This greatly simplifies set-up of a test environment on arm64-based desktops and laptops, removing the need for building from source and configuring two separate systems for remote testing.

Additionally, these packages can be used to test AUTs built with older versions of Qt by following our quick Install method to combine a binary package with the binaries generated by building parts of Squish from source.

Customers with an AUT running on an embedded system (even if it has an arm64-based CPU) will however still need to build parts of Squish from source using an embedded compiler toolchain for their specific version of Qt.

Future plans: next Squish editions for Linux arm64

In the future releases of Squish, we plan to expand shipping binary packages for arm64-based Linux systems to other editions, starting with Squish for Java and Squish for Web (expected to be released with Squish GUI Tester 8.1, approx. Q4 2024). Squish for Android, iOS and Tk will follow later.

We will continue to release binary packages of Squish for Qt in such a way that we closely follow the future releases of Qt, with Qt 6.8  about to be supported next.

We currently do not plan to provide Squish for Qt binary packages that target Qt versions older than 6.7, unless the official Qt binary packages are also retroactively provided for those older releases of Qt.

Comments