GNOME
GNOME's mutter compositor has historically not implemented
wlr-layer-shell-v1, the protocol awob uses to draw its surface.
That changed in mutter 47 with experimental layer-shell support, and
GNOME 49 brought it closer to mainline. awob runs on
sufficiently recent GNOME but the experience is hit-or-miss
depending on your version.
If your GNOME doesn't have layer-shell, you have two options:
- Use GNOME's built-in OSD (gnome-shell handles volume / brightness natively).
- Switch to a compositor with first-class layer-shell support (Hyprland, Sway, KDE Plasma, river, Wayfire, …).
Checking layer-shell support
echo $WAYLAND_DISPLAY # confirm Wayland (not X11)
awob-daemon # foreground; watch the log
If awob can't bind a layer-shell surface, you'll see:
warning: layer-shell global missing
In that case, GNOME's built-in OSD is your friend.
Pattern: keybind-driven, complementing GNOME's own OSD
Even on a compositor without layer-shell, awob send works as long
as the daemon can bind some surface — but the OSD itself won't
render. The use case where awob makes sense on GNOME is:
- You're on GNOME 47+ with mutter's experimental layer-shell support enabled, and
- You want the richer theming or the listener ecosystem.
In that case, the same keybind patterns from Hyprland setup apply. Bind your volume / brightness keys via GNOME Settings → Keyboard → Custom Shortcuts.
Pattern: GNOME Shell + listener-driven sends
If you'd rather GNOME Shell continue to render its native OSDs and have awob coexist (e.g. for battery / network listeners that GNOME doesn't surface as transient bars), run only the listeners you care about and disable auto-discovery for the rest:
# ~/.config/awob/awob.toml
theme = "minimal"
[supervisor]
disable = ["pipewire", "backlight", "keyboard-backlight"]
This leaves only awob-listener-battery running, so awob shows
battery state and lets GNOME handle volume / brightness.
Status
GNOME / mutter layer-shell support is moving. If you're on a recent
mutter and awob fails to draw, file an issue with
mutter --version and your awob-daemon log. There's a tracking
section in FUTURES.md.