hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.5k stars 899 forks source link

Can't interact with certain steam windows #2661

Closed Roger-Roger-debug closed 7 months ago

Roger-Roger-debug commented 1 year ago

Since the new steam UI rolled out I can't interact with some windows, mainly the context menu opened by right-clicking someone my friendlist.

Steps to reproduce

Expected outcome

I can interact with the opened menu

Actual outcome

Menu can't be interacted with


I ran a git bisect and the offending commit seems to be https://github.com/hyprwm/Hyprland/commit/fcf1bafb098c8f756550195269dcd95202124277

Had some trouble running the bisect as after the git bisect skip the menus wouldn't always show up or crash steam.

Bisect log

``` # bad: [51a930f802c71a0e67f05e7b176ded74e8e95f87] version: bump to 0.26.0 # good: [c02ac5e08a425d5ec44b48e24ca2695d9cafd38d] fix un-normalized missed color git bisect start 'v0.26.0' 'v0.20.0beta' # bad: [06244555915339967864292dd0b83cd9732516d8] Meson: add rdynamic ld flag git bisect bad 06244555915339967864292dd0b83cd9732516d8 # bad: [38c25bb50d76409193db2438db60369f3868edf9] Added a crash reporter git bisect bad 38c25bb50d76409193db2438db60369f3868edf9 # good: [12e293e3092b03dbb9d82e7a749f482ef2b7ea6e] update animated deco values after setprop git bisect good 12e293e3092b03dbb9d82e7a749f482ef2b7ea6e # bad: [be6325dd4b0a99561281ba557f1d37e945fa183f] ext_workspace_unstable: send done after output_enter when wl_output is bound late (#1481) git bisect bad be6325dd4b0a99561281ba557f1d37e945fa183f # skip: [5d35c0432b70e2d5e82296caf7f496dc4612f3e5] add a minimize ipc event git bisect skip 5d35c0432b70e2d5e82296caf7f496dc4612f3e5 # good: [32381fe6c4e33232401d7a74f587ee7296a61fcf] send a 1 on unknown minimize event git bisect good 32381fe6c4e33232401d7a74f587ee7296a61fcf # good: [a46abd8b1adaf850e243380ea2a7d6b02677fc86] update wlroots dep git bisect good a46abd8b1adaf850e243380ea2a7d6b02677fc86 # good: [d81f45e54a423cf3af522ca901a2f356d63100c0] clear focus on failed unlock attempt git bisect good d81f45e54a423cf3af522ca901a2f356d63100c0 # good: [3e6601fa2989d750135d218c1fea3a13ddeae5c3] ext_workspace_unstable: send output_enter when wl_output is bound late (#1480) git bisect good 3e6601fa2989d750135d218c1fea3a13ddeae5c3 # good: [668842124067f9b6513edf1c28478bec12d709a0] minor adjustments to xwayland positioning git bisect good 668842124067f9b6513edf1c28478bec12d709a0 # bad: [fcf1bafb098c8f756550195269dcd95202124277] conform to unmanaged X11 activate requests git bisect bad fcf1bafb098c8f756550195269dcd95202124277 # first bad commit: [fcf1bafb098c8f756550195269dcd95202124277] conform to unmanaged X11 activate requests ```

Roger-Roger-debug commented 1 year ago

Commenting out the line g_pCompositor->focusWindow(PWINDOW); makes the menus interactable again but reintroduces the issues of the windows not always showing up.

This table sums up the behavior when right-clicking someone in my friend list with and without the line commented out (oddly enough the menu opened by right clicking the game works). focusWindow Commented out
Friendlist doesn't get focus gets focus
right click menu not interactable interactable
workspace no window focused friendlist has focus
Steam issues everything ok context menu randomly doesn't show up, main steam window content shifts a few pixels
mouse leaving menu stays as long as friendlist is focused closes
vaxerski commented 1 year ago

I think this was a steam bug and IIRC got fixed?

Roger-Roger-debug commented 1 year ago

Could be as steam is the only app exhibiting this behavior. I switched to steam beta and even reinstalled it a few days ago so if it was fixed then it's something else on my end that's still breaking it.

vaxerski commented 1 year ago

image

vaxerski commented 1 year ago

for me only some right-click menus dont get focus, friendlist ok

Roger-Roger-debug commented 1 year ago

Didn't know of the setting. Looks like something is misconfigured on my end, will try out some more stuff.

Moltenkore commented 1 year ago

I'm running into this issue too, specifically the friend context menu when you open a chat and right click their name at the top.

Did you find a fix or workaround for it?

Edit: Fullscreening the chat window works

Roger-Roger-debug commented 1 year ago

I haven't actually but fullscreening makes it work again.

abigrock commented 1 year ago

I am seeing the same thing with the friends list and other places in the steam UI. For example when clicking the "Add a Game" option at the bottom left the context menu is unresponsive. Doesn't matter if the "context menu focus compatibility mode" option is enabled or not. As mentioned in the above comments, it does work if steam is full-screened.

zjeffer commented 1 year ago

I have the same behaviour as @abigrock.

@Roger-Roger-debug Can you reopen this issue? Not sure if this is a steam bug or Hyprland bug. Does it work on other Wayland compositors like sway?

Roger-Roger-debug commented 1 year ago

I assumed it was a mostly me issue since it seemed to work for Vaxerski. I have tried it out with Sway stable and didn't have the issue there. Could still be a steam issue though...

romanstingler commented 1 year ago

@zjeffer @Roger-Roger-debug can you test with the latest commit or -git package?

Roger-Roger-debug commented 1 year ago

Still happens on 2e6693fbb650dd2c9b7ad4b6d830899589504bda for me.

zjeffer commented 1 year ago

Same for me.

MaKaNu commented 1 year ago

hyprland user same here can reproduce the fullscreen working

ogios commented 1 year ago

same issue with add a game, it loose focus and no window is popping up

ouzbirki commented 1 year ago

I can reproduce this bug, both with Steam stable and beta and both with and without enabling the "Enable context menu compatibility mode" option. Making the friend list window fullscreen (using fullscreen 0 dispatcher, not with the 1 as arg) seems like fixes the issue. I've been searching for this issue on steam-for-linux repo and haven't found anyone experienced the exact thing and this makes me think it's somehow related to Hyprland (haven't tried with another DE or WM, sorry).

Extra information to be helpful: Hyprland version: commit 204a5805 kernel: 6.4.12-zen1-1-zen

Roger-Roger-debug commented 1 year ago

iirc I tried this on sway originally and there it worked and concluded that it must be specific to Hyprland (and it used to work before the commit I mentioned when I opened the issue)

gwstorm commented 1 year ago

Upgrading to Hyprland 0.30.0-1 breaks the full screen workaround to use the context menu on the friends list for me. Returning to 0.29.1-1 restored the workaround.

Roger-Roger-debug commented 1 year ago

You can still use big picture mode and use the functions that way if you have to

pwnfooj716 commented 1 year ago

You can still use big picture mode and use the functions that way if you have to

Thanks for the workaround! I panicked when the fullscreen trick no longer worked since i really didn't want to have to downgrade. Really hope a real fix to this issue can be found. It doesn't happen on riverwm, but I prefer to use hyprland.

vaxerski commented 1 year ago

if 0.30 breaks the fullscreen fix I'd love for that to be bisected

Roger-Roger-debug commented 1 year ago

Did a quick bisect and got this

# bad: [1b48642fd15c433c53876f1b933dcd46265caf8f] props: bump version to 0.30.0
# good: [0a78f6031c8fcc6773f136fccde3d560aaac239d] props: bump ver to 0.29.0
git bisect start 'v0.30.0' 'v0.29.0'
# good: [a781c152ff9805c1a5c69c6d8575deee6fdce34b] fix(layout): remove `focusWindow` calls from `onWindowCreatedTiling` (#3233)
git bisect good a781c152ff9805c1a5c69c6d8575deee6fdce34b
# bad: [e6651334f264591cffef96738a2355b1b207eaa6] refactor: flatten nesting `if`s in layout window creation method (#3294)
git bisect bad e6651334f264591cffef96738a2355b1b207eaa6
# good: [bc41d7ec8515723d79cc921454a739d65db69467] fix: inconsistent behaviour where last workspace was not saved (#3261)
git bisect good bc41d7ec8515723d79cc921454a739d65db69467
# good: [b884544ee63b4c3b3b150ff69cf24c90058c2777] input: don't refocus on switched workspace on the same monitor
git bisect good b884544ee63b4c3b3b150ff69cf24c90058c2777
# good: [84f8f4d77ddf4b6c772459584234e1f8f9d5f2ce] keybinds: warp cursor to correct window in moveWindowOutOfGroup (#3290)
git bisect good 84f8f4d77ddf4b6c772459584234e1f8f9d5f2ce
# good: [0dc8289b0292d3c3c35a06fdecbe41cd57a1a918] dwindle: fix: don't merge groups when moving window (#3302)
git bisect good 0dc8289b0292d3c3c35a06fdecbe41cd57a1a918
# good: [0e64dd2ea58aa1b41418d78d5aa27f787de6a267] master: respect the resizing animation option in master layout (#3300)
git bisect good 0e64dd2ea58aa1b41418d78d5aa27f787de6a267
# first bad commit: [e6651334f264591cffef96738a2355b1b207eaa6] refactor: flatten nesting `if`s in layout window creation method (#3294)

However it might not be the commit that really breaks it. At that commit I just couldn't open the menus, maybe I'll find some time later to test the other commits.

K0SS4 commented 1 year ago

Same issue for me. Cannot even interact with the top bar menus(Steam, View, Friends etc.). My workaround was to launch steam with gamescope as described here: https://wiki.archlinux.org/title/Gamescope

It's only possible to set a static resolution for steam app so it's not perfect(steam subwindows get buggy sometimes)

Sincide commented 1 year ago

This happens to me on 0.31 and 0.32. It's working as it should on 0.30 fyi

phonetic112 commented 11 months ago

Update: don't use these anymore, they are not needed

If anyone is still having this issue, try adding these lines to your config:

windowrulev2 = stayfocused, title:^()$,class:^(steam)$ windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$

This lets me hover through the drop-down menus in the main UI, as well as the friends list.

Doable149 commented 11 months ago

If anyone is still having this issue, try adding this line to your config:

windowrulev2 = stayfocused, title:^()$,class:^(steam)$

This lets me hover through most of the drop-down menus in the main UI, but the friends list windows are still borken for me.

UPDATE: Add this line as well to fix friends list:

windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$

Thank you so much!

gwstorm commented 11 months ago

@Doable149 I tested both of those individually and they worked. Nice one!

jh-devv commented 11 months ago

If anyone is still having this issue, try adding these lines to your config:

windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$

This lets me hover through the drop-down menus in the main UI, as well as the friends list.

Thank you so much! This worked :3

Roger-Roger-debug commented 10 months ago

Huh, focus used to stick to steam, making me unable to interact with any other windows on the workspace but now it works as expected.

gwstorm commented 10 months ago

Huh, focus used to stick to steam, making me unable to interact with any other windows on the workspace but now it works as expected.

I just updated to the latest git and I'm still unable to interact with menus normally. In fact, I can't interact with my friends at all anymore. My friends list now shows a transparent window that I can interact with, but can't see what it is that I'm interacting with. If anything, it's slightly worst now because of that.

Are you still using any window rules? Which version of Hyprland are you on? 2023-12-30_09-19

zjeffer commented 10 months ago

I just updated to the latest git and I'm still unable to interact with menus normally. In fact, I can't interact with my friends at all anymore. My friends list now shows a transparent window that I can interact with, but can't see what it is that I'm interacting with

I have the same issue as you, on this version:

Hyprland, built from branch main at commit 78f9ba9fdd7e258747b862ca2ae7d4cf5335f4ed dirty (makefile: add symbolic link for lowercase binary name).
Date: Fri Dec 29 10:37:58 2023
Tag: v0.33.1-113-g78f9ba9f

(Nvidia GPU, if that matters)

gwstorm commented 10 months ago

I think this might have been closed prematurely. The original menu interaction issue of

all still exist.

Roger-Roger-debug commented 10 months ago

Nvm, I was a dummy and actually just overlooked the window rules I had.

With the windowrules applied it works perfectly for me on the latest release and git the last time I checked. I'm not entirely sure how much of this actually a bug or an unintended side-effect from the way Hyprland works (though you could argue that that's still a bug).

It might be better to document the workaround somewhere in the wiki if the bug just occurs because Steam does menus in a weird way that doesn't play well with Hyprland?

zjeffer commented 10 months ago

With the windowrules applied it works perfectly for me on the latest release and git the last time I checked.

With these rules I get a transparent right-click menu:

windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$

Without the rules, the right-click menu immediately dissapears, but is also transparent.

Roger-Roger-debug commented 10 months ago

With the windowrules applied it works perfectly for me on the latest release and git the last time I checked.

With these rules I get a transparent right-click menu:

windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$

Without the rules, the right-click menu immediately dissapears, but is also transparent.

Tried latest git and I get the same behavior. Menus with windowrules worked last time I checked (~2 weeks ago), I can bisect this tomorrow.

phonetic112 commented 10 months ago

I bisected blurry right click menu, c0d9dcc586ab17bf67c48c02a08bca28727f9237 is what broke it

Roger-Roger-debug commented 9 months ago

Is this supposed to fix all menus?

Drop down menus still don't work for me. Is this actually a Hyprland issue, or is steam doing something it's not supposed to do? If it's the latter it's probably just better to document the workaround somewhere on the wiki, no?

Roger-Roger-debug commented 8 months ago

Okay, finally got around to testing this a bit more. As far as I can tell the issue isn't fixed and both windowrules are still needed.

y0nei commented 8 months ago

The windowrules now freeze hyprland and render it unresponsive whenever hovering on a category like "library" (v0.35)

42Willow commented 8 months ago

I can confirm, this also happens to me :cry:. This issue should be reopened

Seercat3160 commented 8 months ago

The issue with the windowrules freezing hyprland was reported 2 weeks ago in my issue #4722, and is most likely fixed in 0.36.0 (though I haven't tested as it's not out on Arch yet) as it was fixed in https://github.com/hyprwm/Hyprland/commit/cdcc5aba06f20005842cf966b23af50456dc7142 (which I'm currently using with no issues). Edit: After building 0.36.0 from source, I can confirm it works on 0.36.0 the same as it does on https://github.com/hyprwm/Hyprland/commit/cdcc5aba06f20005842cf966b23af50456dc7142. Anyone having that windowrule issue has to wait for 0.36.0 on their distro or build from source, I suppose.

willswats commented 8 months ago

The drop down menus work for me on git without the windowrules most of the time, however, the "Add a game" button occasionally doesn't disappear after clicking off of it (I had to click on it and click off of it about 5 times to make it occur), and it causes Steam to freeze for a few seconds, or sometimes it causes the Steam window to close. Other Steam windows (such as settings) also don't close instantly, instead they go blurry and transparent for a second, or sometimes for longer. Both of these issues occur with and without the windowrules.

Roger-Roger-debug commented 8 months ago

Tested again with latest git version, steam beta and compatibility UI enabled and can confirm willswats observations.

As far as I can tell every all menus mentioned in this issue (add a game, drop down, friendlist, ...) work now but have a high probability (maybe 30%?) of freezing or crashing the steam client. Only when that happens do menus not correctly disappear again and steam cpu usage rises pretty high.

While the experience isn't great, steam is now functional without windowrules. Should the freezing/crashing be tracked in another issue and this one closed?

jh-devv commented 8 months ago

Now there is an issue that the windows close too fast!

 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.18, NixOS, 24.05 (Uakari), 24.05.20240229.1536926`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - nixpkgs: `/nix/store/lwyjz70qh12nq6cb7fixl85vryzxqm3c-source`

Hyprland, built from branch  at commit v0.35.0  ().
Date: 2024-02-05

Steam release: Beta

This is without window rules. With windows rules, like @y0nei said, the performance is subpar, but for me; it's the only one that works...

vaxerski commented 8 months ago

image

what beta ui are yall talkin bout

willswats commented 8 months ago

image

what beta ui are yall talkin bout

Steam Settings -> Interface -> Client Beta Participation. The issues that I mentioned occur with and without the beta.

vaxerski commented 8 months ago

your issues just sound like typical steam. The client is very slow and poorly designed.

MaKaNu commented 8 months ago

I noticed that the crashes creates coredumps, but I am not able to understand them. What I can say: The coredumps are created because of a "bad System call"

proJM-Coding commented 8 months ago

If I remember correctly though in the early days of hyprland steam worked normally without crashes or menus disappearing too fast.