GNOME 3.32 Mutter Should Perform A Lot Better For DisplayLink/USB-Display Type Setups
An improvement was merged today to GNOME's Mutter compositor / window manager that should allow it to perform much better in multi-GPU setups, particularly for scenarios where the display is driven via a USB-based DisplayLink adapter.
The change to Mutter's renderer code uses Cogl for the CPU copy path rather than the OpenGL glreadPixels() function. Plus it adds some pixel format conversion tables between DRM and Cogl formats.
The technical details are outlined in the patch by Pekka Paalanen. That patch is queued in the 3.31 development series ahead of the March debut of GNOME 3.32.
What's exciting though is the performance benefit particularly on slower/older systems with these multi-GPU/DisplayLink setups: "On HP ProBook 4520s laptop (Mesa DRI Intel(R) Ironlake Mobile, Mesa 18.0.5), without this patch copy_shared_framebuffer_cpu () for a DisplayLink output takes 5 seconds with a 1080p frame. Obviously that makes Mutter and gnome-shell completely unusable. With this patch, that function takes 13-18 ms which makes it usable if not fluent."
The change to Mutter's renderer code uses Cogl for the CPU copy path rather than the OpenGL glreadPixels() function. Plus it adds some pixel format conversion tables between DRM and Cogl formats.
The technical details are outlined in the patch by Pekka Paalanen. That patch is queued in the 3.31 development series ahead of the March debut of GNOME 3.32.
What's exciting though is the performance benefit particularly on slower/older systems with these multi-GPU/DisplayLink setups: "On HP ProBook 4520s laptop (Mesa DRI Intel(R) Ironlake Mobile, Mesa 18.0.5), without this patch copy_shared_framebuffer_cpu () for a DisplayLink output takes 5 seconds with a 1080p frame. Obviously that makes Mutter and gnome-shell completely unusable. With this patch, that function takes 13-18 ms which makes it usable if not fluent."
7 Comments