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>
This commit is contained in:
Khem Raj
2020-03-12 16:02:38 -07:00
committed by Richard Purdie
parent 7e9fdd755d
commit ce000c5270
2 changed files with 12 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRC_URI = "file://init \
file://weston.env \
file://weston.ini \
file://weston@.service \
file://71-weston-drm.rules \
@@ -15,6 +16,7 @@ S = "${WORKDIR}"
do_install() {
install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston
install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini
install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
# Install Weston systemd service and accompanying udev rule
install -D -p -m0644 ${WORKDIR}/weston@.service ${D}${systemd_system_unitdir}/weston@.service
@@ -30,6 +32,14 @@ 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
@@ -40,9 +50,9 @@ RDEPENDS_${PN} = "weston kbd"
INITSCRIPT_NAME = "weston"
INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ."
FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service"
FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${systemd_system_unitdir}/weston@.service ${sysconfdir}/default/weston"
CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini"
CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini ${sysconfdir}/default/weston"
SYSTEMD_SERVICE_${PN} = "weston@%i.service"
SYSTEMD_AUTO_ENABLE = "disable"