summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/wayland/weston-init
AgeCommit message (Collapse)Author
2022-01-19Revert "weston: Use systemd notify,"Marek Vasut
Commit 4efdcc1090 ("weston: Use systemd notify,") has non-trivial to backport dependencies without which it cannot work, revert backport. In oe-core dunfell, weston is still started using /usr/bin/weston-start script in meta/recipes-graphics/wayland/weston-init/weston@.service . Since 76ed534267 ("weston-init: Use weston-launch when starting weston as the first windowing system"), the weston-start script starts weston using weston-launch executable in case $DISPLAY is not set, i.e. when weston is started as the primary compositor. When weston is started via weston-launch, the notification to systemd is not delivered, and weston service fails to start with the following: " weston@root.service: start operation timed out. Terminating. " The weston systemd service has been reworked considerably since oe-core dunfell in commit c21fa5a291 ("weston-init: Redefine weston service and add socket activation option"), which replaced the use of weston-start in weston@.service with plain weston, and has been further improved in commit dd83fb40f7 ("weston-init: Stop running weston as root") . The commit reverted here, oe-core/master commit c8aa0222ce ("weston: wrapper for weston modules argument"), landed only with the two aforementioned reworks already in place, therefore the commit could have never been tested with weston started via weston-launch executable and the timeout at delivering systemd notification could not have happened in master. Both c21fa5a291 ("weston-init: Redefine weston service and add socket activation option") and dd83fb40f7 ("weston-init: Stop running weston as root") are large feature patches and thus unsuitable for stable backports, hence this revert seems to be the least problematic way. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com> Cc: Joshua Watt <JPEWhacker@gmail.com> Cc: Pavel Zhukov <pavel.zhukov@huawei.com> Cc: Steve Sakoman <steve@sakoman.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
2021-10-19weston: Use systemd notify,Pavel Zhukov
Using systemd notify fixes the problem with dependency chain in case if other services depend on running weston. This change required more robust handling of weston modules arguments due to custom argument parser impmentation in weston (only last --modules argument is accepted) and fixes the bug in modules handling in the weston-start script (only last argument is actually parsed by weston). Master branch implements systemd-notify thus backport but doesn't utilize modules anymore so this change is mostly dunfell specific. Upstream-status: Backport Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
2021-03-04weston-init: Fix weston-keyboard path in weston.iniMarek Vasut
The weston-keyboard executable is installed into /usr/libexec instead of /usr/lib/weston , correct the path in weston.ini . Signed-off-by: Marek Vasut <marex@denx.de> Cc: Khem Raj <raj.khem@gmail.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 56dee47a5ddb1da66d30f894a282d0658dcc930c) Signed-off-by: Steve Sakoman <steve@sakoman.com>
2020-03-12weston-init: Launch weston with WESTON_DISABLE_ATOMIC on musl/x86Khem Raj
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 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12weston-init: Allow use of weston without input devicesDomarys Correa
Don't force users to have input device in your targets. As the default option require-input is set to true, Weston only starts if we have a device in /dev/input/event* and this not a requirement for all applications, e.g. kiosk browser. Signed-off-by: Domarys Correa <domarys.correa@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-21weston-init: use the drm/kms backend rather than fbdev one for qemux86 machinesAlexander Kanavin
The fbdev backend is not documented, and not the default; as the emulated hardware in qemu now supports DRM/KMS (both std and virtio), we should align with upstream default and vast majority of users. Empty init file will cause weston to default to the KMS backend. Note that 3D acceleration via virgl is not required; the backend renders fine via the software driver in mesa. However, kvm is more or less required to keep the UI responsive. Also, other qemu targets (mips and arm in particular) continue to use the fbdev backend, as in the absence of kvm, the performance of software GL paths falls to unacceptable level. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-11weston-init: Let weston run without pam on distros without pamKhem Raj
When pam is not part of distro, user specific XDG_* environment variables are not available since PAMName=login is in-effective and as a result weston can not start because it direly needs XDG_RUNTIME_DIR defined, therefore launching weston directly in systemd service will not work, therefore call the helper script weston-start, which is also used with sysvinit extend enabling fbdev backend fallback to all qemu machines Reported-by: Marek Vasut <marex@denx.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19weston-init: Add possibility to run weston as non-root userKhem Raj
These changes are from meta-96boards primarily Launch the session via a udev rule based on what kind of display device is available delete weston-conf and move the fuctionality into weston-init other layers are doing same weston-init installs machine specific weston.ini therefore mark is machine specific now Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-13weston-init: Fix WESTON_USER typoBreno Leitao
Commit 837c786d600ba69('weston-init: Add support for non-root start') added a typo that uses WEST_USER instead of WESTON_USER variable when chwon'ing the XDG_RUNTIME_DIR directory. Since WEST_USER is not defined, it will `chown :$WESTON_USER file`, which will work, but that is not 100% correctly and should be fixed. This patch basically fix the typo and now the file will be chown'ed to the WESTON_USER user. Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-12weston-init: Add support for non-root startBreno Leitao
This commit adds support for two variables (WESTON_USER and WESTON_TTY) that would be passed to weston_launch. It allows starting weston as a non-root user. Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-12weston-init: Fix tab indentationBreno Leitao
This patch simply fixes space and tab mixes. It converts space to tabs. This is being done since I am going to change the code in the next commit and I do not want to change more lines than it is required, thus, I am creating a commit just to fix indentation, so I can create a cleaner patch later. Signed-off-by: Breno Leitao <leitao@debian.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-20weston-init: run login before start weston.serviceWang Quanyang
When systemd start the weston.service, the script "weston-start" will check if the dir "XDG_RUNTIME_DIR" (usually is /run/user/0) exits and create it. Then weston will create a socket file "wayland-0" for communications with clients in this dir. If systemd is built with enabling "pam" feature, the login will call "run-user-0.mount" to mount tmpfs at the dir "/run/user/0", then the socket file "wayland-0" will be missing since it is created in the old "/run/user/0". So add "PAMName=login" to let weston.service call login first, once tmpfs is mounted at "/run/user/0", then call weston-start to create a socket file in it. Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-25weston-init: De-couple framebuffer console from Weston for systemd startupTom Hochstein
The framebuffer console was using the same I/O as Weston. We fix this by having openvt switch to the new VT when starting weston-launch, same as is already done for the sysvinit case. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-25weston-init: Fix weston-start to handle 0 or 1 argsTom Hochstein
The parser incorrectly treated anything less than 2 args as an error. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-25weston-init: Fix weston-start to allow weston args without openvt argsTom Hochstein
The parser didn't properly handle commands of the form weston-start -- <weston-options>. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-12weston-init: Don't change XDG_RUNTIME_DIR if it already existsTom Hochstein
In the case that XDG_RUNTIME_DIR already exists, the mkdir --parents at least does nothing, but the chmod could overwrite the desired file mode settings. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-12weston-init: Use bitbake path variableTom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-21weston-init: Use weston-launch when starting weston as the first windowing ↵Tom Hochstein
system When weston is started as the first windowing system (i.e. not under X nor under another Wayland server), it should be done with the command weston-launch to set up proper privileged access to devices. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-21weston-init: Add module support for the weston-start helperOtavio Salvador
To make weston-start more flexible we now support module loading. For such modules, following functions can be used: - add_weston_argument - add_openvt_argument Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-21weston-init: Error out if loading a nested instanceOtavio Salvador
The Weston nested instance support is not implemented. This errors out displaying an informative error message so someone insterested on it may look at implement this later. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-21weston-init: Rework init sequence to avoid code duplicationOtavio Salvador
The new 'weston-start' script redcues the code duplication for SysV and SystemD based images. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-05-21weston: Fix SystemD service descriptionOtavio Salvador
This improves the log shown in boot. Now it shows: [ OK ] Started Weston Wayland Compositor Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-12weston-init: add a native systemd unit fileAlexander Kanavin
Previously weston was started by systemd via a classic init script [YOCTO #5582] Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-05-09weston-init: support system's configuration filePhilippe Coval
Look for OPTARGS variable in /etc/default/weston and set it as weston's service default options. This can be used to force system's supported backend. Change-Id: I0562c9326df5b46226093199873ef58d77aeae75 Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12weston-init: use /run instead of /var/runRoss Burton
/var/run is just a symlink to /run now, so use /run directly. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-08weston-init: start weston on a new VTRoss Burton
Weston 1.3 needs to run on a VT, which is typically handled by weston-launch. Currently weston-init doesn't use weston-launch as that depends on the (non-default) pam DISTRO_FEATURE, so depend on kbd and use openvt directly. This also fixes problems caused by the init script blocking until Weston exits, which meant that later init scripts were not actually running. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-25weston-init: fix a typo in a user-visible messageRoss Burton
This is the weston init script, not X. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-04weston-init: basic init script to start Weston on KMS/DRMRoss Burton
weston-init is a very basic init script to start Weston as root on KMS/DRM. To re-iterate, this runs Weston as root. This will be fixed to use weston-launch shortly. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>