]> code.ossystems Code Review - openembedded-core.git/commitdiff
weston: plane_add_prop() calls break musl atomic modesetting
authorKhem Raj <raj.khem@gmail.com>
Sat, 12 Sep 2020 21:04:04 +0000 (14:04 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 13 Sep 2020 12:58:38 +0000 (13:58 +0100)
This patch ensures, weston/drm backend works which ends up with blank
screen on musl based systems

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/wayland/weston-init.bb
meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch [new file with mode: 0644]
meta/recipes-graphics/wayland/weston_9.0.0.bb

index 95d75556dcfa2ae794ba1b8e4dda10c9c4313183..113f0ff5991c83d16626ba9cb24977506b901716 100644 (file)
@@ -38,14 +38,6 @@ do_install() {
        sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
 }
 
-do_install_append_libc-musl_qemux86() {
-        echo "WESTON_DISABLE_ATOMIC=Y" >> ${D}${sysconfdir}/default/weston
-}
-
-do_install_append_libc-musl_qemux86-64() {
-        echo "WESTON_DISABLE_ATOMIC=Y" >> ${D}${sysconfdir}/default/weston
-}
-
 inherit update-rc.d features_check systemd
 
 # rdepends on weston which depends on virtual/egl
diff --git a/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/meta/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch
new file mode 100644 (file)
index 0000000..a4444e5
--- /dev/null
@@ -0,0 +1,23 @@
+Fix atomic modesetting with musl
+
+atomic modesetting seems to fail with drm weston backend and this patch fixes
+it, below errors are seen before weston exits
+
+atomic: couldn't commit new state: Invalid argument
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/issues/158]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/libweston/backend-drm/kms.c
++++ b/libweston/backend-drm/kms.c
+@@ -1168,8 +1168,8 @@ drm_pending_state_apply_atomic(struct dr
+               wl_list_for_each(plane, &b->plane_list, link) {
+                       drm_debug(b, "\t\t[atomic] starting with plane %lu disabled\n",
+                                 (unsigned long) plane->plane_id);
+-                      plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
+-                      plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
++                      //plane_add_prop(req, plane, WDRM_PLANE_CRTC_ID, 0);
++                      //plane_add_prop(req, plane, WDRM_PLANE_FB_ID, 0);
+               }
+               flags |= DRM_MODE_ATOMIC_ALLOW_MODESET;
index 2c526e3016a53363111961981788c7519a94fc79..0b037a3770f769f65052d28b59fba1c2cc91a543 100644 (file)
@@ -12,6 +12,9 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
            file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
            file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \
 "
+
+SRC_URI_append_libc-musl = " file://dont-use-plane-add-prop.patch "
+
 SRC_URI[sha256sum] = "5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe"
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"