[GH-ISSUE #211] [gui] sway: Window contents are not rendered on Wayland backend #155

Open
opened 2026-02-28 14:31:00 +03:00 by kerem · 12 comments
Owner

Originally created by @keeakita on GitHub (Nov 15, 2021).
Original GitHub issue: https://github.com/jpochyla/psst/issues/211

Describe the bug
When run in Sway, psst only displays the background of the window, but none of the contents. This means when first run, it display7s the log in screen as an empty white square. This is Wayland-specific as it doesn't happen when run in XWayland.

To Reproduce

  • Build dev version
  • cargo run --bin psst-gui

Expected behavior
The contents of the windows should be displayed when using Wayland as the backend.

Screenshots
Log in screen, not working:
image

Log in screen, XWayland:
image

After setting up a profile via XWayland and launching via Wayland. Notice it seems to skip log-in, and remembers the user's theme setting:
image

Environment

Additional context

  • Working version via XWayland: WAYLAND_DISPLAY= cargo run --bin psst-gui
  • Repros on the release build
  • I haven't had a chance to try other Wayland-based desktop environments
Originally created by @keeakita on GitHub (Nov 15, 2021). Original GitHub issue: https://github.com/jpochyla/psst/issues/211 **Describe the bug** When run in Sway, psst only displays the background of the window, but none of the contents. This means when first run, it display7s the log in screen as an empty white square. This is Wayland-specific as it doesn't happen when run in XWayland. **To Reproduce** - Build `dev` version - `cargo run --bin psst-gui` **Expected behavior** The contents of the windows should be displayed when using Wayland as the backend. **Screenshots** Log in screen, not working: ![image](https://user-images.githubusercontent.com/1066487/141736252-cadc9248-9c98-41e6-96bc-bd0f99ae8ea0.png) Log in screen, XWayland: ![image](https://user-images.githubusercontent.com/1066487/141736311-e63f3eae-ffe0-49af-8134-dbcbf60894d2.png) After setting up a profile via XWayland and launching via Wayland. Notice it seems to skip log-in, and remembers the user's theme setting: ![image](https://user-images.githubusercontent.com/1066487/141736057-b9f024c8-38ff-4eeb-8f32-7ba0e4afd48a.png) **Environment** - OS: nixos unstable - Version: master / de5c12f8b27385c609e73a9354b1a04a6e0953d2 **Additional context** - Working version via XWayland: `WAYLAND_DISPLAY= cargo run --bin psst-gui` - Repros on the `release` build - I haven't had a chance to try other Wayland-based desktop environments
Author
Owner

@jpochyla commented on GitHub (Nov 15, 2021):

Hi @oslerw, Druid does not yet have a native wayland API. There is a Draft PR pending: https://github.com/linebender/druid/pull/1498

<!-- gh-comment-id:968643606 --> @jpochyla commented on GitHub (Nov 15, 2021): Hi @oslerw, Druid does not yet have a native wayland API. There is a Draft PR pending: https://github.com/linebender/druid/pull/1498
Author
Owner

@filmor commented on GitHub (Nov 17, 2021):

For me it seems to be working just fine on the current master on Wayland (also running sway), no idea how if druid is not there, yet :)

<!-- gh-comment-id:971441328 --> @filmor commented on GitHub (Nov 17, 2021): For me it seems to be working just fine on the current master on Wayland (also running sway), no idea how if druid is not there, yet :)
Author
Owner

@keeakita commented on GitHub (Nov 28, 2021):

@filmor -- out of curiosity, what version of Wayland are you running, and on what distro? I can do more testing to try to narrow down why it's reproducible on my system but not yours.

<!-- gh-comment-id:981175686 --> @keeakita commented on GitHub (Nov 28, 2021): @filmor -- out of curiosity, what version of Wayland are you running, and on what distro? I can do more testing to try to narrow down why it's reproducible on my system but not yours.
Author
Owner

@filmor commented on GitHub (Nov 29, 2021):

This is Gentoo Linux. The relevant(?) versions are:

Package Version
sway 1.6.1
wayland 1.19.0
<!-- gh-comment-id:981641938 --> @filmor commented on GitHub (Nov 29, 2021): This is Gentoo Linux. The relevant(?) versions are: | Package | Version | | --- | --- | | sway | 1.6.1 | | wayland | 1.19.0 |
Author
Owner

@thebiblelover7 commented on GitHub (Jan 11, 2022):

@oslerw @filmor Psst works perfectly fine for me on GNOME wayland. (I can verify it's running on wayland by running xeyes)
I'm on arch using GNOME on wayland, and this is my wayland and mutter version

wayland 1.20.0-1
mutter 41.2-1
<!-- gh-comment-id:1010283907 --> @thebiblelover7 commented on GitHub (Jan 11, 2022): @oslerw @filmor Psst works perfectly fine for me on GNOME wayland. (I can verify it's running on wayland by running `xeyes`) I'm on arch using GNOME on wayland, and this is my `wayland` and `mutter` version ``` wayland 1.20.0-1 mutter 41.2-1 ```
Author
Owner

@ToxicMushroom commented on GitHub (Mar 2, 2023):

isn't this fixed now ?
https://github.com/linebender/druid/pull/2079
and psst is already running with an app_id which means it runs on wayland in my experience.

<!-- gh-comment-id:1451684083 --> @ToxicMushroom commented on GitHub (Mar 2, 2023): isn't this fixed now ? https://github.com/linebender/druid/pull/2079 and psst is already running with an app_id which means it runs on wayland in my experience.
Author
Owner

@dacioromero commented on GitHub (Mar 9, 2023):

It worked fine on Gnome Wayland, but doesn't for me on KDE Wayland now that I've switched. I'm also running NixOS.

Since druid uses some GTK stuff I was able to force XWayland with GDK_BACKEND=x11.

<!-- gh-comment-id:1461109225 --> @dacioromero commented on GitHub (Mar 9, 2023): It worked fine on Gnome Wayland, but doesn't for me on KDE Wayland now that I've switched. I'm also running NixOS. Since druid uses some GTK stuff I was able to force XWayland with `GDK_BACKEND=x11`.
Author
Owner

@arch-btw commented on GitHub (Apr 1, 2023):

Strange, it's working on Wayland for me.

Can those affected please provide the output of:

echo $GDK_BACKEND:$WAYLAND_DISPLAY:$DISPLAY:$XDG_RUNTIME_DIR

And does the following command make it work how it should?

GDK_BACKEND=wayland psst-gui

<!-- gh-comment-id:1492778117 --> @arch-btw commented on GitHub (Apr 1, 2023): Strange, it's working on Wayland for me. Can those affected please provide the output of: `echo $GDK_BACKEND:$WAYLAND_DISPLAY:$DISPLAY:$XDG_RUNTIME_DIR` And does the following command make it work how it should? `GDK_BACKEND=wayland psst-gui`
Author
Owner

@skykanin commented on GitHub (Sep 19, 2023):

I'm also running into this issue on Hyprland using psst version unstable-2023-05-13.
System: Linux 6.5.2, NixOS, 23.11 (Tapir), 23.11.20230911.3a2786e

$ echo "$GDK_BACKEND:$WAYLAND_DISPLAY:$XDG_RUNTIME_DIR"
wayland:wayland-1:/run/user/1000
<!-- gh-comment-id:1726358584 --> @skykanin commented on GitHub (Sep 19, 2023): I'm also running into this issue on Hyprland using `psst` version `unstable-2023-05-13`. System: `Linux 6.5.2, NixOS, 23.11 (Tapir), 23.11.20230911.3a2786e` ```fish $ echo "$GDK_BACKEND:$WAYLAND_DISPLAY:$XDG_RUNTIME_DIR" wayland:wayland-1:/run/user/1000 ```
Author
Owner

@tjofle commented on GitHub (Mar 8, 2025):

@dacioromero has a solution over at https://github.com/NixOS/nixpkgs/issues/220297#issuecomment-2190994288

Adding "x11" to druid-shell's features in psst-gui/Cargo.toml, regenerating the lockfile, producing a patch file, and modifying the derivation makes psst work on KDE Wayland. Alternatively as mentioned before GDK_BACKEND=x11 also works.

EDIT: My branch for the fix: https://github.com/dacioromero/nixpkgs/tree/psst-x11

(I won't pretend to understand what it means)

@arch-btw :
GDK_BACKEND=wayland psst-gui does not work, it yields the same result as OPs screenshot (empty window). GDK_BACKEND=x11 psst-gui does work.

psst version: unstable-2024-10-24

$ echo $GDK_BACKEND:$WAYLAND_DISPLAY:$DISPLAY:$XDG_RUNTIME_DIR
:wayland-0::0:/run/user/1000
Operating System: NixOS 24.11
KDE Plasma Version: 6.2.5
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.2
Kernel Version: 6.6.80 (64-bit)
Graphics Platform: Wayland
Graphics Processor: Mesa Intel® UHD Graphics 630
<!-- gh-comment-id:2708307310 --> @tjofle commented on GitHub (Mar 8, 2025): @dacioromero has a solution over at https://github.com/NixOS/nixpkgs/issues/220297#issuecomment-2190994288 > Adding `"x11"` to druid-shell's features in `psst-gui/Cargo.toml`, regenerating the lockfile, producing a patch file, and modifying the derivation makes psst work on KDE Wayland. Alternatively as mentioned before `GDK_BACKEND=x11` also works. > >EDIT: My branch for the fix: https://github.com/dacioromero/nixpkgs/tree/psst-x11 (I won't pretend to understand what it means) @arch-btw : `GDK_BACKEND=wayland psst-gui` does not work, it yields the same result as OPs screenshot (empty window). `GDK_BACKEND=x11 psst-gui` does work. psst version: `unstable-2024-10-24` ``` $ echo $GDK_BACKEND:$WAYLAND_DISPLAY:$DISPLAY:$XDG_RUNTIME_DIR :wayland-0::0:/run/user/1000 ``` ``` Operating System: NixOS 24.11 KDE Plasma Version: 6.2.5 KDE Frameworks Version: 6.8.0 Qt Version: 6.8.2 Kernel Version: 6.6.80 (64-bit) Graphics Platform: Wayland Graphics Processor: Mesa Intel® UHD Graphics 630 ```
Author
Owner

@colemickens commented on GitHub (Jun 17, 2025):

I'm having a hard time understanding the state of things here.

  1. Are there non-nix/nixos users affected by this?
  2. Why does psst not call set_min_size to workaround this issue?
  3. Is psst just entirely unusable on Wayland? I am very unsure of the positive reports here, I suspect they were falling to XWayland...
<!-- gh-comment-id:2981637952 --> @colemickens commented on GitHub (Jun 17, 2025): I'm having a hard time understanding the state of things here. 1. Are there non-nix/nixos users affected by this? 2. Why does `psst` not call `set_min_size` to workaround this issue? 3. Is `psst` just entirely unusable on Wayland? I am very unsure of the positive reports here, I suspect they were falling to XWayland...
Author
Owner

@eConnah commented on GitHub (Dec 17, 2025):

I am a nixos user on aarch64-linux if that matters and I get the same issue its just a white window or grey depending on my theme, only usable through xwayland backend. Installed it today version: 0-unstable-2025-11-16

<!-- gh-comment-id:3663376426 --> @eConnah commented on GitHub (Dec 17, 2025): I am a nixos user on aarch64-linux if that matters and I get the same issue its just a white window or grey depending on my theme, only usable through xwayland backend. Installed it today version: 0-unstable-2025-11-16
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/psst#155
No description provided.