mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-04 14:39:54 +00:00
mutter: initial add 3.34.1
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> V1 -> V2: * rework PACKAGECONFIGs: particularly glx has to be added to opengl/x11 / remove remote-desktop * add patch to fix GLES2 fallback for ancient targets Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
From f4f7e31303d78b2a8a0881b61311b8d750301b8f Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Tue, 29 Oct 2019 11:53:27 -0400
|
||||
Subject: [PATCH] cogl: Fix GLES2 fallback
|
||||
|
||||
Say you're using intel gen3, you poor soul. Your big-GL maxes out at 1.5
|
||||
unless you use dirty tricks, but you do have GLES2. We try to fall back
|
||||
to GLES in this case, but we only ever say eglBindAPI(EGL_OPENGL_API).
|
||||
So when we go to do CreateContext, even though we think we've requested
|
||||
GLES 2.0, the driver will compare that "2.0" against the maximum big-GL
|
||||
version, and things will fail.
|
||||
|
||||
Fix this by binding EGL_OPENGL_ES_API before trying a GLES context.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/mutter/issues/635
|
||||
|
||||
Upstream-Status: Applied
|
||||
---
|
||||
cogl/cogl/winsys/cogl-winsys-egl.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/cogl/cogl/winsys/cogl-winsys-egl.c b/cogl/cogl/winsys/cogl-winsys-egl.c
|
||||
index 99dcb8bf3..f2b439a67 100644
|
||||
--- a/cogl/cogl/winsys/cogl-winsys-egl.c
|
||||
+++ b/cogl/cogl/winsys/cogl-winsys-egl.c
|
||||
@@ -329,6 +329,8 @@ try_create_context (CoglDisplay *display,
|
||||
if (renderer->driver == COGL_DRIVER_GL ||
|
||||
renderer->driver == COGL_DRIVER_GL3)
|
||||
eglBindAPI (EGL_OPENGL_API);
|
||||
+ else if (renderer->driver == COGL_DRIVER_GLES2)
|
||||
+ eglBindAPI (EGL_OPENGL_ES_API);
|
||||
|
||||
egl_attributes_from_framebuffer_config (display,
|
||||
&display->onscreen_template->config,
|
||||
--
|
||||
2.21.0
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
SUMMARY = "Window and compositing manager based on Clutter"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
DEPENDS = " \
|
||||
xserver-xorg-cvt-native \
|
||||
virtual/libx11 \
|
||||
gtk+3 \
|
||||
gdk-pixbuf \
|
||||
cairo \
|
||||
pango \
|
||||
gsettings-desktop-schemas \
|
||||
json-glib \
|
||||
gnome-desktop3 \
|
||||
gnome-settings-daemon \
|
||||
libxtst \
|
||||
libxkbfile \
|
||||
xinerama \
|
||||
"
|
||||
|
||||
GNOMEBASEBUILDCLASS = "meson"
|
||||
|
||||
inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even features_check
|
||||
|
||||
SRC_URI[archive.md5sum] = "4d7b67471fa4177e5ff0357e1f1736fb"
|
||||
SRC_URI[archive.sha256sum] = "ba1826cf88bdb81e63943cac014a8e8bcf35ec178c53264401f9c72fdeab758e"
|
||||
SRC_URI += "file://0001-cogl-Fix-GLES2-fallback.patch"
|
||||
|
||||
# x11 is still manadatory - see meson.build
|
||||
REQUIRED_DISTRO_FEATURES = "x11"
|
||||
|
||||
# systemd can be replaced by libelogind (not available atow - make systemd
|
||||
# mandatory distro feature)
|
||||
LOGIND ?= "systemd"
|
||||
REQUIRED_DISTRO_FEATURES += "systemd"
|
||||
|
||||
# profiler requires sysprof 3.34 which is not willing to build atow
|
||||
PACKAGECONFIG ??= " \
|
||||
native-backend \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl glx', '', d)} \
|
||||
sm \
|
||||
startup-notification \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl wayland', 'wayland', '', d)} \
|
||||
"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Dxwayland_path=${bindir}/Xwayland \
|
||||
"
|
||||
|
||||
# combi-config - see meson_options.txt for more details
|
||||
PACKAGECONFIG[native-backend] = "-Dnative_backend=true -Dudev=true, -Dnative_backend=false -Dudev=false, libdrm virtual/libgbm libinput ${LOGIND} virtual/egl virtual/libgles2 udev"
|
||||
PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=true, virtual/libgl"
|
||||
PACKAGECONFIG[glx] = "-Dglx=true, -Dglx=false"
|
||||
PACKAGECONFIG[libwacom] = "-Dlibwacom=true, -Dlibwacom=false, libwacom"
|
||||
PACKAGECONFIG[remote-desktop] = "-Dremote_desktop=true, -Dremote_desktop=false, pipewire"
|
||||
PACKAGECONFIG[sm] = "-Dsm=true, -Dsm=false, libsm"
|
||||
PACKAGECONFIG[profiler] = "-Dprofiler=true,-Dprofiler=false,sysprof"
|
||||
PACKAGECONFIG[startup-notification] = "-Dstartup_notification=true, -Dstartup_notification=false, startup-notification, startup-notification"
|
||||
PACKAGECONFIG[wayland] = "-Dwayland=true,-Dwayland=false,wayland wayland-native, xserver-xorg-xwayland"
|
||||
PACKAGECONFIG[wayland-eglstream] = "-Dwayland_eglstream=true,-Dwayland_eglstream=false"
|
||||
|
||||
# yes they changed from mutter-4 -> mutter-5 recently so be perpared
|
||||
MUTTER_API_NAME = "mutter-5"
|
||||
|
||||
do_install_append() {
|
||||
# Add gir links in standard paths. That makes dependents life much easier
|
||||
# to find them
|
||||
install -d ${D}${datadir}/gir-1.0
|
||||
for gir_full in `find ${D}${libdir}/${MUTTER_API_NAME} -name '*.gir'`; do
|
||||
gir=`basename "$gir_full"`
|
||||
ln -sr "${D}${libdir}/${MUTTER_API_NAME}/$gir" "${D}${datadir}/gir-1.0/$gir"
|
||||
done
|
||||
}
|
||||
|
||||
PACKAGES =+ "${PN}-tests"
|
||||
|
||||
FILES_${PN} += " \
|
||||
${datadir}/gnome-control-center \
|
||||
${libdir}/${MUTTER_API_NAME}/lib*${SOLIBS} \
|
||||
${libdir}/${MUTTER_API_NAME}/*.typelib \
|
||||
${libdir}/${MUTTER_API_NAME}/plugins \
|
||||
"
|
||||
|
||||
FILES_${PN}-tests += " \
|
||||
${datadir}/installed-tests \
|
||||
${datadir}/${MUTTER_API_NAME}/tests \
|
||||
${libexecdir}/installed-tests/${MUTTER_API_NAME} \
|
||||
"
|
||||
|
||||
FILES_${PN}-dev += " \
|
||||
${libdir}/${MUTTER_API_NAME}/*.gir \
|
||||
${libdir}/${MUTTER_API_NAME}/lib*.so \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN} += "zenity"
|
||||
|
||||
Reference in New Issue
Block a user