Troubleshooting
Run the dependency checker first — it covers most common issues:
dwm-diagnostics
Or use the Control Center → System Health.
An AppImage does not open or start
Opening a new AppImage asks first (Add and run, Add only, Cancel). If nothing seems to happen, look for that question in the top-right corner; closing it cancels.
Opening an AppImage uses lyona-appimage. If it says the file is not an
AppImage it can read, the file is unsupported or unreadable: not a type-2 x86
AppImage (very old type-1 ones are not supported), or damaged or truncated, for
example by an interrupted download. Run it from a terminal to see why it
stopped:
lyona-appimage open ~/Downloads/Some.AppImage
lyona-appimage list
An AppImage that fails right after it starts is reported (“did not start”), and
one that is in the launcher but does not start usually needs libfuse.so.2:
install fuse2 (sudo pacman -S fuse2; the recommended desktop includes it).
A file whose name has a control character or a backslash is refused: rename it
first. Remove one with lyona-appimage remove NAME. Prefer Gear
Lever? Run install.sh with --with-gearlever, or install-gearlever.
Gear Lever does not open
Gear Lever requires Flatpak’s document portal. If launching it prints a
bwrap: Can't find source path /run/user/.../doc/by-app/... error, the portal
process has outlived its FUSE mount. Repair the current user session with:
systemctl --user restart xdg-document-portal.service
flatpak run it.mijorus.gearlever
The recommended and full installers include Flatpak and the GTK portal; Gear
Lever, from Flathub for the user, only with --with-gearlever. To repair only the
application setup from an installed lyona checkout, run:
install-gearlever
It refuses a flathub remote that has signature verification disabled, is
disabled, or points at an unofficial URL, and says which. Fix or remove that
remote (flatpak remote-modify, flatpak remote-delete --user flathub) and run
it again; dwm-flatpak-setup --user checks the remote on its own.
dwm Won’t Start
Black screen / returns immediately to login:
- Run
dwm-diagnosticsand resolve any required X11/session failures. - Preview required packages with
./install.sh --dry-run --profile core. - Check
~/.xinitrcexists and ends by starting dwm, as the shipped one does:dbus-run-session -- sh -c 'exec dwm' - Run
startxfrom a TTY to see error output in the terminal
dwm: cannot open display:
- You must launch dwm from a TTY, not an existing X session
- With a display manager, choose the lyona session; its file is
/usr/share/xsessions/dwm.desktop
No Status Bar / Quickshell Missing
- Install the recommended desktop layer:
./install.sh --profile recommended - Verify the managed config exists:
ls ~/.config/quickshell/shell.qml - Restart it with Super + Shift + R, or
dwm-quickshell-controlcenter action restart-quickshell. Any shell key (Super + R, the power keys) starts the shell when it is not running, then does what it was pressed for; when it is running but still starting, as early in a login, the key waits for it instead (#394). If the shell cannot start or never answers, a message names the key to try again (Super + Shift + R by default); the message for a power key also names the key that quits the session. Started by hand instead, a second Quickshell does not get the hotkeys - Check fonts:
fc-list | grep -i meslo - A bar of your own, instead of the lyona panel, must reserve space at the top
or bottom of the screen: a dock window with a strut (
_NET_WM_STRUT_PARTIAL; in Quickshell, aPanelWindowwith a non-zeroexclusiveZone). dwm takes only such a dock as the bar. One that reserves nothing is shown as a plain dock, and windows are not kept clear of it (#322).
Terminal Won’t Open (Super+X)
- Run
alacrittyfrom an existing shell to inspect its error directly - Install Alacritty with
sudo pacman -S alacritty - Confirm the fixed terminal in
~/.config/lyona/hotkeys.toml:[vars] terminal = "alacritty"
Herdr is an optional terminal workspace, not a graphical terminal emulator.
Install it explicitly and use DWM_HERDR=1 dwm-terminal to run it inside
Alacritty. The default Super+X binding remains plain Alacritty.
Browser Won’t Open (Super+B)
- Run
dwm-default-apps statusto inspect the current default browser - Run
dwm-default-apps browsersto list installed browser desktop files - Set one with
dwm-default-apps set-browser firefox.desktop - Open Settings -> Defaults to inspect provider details, candidates, and the Restore Previous action
- Ensure
xdg-utilsis installed soxdg-settings,xdg-mime, andxdg-openare available
Startup Application Change Failed
- Open Settings -> Defaults and inspect the entry origin, effective state, and detail. Malformed or conditional vendor entries are intentionally not rewritten.
- Changes apply at the next login; Settings does not start or stop the application in the current session.
- A stale-revision error means the entry changed after it was displayed. Use Refresh and retry.
- Reset to vendor removes only the managed user override. Existing vendor desktop files are never edited.
Themes Not Applying
- Confirm
themes.tomlis at~/.config/lyona/themes.toml - Check the
[active]section has a valid theme name - Manually trigger:
kill -USR1 $(pidof dwm) - Run
theme-apply.shdirectly to see any errors
Keybinds Not Working
- Check
~/.config/lyona/hotkeys.tomlfor mistakes. A “dwm: bad config” notification names the first problem. When only some bindings are wrong (an unknown key or function, a tag outside 0-8, a missing comma), dwm loads the rest and says how many it skipped. A file dwm cannot use at all (empty, or cut off inside its array): at login dwm falls back to the shipped defaults, and when you save it while running it keeps the keys you already had. dwm lists every entry it skips on its standard error: the terminal you ranstartxfrom, or your display manager’s session log (for LightDM,~/.xsession-errors). - Verify the key name is correct (use
xevto find X11 key names). - If neither your file nor the shipped default can be loaded, only two keys work: Super+x opens a terminal and Super+Shift+q quits dwm.
Multi-Monitor Issues
- Tags not syncing across monitors: run
dwm-diagnostics - Cursor doesn’t follow focus: verify cursor warp is enabled in
config.h(cursorwarp = 1) - Persistent resolution or positioning: run
dwm-display-setup detect, thendwm-display-setup. The wizard previews changes before writing Xorg config. - Bad persistent layout: run
dwm-display-setup rollback, then log out and back in. From a TTY, remove/etc/X11/xorg.conf.d/90-lyona-display.confif Xorg cannot start. - TearFree is enabled only when the active Xorg driver exposes a compatible option or RandR property. Unsupported drivers are left unchanged.
- NVIDIA Full Composition Pipeline is enabled in generated persistence only
when the relevant output uses the NVIDIA kernel driver and an NVIDIA Xorg
provider is available, including supported hybrid configurations. Run
dwm-display-setup capabilitiesto inspect the detected fallback before saving a layout. - Display layout profiles: run
dwm-display-profile diranddwm-display-profile templateto create optionalxrandrprofiles - Settings > Displays keeps asking “Keep these display settings?”: choose
Discard to forget the preview and keep the current layout for this
session, or Keep current to keep it at the next login too. From a
terminal,
dwm-settings-display preview-statusshows the preview’s token, anddwm-settings-display discard TOKENremoves it without applying anything.
NVIDIA / Suspend Issues
- Black screen on wake: run
scripts/nvidia-suspend-test.shto diagnose - DPMS/screensaver issues: use Control Center -> Power, or run
scripts/disable-powersavingto disable blanking and DPMS for the current session
Wi-Fi is slow to connect or 5 GHz fails
Check the kernel log first:
journalctl -b -k | grep -E 'regulatory|timed out'
failed to load regulatory.db: the regulatory database is missing, so Wi-Fi stays on the world domain, where 5 GHz is passive only. Install it withsudo pacman -S wireless-regdb(lyona installs it since #365), then reboot.- No Wi-Fi country:
iw reg getshowscountry 00. The image installer sets the country from your timezone in/etc/modprobe.d/lyona-regdom.conf. To set or change it yourself, uncomment your country’s line in/etc/conf.d/wireless-regdom(for exampleWIRELESS_REGDOM="DE") and reboot; that setting wins over the installer’s. - Some chips stay unreliable on 5 GHz even with a country set, such as the
Broadcom BCM43224 (
brcmsmac) in older MacBooks. Keep such a connection on 2.4 GHz:nmcli con mod "<connection name>" 802-11-wireless.band bg. - On those Broadcom chips the log also shows
b43failing to probe the card (probe with driver b43 failed with error -524). That is harmless:brcmsmacdrives the card. lyona does not blacklistb43.
A Bluetooth device’s battery is not shown
Settings > Power and the Control Center list the batteries UPower reports. Most
wireless mice and keyboards on a USB receiver (for example Logitech’s) report
theirs through the kernel. Some Bluetooth devices report a battery only when
BlueZ’s experimental battery provider is on, which lyona does not change for
you. To turn it on, set Experimental = true under [General] in
/etc/bluetooth/main.conf, then sudo systemctl restart bluetooth. Check what
UPower sees with upower --dump.
Picom / Compositor
Picom is part of the lyona desktop: the window overview’s previews need it. dwm and the panel work without it; the overview then shows icon-and-title cards.
Picom does not start
At login, a notification says “Picom could not start” (with the path of its log, and a pointer to the XRender backend in Settings > Appearance > Compositor, which works on most GPUs) or “Picom is not installed”. It is shown once. To see why:
dwm-settings-picom status
dwm-settings-picom start
start prints the reason and the log path. Common causes: an old or broken GPU
driver, or a virtual machine without 3D acceleration. Choose XRender in
Settings > Appearance > Compositor: it needs no GPU acceleration. If it is not
installed: sudo pacman -S picom. Start Picom with dwm-settings-picom start, not
picom alone: lyona’s default configuration leaves the backend for the helper to
choose, and Picom 13 does not start without one.
Stopping Picom
Control Center > Restart Picom restarts it. To stop it while troubleshooting,
run dwm-settings-picom stop: window previews are off until it starts again, and
it starts again at the next login.
The shell’s menus work without Picom too. Each one is then only as big as the menu, and a click outside it still closes it. Unlike with Picom, that click also reaches the window you clicked.
Artifacts
Restart picom via the Control Center (Quick Actions → Restart Picom) or:
dwm-settings-picom restart
If artifacts persist, choose XRender or GLX in Settings > Appearance >
Compositor. EGL is experimental. Automatic selection uses the active renderer
and retries XRender if automatic GLX startup fails. Existing configuration choices
and PICOM_BACKEND=glx or PICOM_BACKEND=egl session overrides remain respected.
Run dwm-settings-picom status to see the configuration path and effective
backend. The controls remain available while Picom is stopped. Configuration
errors and concurrent edits are reported without silently replacing your choices;
activation errors identify a recovery backup and session log.
An update fails to build with “Permission denied”
lyona-update builds dwm, the one program that includes your config.h, as
an unprivileged user (lyona’s own lyona-build), never as root. A config.h that includes a
file only you or root can read fails there with Permission denied, and
nothing is installed; the reason is in the update log (Settings -> System,
View update log). Make the included file readable by everyone, or keep
what it holds in config.h itself. The runtime TOML files are the supported
way to customise (docs/src/configuration.md).
Still Stuck?
- Open an issue: github.com/technicks89/Lyona/issues
- Run the full check:
bash scripts/check-deps.sh