Skip to content

Wallpaper scrolls/shifts when switching workspaces in niri (Wayland, wlroots) #547

@serenedeity

Description

@serenedeity

Bug Summary

When running linux-wallpaperengine on Wayland with the niri compositor, the wallpaper appears to shift or scroll when switching workspaces. The wallpaper is not fixed to the output and behaves as if it is moving with workspace transitions.

Steps to Reproduce

1.Start a Wayland session using niri (wlroots-based compositor)

2.Ensure no desktop environment (like KDE Plasma or GNOME) is running

3.Run:

linux-wallpaperengine --screen-root DP-2 --bg <any_wallpaper_id> --clamp border

4.Switch between workspaces in niri

5.Observe the wallpaper

Expected Behavior

The wallpaper should remain static and anchored to the screen (output), independent of workspace changes.

Actual Behavior / Logs

The wallpaper appears to move/scroll vertically when switching workspaces in niri.
It behaves as if it is attached to the workspace rather than the physical output.

This results in a sliding effect during workspace transitions instead of a static background.

Logs output when running the command:

Running with: ./linux-wallpaperengine --screen-root DP-2 --bg 3258032485 --clamp border
Failed to initialize GLEW, but continuing with EGL context: No GLX display
Shader has a require block #require LightingV1

Operating System and Version

CachyOS

Desktop Environment (GNOME, KDE, etc.)

None (no desktop environment installed)

Display Server (X11/Wayland)

Wayland (niri compositor)

Additional Context or Screenshots

  • The issue occurs consistently on every workspace switch
  • Only one monitor is used (DP-2, 2560x1440)
  • No other wallpaper manager or desktop shell is running
  • The issue seems specific to workspace transitions in niri

This might be related to how the wallpaper surface is attached via layer-shell,
possibly not being anchored to the output but instead affected by workspace movement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions