You are not logged in.

PhotoTux is an image editor I have been building for Linux, and specifically for a Wayland session on Plasma 6. It is Rust and Qt 6 QML with a zero-copy wgpu/Vulkan canvas.
phototux.xyz · docs.phototux.xyz · github.com/PerkyZZ999/Phototux (GPL-3.0-or-later)
Up front: this is pre-release. Version 0.1.0, never tagged, no public beta, and the native document format still moves between versions. It opens, paints, composites, saves and reopens documents and I use it daily, but keep backups of anything you care about. I am posting it here because I would rather find out now what breaks on hardware that is not mine.
Why another one
Not because GIMP and Krita are bad, they are not, and Krita in particular is excellent at what it is for. Two things I wanted that I could not get:
I wanted a linux-native image editor that has a photoshop-like UI/UX... Because I used to work with Photoshop and I am now a Linux user for over 2 years, I haven't found a proper Image Editor that doesn't ask me to learn all the UI/UX over again (which I don't really want to..) and I wanted a linux-native app because it's better than a WebApp in my opinion...
Frame time treated as a feature. Compositing happens on the GPU and stays there. Document pixels are written by wgpu and presented by Qt's Vulkan RHI on the same device, so nothing crosses the language boundary while you pan, zoom or paint. A 4K document with a stack of layers moves at the refresh rate of the monitor, not the speed of a memcpy.
Photoshop's layout, drawn in Plasma's idiom. Tool shelf on the left, options bar under the menu bar, Layers/Properties/History on the right, menu entries under the menu they belong to. Nobody moving across should have to relearn where anything lives. The look is Breeze, same accent, same spacing, same focus treatment, from one token file.
What is in it
Raster, group, text, shape, fill, adjustment and smart-object layers
28 blend modes, layer masks, clipping masks, Blend If, eight layer styles
Ten non-destructive adjustment layers and a per-layer filter plan with 13 effects, previewed in a gallery that does not touch the document until you commit
Smart objects, a transform re-applies to the pristine source instead of accumulating on the pixels
Selections by rectangle, ellipse, freehand, polygon and colour, with Expand/Contract/Feather/Smooth/Border, each asking for its radius
Brush, clone stamp, eraser, gradient, paint bucket, dodge/burn/sponge, blur/sharpen/smudge
Native layered .ptx, layered PSD import and export with a compatibility report, PNG/JPEG/WebP/TIFF/BMP/GIF, ICC embed/assign/convert/soft-proof
Document tabs, dockable panels, workspace presets, a command palette, and rebindable shortcuts with conflict detection
Crash recovery for anything open when a session ends badly
No cloud, no accounts, no telemetry, no AI features. It opens files on your disk and writes them back.
Building it
There is no AUR package yet , I would rather have a few people build it and tell me what broke first. On Arch:
sudo pacman -S --needed rust qt6-base qt6-declarative qt6-svg vulkan-icd-loader cmake
git clone https://github.com/PerkyZZ999/Phototux.git
cd Phototux
export PATH=/usr/lib/qt6/bin:$PATH
export QMAKE=/usr/lib/qt6/bin/qmake
cargo run --release -p phototuxThe two exports matter: the host qmake is often Qt 5, and the build links against whichever Qt that qmake reports. Needs Qt 6.10+, Rust 1.87+ and a working Vulkan driver.
How it is put together
Six crates, with boundaries enforced by test rather than by convention. The engine - document, command spine, history , has no Qt and no wgpu in it, which is why the core is testable headless. phototux_gpu has no Qt; phototux_io has neither. The Qt↔wgpu interop is a thin C++ shim and the only place unsafe is allowed.
On the AI question
I will get asked, so: I wrote this with an AI assistant as a pair programmer, and the repository says so, the authors are "Charles W. (PerkyZZ999)" and "Claude/Cursor". Every line is reviewed, the architecture decisions are written down in a decision register in the repo, and there is a local quality gate (fmt, clippy at -D warnings, tests, cargo-deny, cargo-shear, cargo-hack) that has to pass before anything lands. Judge it on whether it works and whether the code reads well. If it does not, tell me where.
What would help most
Does it start on your hardware? Intel, AMD and NVIDIA all matter, as do the various Mesa drivers.
Anything wrong under fractional scaling.
Is the app working well and all features fully functional.
PSD files that import badly. The compatibility report should tell you what it could not carry; if it stays quiet and the file is still wrong, that is a bug I want.
Issues: github.com/PerkyZZ999/Phototux/issues.
Distribution, kernel, session type, compositor, scaling, GPU and driver version in the report, please - Linux graphics bugs are environment bugs until proven otherwise.
Website: phototux.xyz
Documentations: docs.phototux.xyz
Github Repository: github.com/PerkyZZ999/Phototux
Thank you ! Charles aka PerkyZZ
Last edited by PerkyZZ (Today 00:20:10)
Offline
Interesting! Care to make an aur package too?
Also, I'd would be fine to know how LLMs helped to make it.
Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !
Offline
Looking at the repo about every commit was "co-authored" by claude or cursoragent after July 15th and looking at some random ones before, they smell AI generated (idk since when the LLMs add themselves as co-author by default)
I assume the entire thing is vibe-coded and "Every line is reviewed" - by who or whatever that actually means.
Offline