Neat little thing I just noticed, might be known but I never head of it before: apparently, a Wayland window can vsync to at least 3 monitors with different refresh rates at the same time.
I have 3 monitors, at 60 Hz, 144 Hz, and 60 Hz from left to right. I was using glxgears to test something, and noticed when I put the window between the monitors, it’ll sync to a weird refresh rate of about 193 fps. I stretched it to span all 3 monitors, and it locked at about 243 fps. It seems to oscillate between 242.5 and 243.5 gradually back and forth. So apparently, it’s mixing the vsync signals together and ensuring every monitor’s got a fresh frame while sharing frames when the vsyncs line up.
I knew Wayland was big on “every frame is perfect”, but I didn’t expect that to work even across 3 monitors at once! We’ve come a long, long way in the graphics stack. I expected it to sync to the 144Hz monitor and just tear or hiccup on the other ones.
That’s actually one of the oldest features I wanted out of Wayland. Its the reason why I don’t have a second monitor since 10 years, as X cannot deal with this stuff correctly, especially when G-Sync an other modules are involved. I switched to Wayland last year and plan on buying a second monitor soon. All of them should be handled separately and correctly.
BTW good to know that it works this well. I imagine its AMD GPUs. Not sure if this works well under Nvidia yet, but its another reason why I switched to AMD (because this allowed me to use Wayland without tears).
Not sure if I can easily test VRR as it only works on fullscreen windows, but I can’t see why it wouldn’t work.
Yes this is AMD, KWin 6.0.5 with the explicit sync patch for the compositor. There’s a chance this works fine with NVIDIA too since they have to implement the same interfaces as everyone else.
Nvidia on Wayland is still broken to a degree. They still wait for the new updated driver with specific Wayland fixes for VSync issues. And I mean normal Vsync, not even VRR. Its not at the same level as AMD at the moment.
And it depends which window management and compositor you are using, as not all of them are fully functional like KDE. Actually, I switched to KDE+AMD because of the better Wayland support.
On KDE you can force VRR for non-fullscreen apps by setting Adaptive Sync to “Always” in Display settings