Skip to content
udtrenPublic

About

Solstice is an independent desktop digital painting application based on Krita, with an experimental Vulkan GPU engine.

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

242 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Solstice


A GPU-focused digital painting application for Windows, derived from Krita.

Project page

Website: https://solstice.tidalboxstudio.com: an overview, the download page and pages for the main features.

This GitHub repository holds the source code, the releases and the user guides; the highlights link to individual feature guides.

Solstice main window painting the Solstice splash artwork, with the Brush Presets docker grouped by bundle, Quick Brush Adjustments, HueSVC, the Quick Access Palette, Layers and the Brush section of Tool Options

Solstice is an open-source digital painting application derived from the Krita 6 codebase.

⚡ GPU acceleration

Vulkan-powered layer compositing and canvas updates, and a GPU brush that is on by default: from pen input to the displayed frame, about four times faster than the CPU brush.

🎨 Workflows from Clip Studio Paint

Puppet Warp with movable and rotatable pins, eye marks that put brush settings in Tool Options, and a Brush Stroke Layer that redraws its strokes sharply when scaled, like a vector layer.

🛠️ Krita, refined

Brush Presets with stroke previews, filters and grouping, a reworked Brush Editor, Photoshop brush import with presets, textures and folders, docker locks, a live Overview and a modernized interface, together with native tools such as Quick Access and the Asset Library.

Solstice is independently maintained and desktop-only. It is not an official Krita edition; upstream Krita changes are adopted selectively as needed. See Versions for its pre-1.0 version numbering.

Learning Solstice: for the basics of using the application, see the Krita User Manual. The features Solstice adds are described in its user guides.

Contents

What's new in 0.4.0

Solstice 0.4.0 enhances the Reference Tool:

  • Non-destructive native filter stacks with editable settings and ordering
  • Per-effect and whole-stack enable/disable, removal and undo
  • Named templates reusable across reference images and documents
  • Illustrated overview and filter guide

Highlights

New Features

The GPU Engine (Vulkan) section of Settings > Performance, with the GPU engine and GPU brush options enabled

GPU Engine
Vulkan layer compositing and a GPU brush, both on by default.

Brush Presets grouped by bundle, with the Engines filter open

Brush Presets
Stroke previews, engine and bundle filters, and grouping.

Brush Editor with eyes on brush settings, and the Brush section of Tool Options showing them under the stroke preview

Brush options in Tool Options
Eye marks put Brush Editor settings in Tool Options.

A painted figure and a copy reposed with Puppet Warp, with pins on the Transform Tool's mesh and the Puppet Warp Tool Options

Puppet Warp
Repose artwork with movable, rotatable pins in the Transform Tool.

A small figure sketch and a copy enlarged and drawn again at the new size, on two Brush Stroke Layers

Brush Stroke Layer
Strokes are redrawn at the new size when scaled, without blurring.

Nine versions of one portrait with Solstice effects such as Chromatic Aberration, Color Filter, Crystal, Drop Shadow, Color Reference and Film Grain

Effects & Color
New native filters such as Film Grain, Glow and Color Reference.

A selected reference drawing with Desaturate, Posterize and Glow in the Filter menu; Glow offers enable, edit, reorder and remove controls

Reference Tool filters
Non-destructive filter stacks and templates for reference images.

The Layer Comps docker with two comps, Apply and Export columns, and its action buttons

Layer Comps
Record, apply and export layer visibility states.

Ported Plugins

Python plugins reimplemented natively in C++, with no Python installation required.

Quick Brush Adjustments, HueSVC, the Quick Access Palette and the Gesture Configuration dialog

Quick Access Manager
Brush and action palettes, a color selector, brush adjustments and gestures.

Lazy Tools settings with foreground color slots, the Rename Layer dialog with name buttons, and the Selection Masks dialog

Lazy Tools
Quick layer renaming, selection masks and color shortcuts.

The Asset Library docker showing .kra character thumbnails grouped by folder

Asset Library
Browse and open your image folders as thumbnails.

The Rest Note docker showing a working timer and the next eye break

Rest Note
A work timer with eye-break and break reminders.

The Background Removal filter dialog with the BiRefNet model and CPU and GPU backends

Vision Tools
On-device AI selection, background removal and Smart Fill.

Other Major Changes

  • Asset Library on the welcome page: browse and open assets from the welcome page before opening a document.
  • Popup Palette removed: the right-click Popup Palette and the On-Canvas Brush Editor are replaced by Quick Access.
  • Native Export Region: the export feature of the Export Region plugin is now built in as File > Export Region... (Alt+Shift+E), which exports the selection or the active layer's bounds.
  • Performance improvements and bug fixes across the application.

See the user guides for every Solstice feature.

Development and downloads

Experimental software. The Vulkan engine is on by default and can be turned off. It does not yet replace every CPU processing path, and its supported hardware and platforms are limited.

Download the unsigned Windows x64 ZIP from GitHub Releases, extract it and start solstice.exe.

Source code and newer Windows x64 trial ZIPs are also available from successful manual GitHub Actions builds. These temporary artifacts expire after seven days and are development builds, not stable releases. See Experimental Windows builds for download instructions and packaging limitations. To show .kra thumbnails in Explorer, see Explorer thumbnails. The application and document icons are described in Visual branding.

The primary development and default branch is main. For source builds, see the development environment and build workflow. Check the supported environment before building.

Differences from Krita

Solstice follows its own development direction, centered on an experimental Vulkan image engine and a separately maintained native feature set. Selected Python-based extensions have been reimplemented in C++, with compatibility for existing settings where practical. The Asset Library is also available from the welcome page, and Puppet Warp is integrated into the Transform Tool.

Android support and its build and packaging infrastructure have been removed. The right-click Popup Palette and the On-Canvas Brush Editor have been removed as well. Solstice does not merge upstream Krita wholesale; upstream changes are reviewed regularly and adopted selectively as needed. Solstice-specific changes and support are maintained in this repository.

GPU engine

The experimental engine uses Vulkan compute for supported RGBA floating-point layer compositing in RGBA32F and RGBA16F and shares data with the OpenGL canvas for display. Supported layer modes include Normal, Multiply, Screen, Overlay, Soft Light and the HSY, HSL, HSV and HSI color modes; every blend mode runs on the GPU except Dissolve, Marker, Destination In/Atop and Divisive Modulo (and its Continuous variants), including individual channel locks. It is enabled by default and falls back to CPU paths for unsupported operations.

The GPU pixel brush (on by default) also composites the same blend modes, Erase and Alpha Darken on the GPU, with selections, alpha lock and mirror painting. Supported Buildup strokes and Wash previews and final merges use GPU paths with CPU-compatible channel handling. RGBA16F brushes support the same modes in Buildup and Wash, including Wash's Alpha Darken painting buffer. Blend modes without a GPU version retain CPU fallback. Batched tile transfers and reusable upload buffers reduce transfer waits, including for textured and masked brushes. Layer and Wash compositing reuse completed work buffers and can queue consecutive updates. Whole-tile copies can retain GPU pixels, and CPU filters, FFT convolution, affine transforms and layer flips now batch their GPU readbacks.

The GPU brush can be turned off with Paint brush strokes on the GPU next to the GPU engine option; KRITA_GPU_BRUSH=1 or 0 overrides the setting. On RGBA32F and RGBA16F layers, circle, Gaussian and soft auto-brush dabs, image-based brush tips (also as colour stamps, Lightness or Gradient maps) and their pattern textures are also computed on the GPU, and so is the masking brush composite. The masking brush's own mask, most filter calculations and most transform calculations still run on the CPU; the Transform Tool's affine transforms, Liquify, Puppet Warp and Gaussian Blur (also inside Unsharp Mask and Gaussian High Pass) are applied on the GPU for float layers. Large mirrored brushes with Alpha Lock can still catch up after pen release; further tuning of that case is deferred. This is an ongoing rewrite, not a fully GPU-based painting pipeline.

See the GPU Engine guide for setup and limitations.

Benchmarks

These numbers measure specific engine operations, not overall application performance. They are not frame rates or pen-to-screen latency measurements.

Measured on October 11, 2026, with an AMD Ryzen 9 9950X and NVIDIA RTX PRO 6000 Blackwell (driver 596.86), using local development builds:

Workload CPU GPU
Resident full layer projection, 4096 x 4096 RGBA32F, 16 layers 270 ms 60.6 ms
Canvas data preparation, 4096 x 4096 RGBA32F, 8 layers 1215 ms 1.81 ms
Four mirror passes, 14 dabs of 73 x 73 pixels 0.949 ms 0.437 ms
Four mirror passes, 32 dabs of 256 x 256 pixels 51.1 ms 2.08 ms
Transform Tool apply, scale + rotate (bicubic), 2480 x 3508 RGBA32F 502 ms 61.5 ms
Liquify apply, 20 strokes, 2480 x 3508 RGBA32F 253 ms 63.5 ms
Gaussian Blur apply, radius 30, 2480 x 3508 RGBA32F 212 ms 68.0 ms
Puppet Warp apply, 3 pins, 2480 x 3508 RGBA32F 750 ms 212 ms

The affine transform and Liquify results are identical to the CPU results, pixel for pixel; so are Puppet Warp's parts, which are then combined on the CPU. The Gaussian Blur results match the CPU results within one rounding step.

Each value is the median of three fresh-process results, with GPU completion included and Vulkan validation disabled. Projection and canvas results use five-sample medians per process; mirror results use five-update averages after warming all three brush staging slots; transform results are medians of three calls with a CPU-resident source layer. The Gaussian Blur CPU value splits the layer into 32 parallel bands, like the Filter dialog's patches; the GPU value is one call. Projection excludes full CPU readback (53-57 ms). Canvas preparation starts with GPU-resident projection pixels and excludes projection work and final OpenGL texture copies. Mirror measurements include reflection and uploads, compare against serial CPU painting, and exclude dab generation, scheduling and display.

Completed-stroke measurements from the same day show both the remaining overhead and workloads that benefit from GPU brushes:

Queued stroke CPU only GPU projection and brush
RGBA32F, 64px Normal Wash 6.19 ms 10.88 ms
RGBA32F, 256px Normal Buildup 8.15 ms 10.70 ms
RGBA16F, 128px Soft Light (SVG) Wash, selection and both mirrors 73.60 ms 11.46 ms
RGBA32F, 300px textured (pattern) Buildup 53.35 ms 18.42 ms
RGBA32F, 300px textured with a masking brush, Wash 80.51 ms 37.45 ms

These use a 1024 x 1024 document, four layers and 24 queued line segments. Each value is the median of five-sample medians from three fresh processes. They include brush generation, final merging and completed projection, but exclude tablet input and screen presentation. These are different workloads, not an F16-versus-F32 comparison. Pattern textures and masking brushes are applied on the GPU since October 10-11, 2026. See the measurement details and ranges.

Complete short strokes can still be slower on the GPU. Work-buffer reuse removed an avoidable wait, but its before/after timing ranges overlap and do not establish a substantial stroke speedup. Measured from pen input to the displayed frame instead, the GPU brush is about four times faster (2026-10-10, see the input-to-display comparison).

See the current benchmark results and limitations. Input-to-display timings are Qt input-to-command-swap measurements, not physical pen-to-screen latency. Results vary with workload and hardware and do not establish performance for a packaged release.

Supported environment

  • Primary tested platform: Windows 11, 64-bit desktop.
  • GPU engine target: NVIDIA Blackwell GPUs (GeForce RTX 50 series and RTX PRO Blackwell). Validation and benchmarks use an RTX PRO 6000 Blackwell; other GPUs are untested.
  • Graphics APIs: Vulkan 1.3 and desktop OpenGL with Vulkan/OpenGL external memory and semaphore interoperability for the accelerated canvas path. ANGLE/Direct3D does not provide that canvas path.
  • Validation setup: NVIDIA driver 596.86, Qt 6.8 and desktop OpenGL 4.6.
  • Other platforms: Linux and macOS are not currently validated for this custom build. Android is not supported.
  • Interface languages: English and Simplified Chinese cover everything, including Solstice's own features (see Interface languages); other languages use Krita's translations, with Solstice's features in English.

The GPU engine has narrower requirements than Krita itself. See the GPU Engine guide for the supported document formats and fallback behavior.

Relationship to Krita

Solstice is not affiliated with, endorsed by, sponsored by, or supported by the Krita project or KDE. It is independently maintained and is not an official Krita edition. Its source-code origins do not imply an organizational relationship with those projects.

Please report Solstice-specific issues to this repository, not to the Krita or KDE issue trackers. Credit for the original application belongs to Krita's contributors. Existing copyright notices and license terms remain applicable; see COPYING and the notices in individual files.

About

Solstice is an independent desktop digital painting application based on Krita, with an experimental Vulkan GPU engine.

Topics

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages