diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-03-12 16:02:38 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-03-13 11:32:10 +0000 |
commit | ce000c5270e6c2ca66595f4f924a8e79aa6490b5 (patch) | |
tree | bfd87a42a5e903f851905ddd273d3f94a03eb5ae | |
parent | 7e9fdd755d2234a3894f15704a6172bab4f5d0d4 (diff) | |
download | poky-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.bb | 14 | ||||
-rw-r--r-- | meta/recipes-graphics/wayland/weston-init/weston.env | 0 |
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 | |||
5 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 5 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
6 | 6 | ||
7 | SRC_URI = "file://init \ | 7 | SRC_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}" | |||
15 | do_install() { | 16 | do_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 | ||
35 | do_install_append_libc-musl_qemux86() { | ||
36 | echo "WESTON_DISABLE_ATOMIC=Y" >> ${D}${sysconfdir}/default/weston | ||
37 | } | ||
38 | |||
39 | do_install_append_libc-musl_qemux86-64() { | ||
40 | echo "WESTON_DISABLE_ATOMIC=Y" >> ${D}${sysconfdir}/default/weston | ||
41 | } | ||
42 | |||
33 | inherit update-rc.d features_check systemd | 43 | inherit 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" | |||
40 | INITSCRIPT_NAME = "weston" | 50 | INITSCRIPT_NAME = "weston" |
41 | INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." | 51 | INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." |
42 | 52 | ||
43 | FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service" | 53 | FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service ${sysconfdir}/default/weston" |
44 | 54 | ||
45 | CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini" | 55 | CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston" |
46 | 56 | ||
47 | SYSTEMD_SERVICE_${PN} = "weston@%i.service" | 57 | SYSTEMD_SERVICE_${PN} = "weston@%i.service" |
48 | SYSTEMD_AUTO_ENABLE = "disable" | 58 | SYSTEMD_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 | |||