New GNOME Code Speeds Up Performance For NVIDIA Proprietary Driver Multi-Monitor
Open for the past year and a half has been this Ubuntu bug report around the secondary monitor performance is being very slow on a NVIDIA hybrid system under Wayland sessions. Similarly has been this 9 month old GNOME bug report around "extreme" lag on a second monitor powered by a NVIDIA GPU with the proprietary driver. In that case the secondary monitor performance doesn't have extreme lag when using just the Intel graphics for both display outputs or when using the NVIDIA graphics on both outputs.
Daniel van Vugt at Canonical who leads much of their upstream GNOME improvements/optimizations has worked out a prototype of hardware-accelerated GPU-to-GPU copies for NVIDIA outputs under Mutter Wayland session. This merge request gets that working for the NVIDIA proprietary driver with secondary GPUs.
This support was wired up by switching from GL_OES_EGL_image to GL_OES_EGL_image_external that is better handled by the NVIDIA driver. In the process of reworking the OpenGL renderer code the OpenGL ES 3.0 requirement ends up being lowered to OpenGL ES 2.0 compliant implementations.
This code is still undergoing review but it looks positive for improving the GNOME Wayland multi-monitor experience where using the NVIDIA proprietary driver to power the secondary output(s).