A photo editor where the image is the whole world.
A fast, non-destructive RAW and photo editor for Linux and macOS — a full tone, colour, detail, and local-adjustment pipeline, GPU-accelerated for real-time preview, with a command-palette workflow instead of a wall of panels.
Keyboard to navigate and command; pointer to manipulate.
Most editors bury your photo under panels, toolbars, and palettes. Lumen inverts that. It is modal, like an editor should be: you live in Browse mode — zoom, pan, toggle before/after — and drop into a tool only for as long as you need it. Press /, type a few letters of what you want, and go.
Lumen never invents pixels.
There is no generative fill, AI upscaling or one-click neural “enhance.” Every change is a deterministic adjustment you chose, recorded as a step in the edit graph and traceable back to the untouched original. Even the healing brush works by borrowing texture from elsewhere in your own photo. What you export is your photograph, developed — not a model’s guess at it.
| / | Command palette |
| Ctrl+O · Ctrl+Shift+O | Open image · open project |
| Ctrl+S | Save project |
| Ctrl+Z · Ctrl+Shift+Z | Undo · redo |
| Ctrl+Shift+C · Ctrl+Shift+V | Copy · paste settings |
| Ctrl+0 · F11 | Reset view · fullscreen |
A genuine, non-destructive imaging pipeline. RAW files are demosaiced at 16 bits and carried through a floating-point working space; every edit is a re-orderable node in an edit graph; the full-resolution result is rendered by libvips while your interactive preview runs on the GPU.
C++20 and Qt 6.7+, rendering through Qt RHI — Metal on macOS, Vulkan/OpenGL on Linux — with GLSL shaders that replicate the pointwise pipeline.
libvips drives the full-resolution, memory-efficient pipeline and export; LibRaw decodes RAW; lcms2 handles wide-gamut colour management.
A UI-free lumen_core library — image pipeline, edit graph, layers, serialization — sits beneath the Qt front-end, so the imaging code is independently unit-tested.
Released under the Apache License 2.0. Build from source in one command, or grab a self-contained release for your platform.
Clone the repo and run ./install.sh — it installs the imaging libraries and Qt 6.7+, then builds and installs Lumen. Full instructions on GitHub.