Impasto is a painting and image editing application. It runs on Linux, Windows, and macOS.
What you draw snaps: to the canvas grid, to the units the rulers are drawn in, or - when neither is shown - to the canvas edges and centre lines. Shapes, text and selections snap by their whole bounding box rather than by the corner under the pointer, and the guide a point is being held against is drawn for as long as the drag lasts. Ctrl+Alt+G turns it off and on.
Builds for Linux, Windows and macOS are on the releases page. The Windows and macOS builds are unsigned, so SmartScreen and Gatekeeper will warn about them.
Impasto needs GTK 4.18 or newer, which decides what works on Linux:
- Flatpak, from FlatPark or the release page. It carries its own GTK and runs anywhere flatpak does, including Ubuntu 22.04 and 24.04. This is the one to use if you are unsure.
- AppImage (
Impasto-x86_64.AppImage). Bundles GTK, so no system GTK is needed, but the bundle is built against glibc 2.43 and will not start on anything older. That means Ubuntu 26.04, Fedora 44 and Arch work; Ubuntu 24.04, Ubuntu 22.04, Fedora 43 and Debian 13 do not - take the Flatpak instead. - Zip (
Impasto-linux-dotnet-*.zip). Uses the GTK your distribution provides, so it needs GTK 4.18+ already installed.
Impasto is licensed under the MIT License (see license-mit.txt). Third-party
attributions, notices, and license texts are in THIRD-PARTY-NOTICES.md.
Impasto is a new and separate project. It started from the MIT-licensed source of Pinta — a GTK application itself inspired by Paint.NET™ Pinta's contributors are listed in the Impasto application. Impasto is not maintained by the Pinta project or the same contributors.
First, install the required GTK-related dependencies:
- Install MSYS2
- From the CLANG64 terminal, run
pacman -S mingw-w64-clang-x86_64-libadwaita mingw-w64-clang-x86_64-webp-pixbuf-loader.- For ARM64 Windows, use the
CLANGARM64terminal and replaceclang-x86_64withclang-aarch64.
- For ARM64 Windows, use the
The application can then be built by opening Pinta.sln in Visual Studio.
Ensure that .NET 10 is installed via the Visual Studio installer.
For building on the command line:
- Install the .NET 10 SDK.
- Build:
dotnet build
- Run:
dotnet run --project Impasto
- Install .NET 10 and GTK4
brew install dotnet-sdk libadwaita adwaita-icon-theme gettext webp-pixbuf-loader- For Apple Silicon, set
DYLD_LIBRARY_PATH=/opt/homebrew/libin the environment so that the application can load the GTK libraries - For Intel, set
DYLD_LIBRARY_PATH=/usr/local/libin the environment so that the application can load the GTK libraries
- Build:
dotnet build
- Run:
dotnet run --project Impasto
- Install .NET 10 following the instructions for your Linux distribution.
- Install other dependencies (instructions are for Ubuntu 22.10, but should be similar for other distros):
sudo apt install autotools-dev autoconf-archive gettext intltool libadwaita-1-dev- Minimum library versions:
gtk>= 4.18 andlibadwaita>= 1.8 - Optional dependencies:
webp-pixbuf-loader
- Build (option 1, for development and testing):
dotnet builddotnet run --project Impasto
- Build (option 2, for installation):
./autogen.sh- If building from a tarball, run
./configureinstead. - Add the
--prefix=<install directory>argument to install to a directory other than/usr/local.
- If building from a tarball, run
make install
Contributions are welcome. In short:
- Code — Contributing to the free edition (MIT-licensed) is encouraged; a contribution received as a PR to the free edition may also be used in the Premium edition of Impasto or used in any other software that has the MIT license.
- AI coding tools — welcome. Be able to explain the code you submit and adapt it to the project's architecture; AI-assisted code may draw extra review before it's merged.
- Translations — contributed as pull requests: AI-drafted in new
.pofiles, then edited and proofread by a language speaker.
Before contributing, read the full guide, including the git/PR workflow, in CONTRIBUTING.md.
- You can report bugs/issues.
- You can make suggestions.
- You can fork the project on GitHub.
- Notable changes of each release are recorded in
CHANGELOG.md.
This program does not transfer any information to other networked systems unless modified or requested by the user or the person installing or operating it.


