GNOME Inching Closer To Better Wayland Multi-Monitor Performance
One of my personal biggest issues with using the GNOME Shell on Wayland has been the sluggish multi-monitor performance with driving dual 4K displays on my main workstation. Fortunately, GNOME is moving closer to resolving the fundamental issue and that could happen possibly with this current GNOME 3.34 cycle.
GNOME had been terribly slow in my own experiences with various multi-head setups when running on Wayland while under X11 the performance has been great. There has been some improvements with time that have made the experience more fluid, but that's been in-step with general GNOME Shell / Mutter Wayland performance enhancements and other work. Fortunately, prolific GNOME developer Daniel Van Vugt at Canonical has been revisiting some of his open merge requests.
On top of seeing the work through last week to avoid frame skipping and lowering X11 output lag, he also was able to merge one of his prerequisite patches for ultimately moving towards improving the multi-monitor Wayland experience.
Merged was the referencing counting of front buffers, an MR that had been open for one year, and important for the future though not useful on its own today.
That reference counting is a stepping stone towards resolving Mutter's big issue #3 from last year. That ticket is regarding the poor multi-monitor Wayland performance and finding out that half the time GNOME Shell spends is within meta_monitor_manager_kms_wait_for_flip when running two monitors. "With two monitors, gnome-shell spends around half of its (real) time blocked in meta_monitor_manager_kms_wait_for_flip...The problem is that with two separate displays they're never going to be in phase with each other. Even if they're the same frequency you could spend most of your time waiting for the condition of zero flips pending. Or 50% on average...I expect this bug explains multiple previous bug reports people have made about multi-monitor performance in Wayland sessions. Particularly when a busy or dragged window overlaps multiple monitors."
Now let's hope that issue gets resolved by GNOME 3.34 in September.
GNOME had been terribly slow in my own experiences with various multi-head setups when running on Wayland while under X11 the performance has been great. There has been some improvements with time that have made the experience more fluid, but that's been in-step with general GNOME Shell / Mutter Wayland performance enhancements and other work. Fortunately, prolific GNOME developer Daniel Van Vugt at Canonical has been revisiting some of his open merge requests.
On top of seeing the work through last week to avoid frame skipping and lowering X11 output lag, he also was able to merge one of his prerequisite patches for ultimately moving towards improving the multi-monitor Wayland experience.
Merged was the referencing counting of front buffers, an MR that had been open for one year, and important for the future though not useful on its own today.
That reference counting is a stepping stone towards resolving Mutter's big issue #3 from last year. That ticket is regarding the poor multi-monitor Wayland performance and finding out that half the time GNOME Shell spends is within meta_monitor_manager_kms_wait_for_flip when running two monitors. "With two monitors, gnome-shell spends around half of its (real) time blocked in meta_monitor_manager_kms_wait_for_flip...The problem is that with two separate displays they're never going to be in phase with each other. Even if they're the same frequency you could spend most of your time waiting for the condition of zero flips pending. Or 50% on average...I expect this bug explains multiple previous bug reports people have made about multi-monitor performance in Wayland sessions. Particularly when a busy or dragged window overlaps multiple monitors."
Now let's hope that issue gets resolved by GNOME 3.34 in September.
19 Comments