This guide covers common startup, DRM/seat, rendering, Lua config, IME, and XWayland issues when testing or running Koma.
1. koma --tty Fails to Open Seat or DRM Master
Symptom: libseat fails to acquire a seat or DRM reports Permission denied / Not master.
- Check active seat provider: On systems without
systemd-logind, ensureseatdis running (systemctl status seatdon Arch/Debian orservice seatd statuson FreeBSD) and your user is in theseat/video/inputgroups (id -nG). - Avoid running
koma --ttyinside a graphical terminal: Launching--ttyfrom inside an existing compositor that owns DRM master will conflict. Switch to a spare Linux VT (Ctrl+Alt+F3) or runkoma --winitinside your current session. - Inside QEMU/KVM: Pass
-device virtio-vga(verified withseatd+ Mesallvmpipe).
2. Software Rendering (llvmpipe) vs. Hardware GPU EGL/GBM
- Koma supports automatic Mesa
llvmpipefallback when hardware DRM/GBM acceleration is unavailable (such as virtualizedvirtio-vgawithout Virgl). - Check
glxinfo -B/eglinfoorRUST_LOG=info koma --winitlogs to inspect the activeGL Renderer. - On low-bandwidth GPUs or software rendering, disable multipass Dual-Kawase blur in
~/.config/koma/init.lua:koma.appearance({ blur = { enabled = false }, shadow = { enabled = false } })
3. Recovering from a Broken init.lua
- Validate edits offline before reloading:
komactl validate ~/.config/koma/init.lua - Because
komactl reloadevaluates scripts in an isolated Phodopus shadow registry first, a brokeninit.luawill return an error inkomactl config-statuswithout crashing or wiping your active binds. - If a bad config prevents startup, run
koma -c /dev/null(or move~/.config/koma/init.luaaside) to boot with built-in Hyprland-compatible defaults.
4. komactl Cannot Find koma-admin.sock
- Verify
XDG_RUNTIME_DIRis set to your0700user runtime directory (e.g./run/user/1000). - Inspect active sockets:
ls -la "$XDG_RUNTIME_DIR/koma/" - If multiple nested instances are running, export
KOMA_INSTANCE_SIGNATURE=<dir_name>before runningkomactl.
5. IME (Fcitx5 / IBus) Not Popping Up in Chromium / Electron
- Koma exposes
text-input-v3,input-method-v2, andvirtual-keyboard-v1. - Launch Chromium/Electron apps with Wayland IME flags:
chromium --ozone-platform=wayland --enable-wayland-ime - Ensure
fcitx5 -dis running inside the same Wayland session (WAYLAND_DISPLAYimported viakoma --sessionorkoma.act.spawn).
6. X11 App Does Not Start (xwayland-satellite)
- Confirm
xwayland-satelliteis installed in$PATH(or configurekoma.xwayland({ enabled = true, path = "/path/to/xwayland-satellite" })). - Remember that
isolate_agent_workspaces = trueprevents X11 clients from mapping on agent-leased headless workspaces by design.