labwc / labwc

A Wayland window-stacking compositor
https://labwc.github.io
GNU General Public License v2.0
1.62k stars 151 forks source link

Couple of issues with new VRR behavior #1412

Closed ScarecrowDM closed 7 months ago

ScarecrowDM commented 8 months ago

Hello! :)

First Issue:

While the new <adaptiveSync>fullscreen</adaptiveSync> works great (it triggers VRR with no problems), it always fails to disengage VRR when exiting fullscreen mode in any app/games that I commonly use (xnview, mpv, games, etc).

I don't believe this is the intended behavior.

Second Issue:

With labwc 0.7, I can just enable\disable VRR passing wlr-randr --output DP-1 --adaptive-sync enabled/disabled and it will work like a charm.

This regressed and doesn't work anymore with current master.

johanmalm commented 8 months ago

We've just committed this fix: https://github.com/labwc/labwc/commit/1b5af864023acedc7a84e4958436725d7017adef Does that help?

If not, @Ph42oN any chance you could help with this?

ScarecrowDM commented 8 months ago

Yes, the first issue is fixed by 1b5af864023acedc7a84e4958436725d7017adef ! :tada:

Not sure if you guys want to address the second one, so feel free to close this issue. It was more pressing for me because with VRR not turning off when exiting fullscreen, I had no way to disable VRR without changing labwc settings and restarting the session. But now with VRR turning off correctly, it might not be an issue.

Thanks!

Ph42oN commented 8 months ago

First issue was actually actually happening to me too, it worked when closing games with alt-f4 that is what i usually do, but not when exiting from game itself.

Not sure if you guys want to address the second one, so feel free to close this issue. It was more pressing for me because with VRR not turning off when exiting fullscreen, I had no way to disable VRR without changing labwc settings and restarting the session. But now with VRR turning off correctly, it might not be an issue.

Thanks!

Actually i see why this happens. Setting it with wlr-randr should still work if you use <adaptiveSync>yes</adaptiveSync>, but doesn't otherwise. I added if in output_config_apply() that prevents wlr-randr from changing adaptive sync.

If you think correct way is to always allow wlr-randr to change adaptive sync state, that if can be removed.

Consolatis commented 7 months ago

Should be fixed in latest master, thanks @Ph42oN.