GNOME Bugzilla – Bug 780668
init_gbm platform confusion
Last modified: 2017-11-09 11:52:47 UTC
There is a bit of confusion in the GBM platform initialisation static gboolean init_gbm (MetaRendererNative *renderer_native, GError **error) in src/backends/native/meta-renderer-native.c The code checks for the extension: EGL_MESA_platform_gbm and if that is missing, you get the following error message: "Missing extension for GBM renderer: EGL_KHR_platform_gbm" I think the check should be for EGL_MESA_platform_gbm || EGL_KHR_platform_gbm as there are non-MESA platforms that use EGL_KHR_platform_gbm. One example of this is Mali GPU, which has a driver that supports Wayland and exports EGL_KHR_platform_gbm, but because mutter checks for EGL_MESA_platform_gbm, it fails initialising gbm.
This issue is still present in the create_renderer_gpu_data_gbm function in src/backends/native/meta-renderer-native.c, and is very easy to fix...
Care to provide a patch? I don't have access to any Mali GPU, so I can't test it myself.
Created attachment 362868 [details] [review] platform_gbm patch Proprietary drivers such as ARM Mali export EGL_KHR_platform_gbm instead of EGL_MESA_platform_gbm. As such, GBM platform check should be done for both MESA and non-MESA drivers.
The patch applies on top of mutter 3.26, I did not test with master...
Review of attachment 362868 [details] [review]: lgtm.
Pushed after fixing commit message.
Pushed to gnome-3-26 as well.
Nice, thank you Jonas.