Vellum is a small native Wayland overlay for drawing directly over the live desktop.
demo.mp4
Vellum began as a fork of Chameleos by Thomas Lindae.
Vellum requires a Wayland compositor that implements wlr-layer-shell. This includes niri, Sway, Hyprland, river, Wayfire, labwc, KDE Plasma, and COSMIC, though niri is the only compositor currently tested.
For released versions, use the NixOS module from nixpkgs.
For Vellum main, use the flake module:
{
imports = [inputs.vellum.nixosModules.default];
services.vellum = {
enable = true;
# Reduce driver memory use on NVIDIA. Disables software fallback.
# graphicsDriver = "nvidia";
};
}Install the dependencies for your distribution:
Arch dependencies
sudo pacman -S --needed base-devel git rust wayland libxkbcommon fontconfig mesa vulkan-icd-loaderDebian 13+ dependencies
sudo apt install build-essential git pkg-config rustup libwayland-dev libxkbcommon-dev libfontconfig-dev libgbm-dev libvulkan1
rustup default stableFedora dependencies
sudo dnf install cargo gcc git pkgconf-pkg-config wayland-devel libxkbcommon-devel fontconfig-devel mesa-libgbm-devel vulkan-loaderBuild and install to ~/.local:
git clone https://github.com/greyxp1/vellum
cd vellum
cargo xtask installRun vellum & and bind vellum toggle to a compositor shortcut. For example, in niri:
Mod+A { spawn "vellum" "toggle"; }Running as a systemd user service
Save this as ~/.config/systemd/user/vellum.service:
[Unit]
Description=Vellum screen annotation overlay
After=graphical-session.target
PartOf=graphical-session.target
[Service]
Type=exec
ExecStart=%h/.local/bin/vellum
Restart=on-failure
[Install]
WantedBy=graphical-session.targetEnable the service:
systemctl --user enable --now vellum.service| Action | Mouse | Trackpad | Pen |
|---|---|---|---|
| Draw or manipulate the selection | Left drag | One-finger drag | Drag with the pen tip |
| Open the radial picker | Right-click | Two-finger click | Briefly press the barrel button while hovering |
| Choose a tool or color | Hold the right mouse button, move, then release | Open the picker, move, then one-finger click | Hold the barrel button while hovering, move, then release |
| Erase | Middle drag, or middle-click then left drag | Three-finger tap to toggle, then one-finger drag | Hold the barrel button while drawing or drag with the eraser tip |
| Change size | Mouse wheel | Two-finger scroll | Mouse wheel or trackpad scroll |
| Input | Action |
|---|---|
| Ctrl + click in selection mode | Add or remove an annotation from the selection |
| Double-click selected text | Edit it |
| Shift while drawing | Constrain the shape |
| Alt while drawing | Draw triangles, rectangles, and ellipses from their center |
| Ctrl + scroll | Change opacity |
| Shift + scroll | Change roundness |
| Drag a selection handle | Reshape the selection or stretch text |
| Shift + drag a text handle | Resize text without stretching |
Configure Vellum in ~/.config/vellum/config.toml. See the default configuration for options and shortcuts.