-
-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Random panel and desktop issues with dual monitor setup #987
Comments
These sound like client issues. In particular, clients should not rely on the order of monitors advertised through wl_output or xdg_output. |
Do you mean suspend as in full system suspend? Then it's quite strange that the suspend duration would affect this. Niri isn't involved in suspend in any way, I'm not sure what would change. |
I think it should be possible to check if this is the case: in |
For the duration diff I suspect the wakeup time for the external monitor is longer. Both issues I've not encountered on labwc or hyprland. You mean looking here I guess:
|
Labwc and Hyprland do see the external monitor as "2" and the internal as "1", sway does the same as Niri. |
In fact looks as they get inverted: after login
after suspend:
|
I'm not sure why suspend would switch them around. But either way, clients shouldn't rely on this order, it's not guaranteed to be consistent. (In fact, I'm not sure how I would even go about making it consistent in niri.) Can the panel instead use connector names, or better, make/model/serial? |
To be clear: it switches only one moment to the external monitor before it goes blank on suspend, on resume it's fine. It isn't fine on first login though as they are switched. As the panel code works everywhere from X11 to all other wayland compositors I don't think it needs touching. |
I suspect it could be a smithay issue, as I see it only on Niri. The behavior is exactly the same as unplugging it. A I looked at |
Hmm. There's no concept of a "primary" output on Wayland; I believe GTK will just return monitor at index 0 or something (which will change depending on which monitor happens to be advertised first). Not sure about Qt. |
Looks like we're on the way to use identifiers in the panel on wayland under the hood, And as fallout an option to keep panels tied or move them to the remaining output if their output is disconnected. But still it looks like that only Niri does a similar thing as "unplugging" at suspend. |
I'm still not sure why this unplugging at suspend happens because niri isn't even involved in suspend in any way. It just reacts to events as sent by udev, should be same as any other compositor |
For the panel this is fixed by lxqt/lxqt-panel#2226 |
Btw just tested xfdesktop: same issue, missing on one output after suspending. |
Wait I just realized. You have an internal + external monitor connected. This means that by default, niri will turn off the internal monitor upon closing the lid (since usually this configuration won't suspend the system, but leave you working on just the external monitor). This must be why the eDP-1 global is removed and re-added: simply the same as unplugging and plugging back in the monitor. You can try adding the If this is the case then well, I'd argue that it is still a client-side issue where monitor reconnects aren't handled (just ignored). |
It seems so: lxqt/pcmanfm-qt#2006 |
It is so :) |
Then, as far as LXQt is concerned, this isn't an issue anymore. |
They can't be reproduced always. Laptop with external monitor, on the right. lxqt-panel sees the external monitor on the right as "monitor 1". Top panel is on monitor 2 (laptop). On login top panel is instead sometimes found on the right monitor (1). When I close the lid/suspend the top panel switches to the other monitor for a moment, as he powers off later. I can't see this with other compositors.
The desktop (pcmanfm-qt --desktop) instead is sometimes only shown on the laptop monitor after wakeup. Restarting it from session settings → modules fix that. This happens randomly too.
It looks as this depends also on how long the suspend lasts, a short period doesn't produce the desktop issue.
System Information
niri 25.01 (unknown commit)
The text was updated successfully, but these errors were encountered: