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
I assume the entire thing is vibe-coded and "Every line is reviewed" - by who or whatever that actually means.
Could mean human in the loop rather vibe coded? Labeling LLM assisted contributions is difficult as some projects reject "co-authored" by as model / agent advertising. Still the OP should be given credit for openly declaring LLM use. Compared with https://bbs.archlinux.org/viewtopic.php?id=314312 which appears LLM assisted or the author never sleeps and writes degree level thesis in commit messages while speed typing.
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.
Hmmm... I explicitly mention that the project was made with AI Agents ... We are in 2026 , if you dont use AI Agents your missing out ... I dont understand your comments ... if you don't like the project you aren't required to follow/like it ! Anyway, have a nice day !
The app is entirely made by me , I just use AI Agents to code parts of it ... I made all the decisions, engineering , review all commits and code, etc.. if that's what your wondering about ...
Last edited by PerkyZZ (Today 18:28:10)
Offline
The lady doth protest too much, methinks
I was addressing kokoko3k's question by stating some facts and a subjective assessment on some commits I randomly looked at.
The rest is what you wanted to read into that.
If you actually want to clarify anything, maybe detail the claimed review process, and how much (estimatedly) you manually correct and what time and level of experience you weigh against the LLM itr.
"Reviewed every line" can mean that you looked at it with your eyes or that you ran a validation and verification process (which you did not because the last time that was done was during the Apollo project) - or anything in between, really.
Offline
The lady doth protest too much, methinks
I was addressing kokoko3k's question by stating some facts and a subjective assessment on some commits I randomly looked at.
The rest is what you wanted to read into that.If you actually want to clarify anything, maybe detail the claimed review process, and how much (estimatedly) you manually correct and what time and level of experience you weigh against the LLM itr.
"Reviewed every line" can mean that you looked at it with your eyes or that you ran a validation and verification process (which you did not because the last time that was done was during the Apollo project) - or anything in between, really.
Think whatever you want haha !
Sorry but I don't have time for this ... lol
Last edited by PerkyZZ (Today 19:18:20)
Offline
AI use in computing has brought both positive and negative changes. One of those negative changes is skepticism of apparently vibe code projects due to numerous such projects over promising and under delivering.
Offline
AI use in computing has brought both positive and negative changes. One of those negative changes is skepticism of apparently vibe code projects due to numerous such projects over promising and under delivering.
I get it ! But It's free to follow the project ... If you don't believe in it's it's fine for me ... This don't change anything for me, I will continue working on the project ![]()
Offline
I'll try to stress that (so far) I've not made any qualifying comments on the project but simply answered @kokoko3k's question and then addressed your overreaction to that.
Offline
I asked to know how much LLMs has been involved, because I think it could affect the kind of future support the users (and the project itself) can get.
Last edited by kokoko3k (Today 19:46:17)
Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !
Offline
I asked to know how much LLMs has been involved, because I think it could affect the kind of future support the users (and the project itself) can get.
Did you read through the project and its disclosed LLM usage before asking? Now that you have your answer will you be providing the feedback required to avoid your comment derailing the thread?
Offline