Why this one caught my eye
Most of what I run myself, I run because I want to be able to reason about it: open source, offline, no account, no cloud round-trip for the thing I’m actually doing. PhotoCraft fits that instinct almost too neatly. It’s a clean-room reimplementation of Photoshop—layers, masks, adjustment layers, type, vectors, real PSD files—written entirely in Rust, running as a native app on a GPU compositor. No Electron, no web view, no telemetry waiting to phone home.
It’s early alpha, and the project is honest about that: it isn’t a daily-driver Photoshop replacement yet. But it opens and re-saves real .psd files, it runs offline, and every menu item is a command you can also drive from a CLI or an MCP server. That last part is the bit that makes it feel built for the way I actually work. This post is just how I got it onto my Arch box, written down so I don’t have to rediscover it next time.
The current release at the time of writing is v0.7.0, and I’m on x86_64. Substitute the version and architecture in the commands below if yours differ (aarch64 builds exist for every format).
Always verify the download first
Every release ships a SHA256SUMS.txt with a checksum for every file. It costs nothing to check, and it’s the difference between trusting the network and trusting the artefact. Grab the checksum file once, then verify whatever you download against it:
cd ~/Downloads
curl -LO https://github.com/storytold/photocraft/releases/download/v0.7.0/SHA256SUMS.txt
Each of the three methods below runs its own sha256sum -c against that file before doing anything else.
Option 1: The AppImage (quickest)
If you just want to see the thing run, this is the path of least resistance. One self-contained binary, no install step, and the first launch registers its own icon and menu entry under ~/.local/share.
curl -LO https://github.com/storytold/photocraft/releases/download/v0.7.0/photocraft-0.7.0-linux-x86_64.AppImage
grep linux-x86_64.AppImage SHA256SUMS.txt | sha256sum -c -
chmod +x photocraft-0.7.0-linux-x86_64.AppImage
./photocraft-0.7.0-linux-x86_64.AppImage
If you’d rather it didn’t touch your desktop environment, set PHOTOCRAFT_NO_DESKTOP_INTEGRATION=1 before running it. The AppImage also updates itself via AppImageUpdate using the published .zsync file, which is a nice touch for something I expect to iterate quickly during alpha.
Option 2: The tarball (a fixed, hand-placed install)
The AppImage is convenient, but I prefer a plain binary on PATH for anything I reach for often—no FUSE mount, no wrapper, just the executable. The Linux tarball is “unpack anywhere”, so the honest first step is to look at how it’s laid out before deciding where it goes:
curl -LO https://github.com/storytold/photocraft/releases/download/v0.7.0/photocraft-0.7.0-linux-x86_64.tar.gz
grep linux-x86_64.tar.gz SHA256SUMS.txt | sha256sum -c -
mkdir -p /tmp/pc && tar -xzf photocraft-0.7.0-linux-x86_64.tar.gz -C /tmp/pc
ls -R /tmp/pc | head -30
What you see decides the destination. If it’s a flat payload (a photocraft binary plus a few assets), I keep it in my home directory and symlink the binary onto PATH:
mkdir -p ~/.local/opt/photocraft ~/.local/bin
tar -xzf photocraft-0.7.0-linux-x86_64.tar.gz --strip-components 1 -C ~/.local/opt/photocraft
ln -sf ~/.local/opt/photocraft/photocraft ~/.local/bin/photocraft
photocraft
If instead it’s a /usr/local-style tree (bin/, share/, and friends), unpack it straight there for a system-wide install:
sudo tar -xzf photocraft-0.7.0-linux-x86_64.tar.gz --strip-components 1 -C /usr/local
photocraft
Either way, make sure ~/.local/bin is on your PATH if you went the home-directory route. The upside of the tarball over the AppImage is that it’s a normal binary—nothing to mount, nothing to wrap, and trivial to remove by deleting the directory and the symlink.
Option 3: From source (if you already have Rust)
On Arch I already have the Rust toolchain, so building from source is barely more effort than a download, and it gives me the current tree rather than a tagged release:
git clone https://github.com/storytold/photocraft
cd photocraft
cargo run --release -p photocraft -- image.psd
The UI and Type tool use Japanese fonts from a separate, optional repository. Without it PhotoCraft falls back to your system’s CJK fonts; with it, you get the bundled set the official desktop builds ship:
git clone https://github.com/storytold/craft-fonts ../craft-fonts
CRAFT_FONTS_DIR="$PWD/../craft-fonts" cargo run --release -p photocraft
Building from source also unlocks optional codec features behind cargo flags—--features heif for reading HEIC photos, --features avif for AVIF export—which the convenience installers don’t all expose.
The one Wayland gotcha
Worth knowing before it confuses you: on a Wayland session you can’t drag and drop files onto the window yet. The windowing library underneath (winit) has no Wayland drag-and-drop, so files dropped on the canvas simply don’t open. Use File › Open, or copy an image in your file manager and paste it with Ctrl+V.
If you genuinely want drag-and-drop, start it under XWayland by blanking the Wayland display:
WAYLAND_DISPLAY= ./photocraft-0.7.0-linux-x86_64.AppImage
PhotoCraft itself shows a dismissable notice with the exact command for your install when it detects Wayland, so you don’t have to remember which incantation applies.
What I’d actually recommend
For a first look, take the AppImage—it’s running in under a minute and cleans up after itself. If it earns a place in your workflow, switch to the tarball for a plain binary on PATH, or build from source if you want the latest tree and the optional codec features. Arch users will find packaging options too, but the AppImage and tarball are distribution-agnostic and don’t wait on anyone else to update a package.
It’s the same pattern I keep coming back to with the rest of my stack: prefer the tool you can run offline, inspect, and remove cleanly over the one that’s merely convenient. PhotoCraft isn’t finished—but it’s open, it’s local, and it’s mine to reason about, which is exactly the kind of thing worth installing properly rather than just trying once in a browser tab.
PhotoCraft is an independent, open-source project and is not affiliated with, sponsored by, or endorsed by Adobe Inc. Adobe and Photoshop are trademarks or registered trademarks of Adobe Inc.; I use those names here only to describe the workflows and file formats PhotoCraft is compatible with. This post is a personal installation write-up, not legal advice.