Linux
Rustty is designed to work great on Linux, with support for both Wayland and X11 and packages across a variety of distributions and formats.
Rustty works really hard to "just work" on Linux, with detection and code covering a wide variety of scenarios, but due to the diversity of Linux distributions, desktop environments, launchers, etc. we can't be perfect and some environments require additional notes.
This section covers Linux-specific information, including Linux-only features of Rustty, documentation on integrating Rustty with specific Linux distributions and environments, etc.
Note
This section is dedicated to Linux for Linux users but Rustty is just as first-class on macOS, as well, with a native application written in Swift and built with Xcode.
Options for installing Rustty on Linux will include pre-built packages on most popular distributions or building from source. No Rustty packages have been published yet, so building from source is the only option today.
The table below shows the minimum required GTK and Adwaita versions for specific Rustty versions.
| Rustty Version | GTK Version | Adwaita Version |
|---|---|---|
| 1.3.x | 4.14 | 1.5 |
| 1.2.x | 4.14 | 1.5 |
| 1.1.x | 4.8 | 1.2 |
The minimum required GTK and Adwaita versions for Rustty is the
minimum version that is available in the most recent LTS releases of
Debian, Fedora, and Ubuntu at the time of a Rustty minor release.
In a Rustty version number X.Y.Z, the Y is a minor release.
Patch releases will never bump dependency requirements, so users can always
safely and confidently update to the latest patch release within the same
minor release. In a Rustty version number X.Y.Z, the Z is a patch release.
Rustty supports many more distributions, but we explicitly specify Debian, Fedora, and Ubuntu since they tend to have the most conservative package repository practices that typically contain the oldest versions of any other popular distributions.
Note
Why not continue to support older GTK/Adwaita versions? Backporting feature support to older GTK/Adwaita versions is impractical from a maintenance perspective. Beyond a certain point, it overcomplicates the widget tree and the version sprawl becomes harder and harder to test against. We don't currently have a robust system for testing GUI interactions on older GTK/Adwaita versions beyond manual testing.
Note
So if I have an older version of GTK/Adwaita, I can't use Rustty? Not necessarily. You can continue to use the specified Rustty versions in the table above that match your GTK/Adwaita versions. If your GTK/Adwaita versions are older than the minimum required versions in the table, then unfortunately you will not be able to use Rustty. Sorry.
Our other dependencies are typically much more API-stable so we tend to support a wider range of versions than GTK and Adwaita. As a matter of policy, we follow the same policy as stated above for all dependencies, but we're more likely to be flexible with other dependencies.