Skip to content
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

xdg-shell's suspend state is set but never cleared leading to clients stop rendering #4287

Closed
kchibisov opened this issue Dec 28, 2023 · 13 comments
Labels
bug Something isn't working

Comments

@kchibisov
Copy link

Hyprland Version

Don't know unfortunatelly, but I guess pretty recent.

Bug or Regression?

Bug

Description

See this alacritty/alacritty#7485

and the logs in the end of the issue.

How to reproduce

Follow the linked issue. It has all the relevant logs from which you may see configures not ever resetting suspend.

Crash reports, logs, images, videos

No response

@kchibisov kchibisov added the bug Something isn't working label Dec 28, 2023
@vaxerski
Copy link
Member

oops, odd

@vaxerski
Copy link
Member

aw fuck

@kchibisov
Copy link
Author

aw fuck

can relate.

@vaxerski
Copy link
Member

life sucks. Even more so when you have to write code.

@kchibisov
Copy link
Author

kchibisov commented Jan 23, 2024

Seems like the issue is still present with multiple monitors with the recent hyprland git.

hyprland tells us that the window is suspended, but then never makes it non-suspended, even though it's focused and getting keyboard. input.

cc @zmingee

@zmingee
Copy link

zmingee commented Jan 23, 2024

I can troubleshoot on my end and share any logs as needed, just let me know

@vaxerski
Copy link
Member

vaxerski commented Jan 25, 2024

image
¯\_(ツ)_/¯

if reproducible lmk how

@kchibisov
Copy link
Author

it's not like our handling is overly complex either.

image

and we basically pause rendering once Occluded(true) which is what happening, but then never getting a Occluded(false) to resume. Maybe the window got hidden once you send it from one monitor to another, since it kind of changes workspace and maybe it makes window to be hidden for a short period of time thus messes up the state?

But that's just a guess, since it's likely user has 2 workspaces visible at the same time on multiple monitors and sending from one to another.

@zmingee
Copy link

zmingee commented Jan 25, 2024

But that's just a guess, since it's likely user has 2 workspaces visible at the same time on multiple monitors and sending from one to another.

That is the case. I have two monitors, with independent workspaces on them. When the transition occurs between monitors and workspaces, the rendering output of alacritty stops.

@vaxerski
Copy link
Member

When the transition occurs between monitors and workspaces, the rendering output of alacritty stops.

movetoworkspace? movewindow? Repro steps?

@zmingee
Copy link

zmingee commented Jan 25, 2024

Generally it breaks for me with the following sequence:

  • launch alacritty
  • start echo loop to monitor output rendering
  • move workspace with alacritty window to other monitor (dual setup) with movecurrentworkspacetomonitor (rarely seems to occur with movetoworkspace or movewindow across a monitor boundary).
  • note output rendering freeze
  • quit alacritty

@kchibisov
Copy link
Author

I'd add that according to the logs output gets frozen once we get Occluded(true) which is expected from our side and the logic we run is present on the screenshot I've posted.

I'd kind of suggest to re-ensure that the hyprland was really from the latest git though and that you've actually ran it, somehow.

@zmingee
Copy link

zmingee commented Jan 25, 2024

I've updated to/installed the latest hyprland from git multiple times. Last time I did was yesterday afternoon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants