summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-03-12 16:02:38 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-03-13 11:32:10 +0000
commitce000c5270e6c2ca66595f4f924a8e79aa6490b5 (patch)
treebfd87a42a5e903f851905ddd273d3f94a03eb5ae
parent7e9fdd755d2234a3894f15704a6172bab4f5d0d4 (diff)
downloadpoky-ce000c5270e6c2ca66595f4f924a8e79aa6490b5.tar.gz
weston-init: Launch weston with WESTON_DISABLE_ATOMIC on musl/x86
Since we enabled drm/kms backend for qemux86, it does not work with musl fdbdev worked ok, we see this error [18:58:45.628] launching '/usr/libexec/weston-desktop-shell' [18:58:45.737] atomic: couldn't commit new state: Invalid argument [18:58:45.737] repaint-flush failed: Invalid argument There seems to be some problem with atomics in libdrm, until that gets diagnosed, simple solution is to not use it on musl when drm backend is used thats why WESTON_DISABLE_ATOMIC=Y is set in environment file for such cases (From OE-Core rev: e571ef707d76cf3aceb0d56fd588b37f9b5092ff) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-graphics/wayland/weston-init.bb14
-rw-r--r--meta/recipes-graphics/wayland/weston-init/weston.env0
2 files changed, 12 insertions, 2 deletions
diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb
index e3e739e2b7..40aa76295f 100644
--- a/meta/recipes-graphics/wayland/weston-init.bb
+++ b/meta/recipes-graphics/wayland/weston-init.bb
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
5PACKAGE_ARCH = "${MACHINE_ARCH}" 5PACKAGE_ARCH = "${MACHINE_ARCH}"
6 6
7SRC_URI = "file://init \ 7SRC_URI = "file://init \
8 file://weston.env \
8 file://weston.ini \ 9 file://weston.ini \
9 file://weston@.service \ 10 file://weston@.service \
10 file://71-weston-drm.rules \ 11 file://71-weston-drm.rules \
@@ -15,6 +16,7 @@ S = "${WORKDIR}"
15do_install() { 16do_install() {
16 install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston 17 install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
17 install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini 18 install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
19 install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
18 20
19 # Install Weston systemd service and accompanying udev rule 21 # Install Weston systemd service and accompanying udev rule
20 install -D -p -m0644 ${WORKDIR}/weston@.service ${D}${systemd_system_unitdir}/weston@.service 22 install -D -p -m0644 ${WORKDIR}/weston@.service ${D}${systemd_system_unitdir}/weston@.service
@@ -30,6 +32,14 @@ do_install() {
30 sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start 32 sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start
31} 33}
32 34
35do_install_append_libc-musl_qemux86() {
36 echo "WESTON_DISABLE_ATOMIC=Y" >> ${D}${sysconfdir}/default/weston
37}
38
39do_install_append_libc-musl_qemux86-64() {
40 echo "WESTON_DISABLE_ATOMIC=Y" >> ${D}${sysconfdir}/default/weston
41}
42
33inherit update-rc.d features_check systemd 43inherit update-rc.d features_check systemd
34 44
35# rdepends on weston which depends on virtual/egl 45# rdepends on weston which depends on virtual/egl
@@ -40,9 +50,9 @@ RDEPENDS_${PN} = "weston kbd"
40INITSCRIPT_NAME = "weston" 50INITSCRIPT_NAME = "weston"
41INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." 51INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
42 52
43FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service" 53FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service ${sysconfdir}/default/weston"
44 54
45CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini" 55CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
46 56
47SYSTEMD_SERVICE_${PN} = "weston@%i.service" 57SYSTEMD_SERVICE_${PN} = "weston@%i.service"
48SYSTEMD_AUTO_ENABLE = "disable" 58SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta/recipes-graphics/wayland/weston-init/weston.env b/meta/recipes-graphics/wayland/weston-init/weston.env
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/recipes-graphics/wayland/weston-init/weston.env