ov-selkies/skills/kwin/SKILL.md
KWin Wayland compositor running headless inside containers with virtual backend. Use when working with KWin, KDE desktop, or headless compositor setup.
npx skillsauth add overthinkos/overthink-plugins kwinInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Property | Value |
|----------|-------|
| Dependencies | dbus |
| Service | kwin (supervisord, priority 10) |
| Install files | layer.yml, tasks:, kwin-wrapper |
| Variable | Value |
|----------|-------|
| XDG_RUNTIME_DIR | /tmp |
| WAYLAND_DISPLAY | wayland-0 |
| XDG_CURRENT_DESKTOP | KDE |
| EGL_LOG_LEVEL | fatal |
kwin-wayland (RPM) -- KDE Wayland compositorkpipewire (RPM) -- KDE PipeWire integration (required for screencast plugin)xorg-x11-server-Xwayland (RPM) -- XWayland supportmesa-dri-drivers, mesa-vulkan-drivers, libglvnd-egl, libglvnd-gles, egl-wayland (RPM) -- GPU drivers/tmp/pipewire-0) before starting KWinkwin_wayland --virtual --width 1920 --height 1080wayland-0 if neededWAYLAND_DISPLAY to D-Bus activation environmentWith kpipewire installed, KWin loads: screencast, eis (libei input), screenshot, nightlight, buttonsrebind.
KWin's --virtual backend does NOT expose zkde_screencast_unstable_v1 Wayland protocol, even with the screencast plugin loaded. This means xdg-desktop-portal-kde ScreenCast/RemoteDesktop portal sessions fail with response code 2. Portal-based capture does not work in headless mode as of KDE 6.6.3.
/ov-foundation:dbus -- D-Bus session bus (dependency)/ov-selkies:sway -- wlroots compositor (alternative)/ov-selkies:niri -- Smithay compositor (alternative)/ov-selkies:kwin-apps -- KDE desktop applications/ov-selkies:kwin-desktop -- full KWin desktop compositionNot used in any current image definition. Part of the kwin-desktop metalayer composition.
Use when working with:
/ov-build:layer — layer authoring reference (layer.yml schema, task verbs, service declarations)/ov-build:eval — declarative testing (tests: block, ov eval image, ov test)tools
OpenCharly CLI (charly) binary installed into container/VM images for in-container use. Use when working with charly binary deployment inside containers, native D-Bus support, or the full charly toolchain (charly binary + virtualization + gocryptfs + socat).
development
Operator CachyOS workstation profile — a kind:local template + target:local deploy that installs the full dev stack (30 candies) onto a CachyOS host via ShellExecutor. Lives in the overthinkos/cachyos submodule. MUST be invoked before editing or applying the charly-cachyos workstation profile.
tools
Fedora box with the full charly toolchain using shared candies. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Same candy list as charly-arch. Includes NVIDIA GPU runtime. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-fedora box.
tools
Arch Linux box with the full charly toolchain. Rootless-first — runs as uid=1000 with passwordless sudo (no root, no cap_add: ALL). Composes /charly-coder:charly-mcp so the box is reachable as an MCP gateway on port 18765. NVIDIA GPU runtime composed in. MUST be invoked before building, deploying, configuring, or troubleshooting the charly-arch box.