raster pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=8dba566c4b82218e9995e8a32cc33b40a2dfc045
commit 8dba566c4b82218e9995e8a32cc33b40a2dfc045 Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> Date: Mon Jul 22 00:36:07 2019 +0100 ecore wl2 - fall back to shm if dmabuf fails in buf init so even if shm was an allowed mode/flag, we never fell back to shm if dmabufs were not possible (/dev/dri/renderD128 didn't exist or wansn't open-able). that's decidedly a bad thing to do. @fix --- src/lib/ecore_wl2/ecore_wl2_buffer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_buffer.c b/src/lib/ecore_wl2/ecore_wl2_buffer.c index 8e2e164546..faa811a447 100644 --- a/src/lib/ecore_wl2/ecore_wl2_buffer.c +++ b/src/lib/ecore_wl2/ecore_wl2_buffer.c @@ -595,12 +595,17 @@ ecore_wl2_buffer_init(Ecore_Wl2_Display *ewd, Ecore_Wl2_Buffer_Type types) if (!getenv("EVAS_WAYLAND_SHM_DISABLE_DMABUF") && dmabuf) { fd = open("/dev/dri/renderD128", O_RDWR | O_CLOEXEC); - if (fd < 0) goto err_drm; + if (fd < 0) + { + ERR("Tried to use dmabufs, but can't find /dev/dri/renderD128 . Falling back to regular SHM"); + goto fallback_shm; + } success = _intel_buffer_manager_setup(fd); if (!success) success = _exynos_buffer_manager_setup(fd); if (!success) success = _vc4_buffer_manager_setup(fd); } +fallback_shm: if (!success) success = shm && _wl_shm_buffer_manager_setup(0); if (!success) goto err_bm; @@ -610,7 +615,6 @@ ecore_wl2_buffer_init(Ecore_Wl2_Display *ewd, Ecore_Wl2_Buffer_Type types) err_bm: if (fd >= 0) close(fd); -err_drm: free(buffer_manager); buffer_manager = NULL; err_alloc: --