Age | Commit message (Collapse) | Author |
|
Running the weston compositor as the root user is an insecure default
behavior for OE-core. We can do much better, at least when using
systemd. Change the recipe to create a dedicated "weston" user and start
weston as this user. The systemd service and socket units are no longer
template units, as there were several inconsistencies in the templates.
Instead, there is now a global /run/wayland-0 socket that gets created,
and systemd will start weston on demand when a client connects to that
socket or when attempting to reach graphical.target, whichever comes
first. This also allows downstream users to easily change the behavior
so that weston *only* starts on demand by adding a drop file. Access to
the global socket is controlled by a "wayland" group; any user that is a
member of the group can use the socket to talk to the compositor. This
also satisfies another use case where another systemd service might
start a graphical application that needs to display with weston (e.g. a
single function device in kiosk mode). Finally, the udev rules for
starting weston with the existance of a DRM device have been removed.
Being WantedBy= a graphical target should eliminate the need for this
behavior, and having it present makes it difficult for downstream users
to start weston on demand (having to override the udev rules).
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently the WESTON_USER variable is used as user and group name for
chown'ing XDG_RUNTIME_DIR. If WESTON_USER has no group with the same
name this fails.
Therefore add a new WESTON_GROUP variable which is set to WESTON_USER if
not specified to ensure backwards compatibility.
Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The /etc/default/weston file is already installed and it can be used
as systemd EnvironmentFile.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
qemux86/x86_64/aarch64 supports drm backend well, therefore enable it on
these qemu machines, other qemu machines should be defaulting to fbdev,
if its not qemu then leave it empty
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This works ok with latest weston/kernel to use drm backend
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently, weston when autolauched with systemd ends up with seat0
related errors because its launched before seat0 is assigned.
Fixes
[05:16:09.357] logind: failed to get session seat
[05:16:09.358] logind: cannot setup systemd-logind helper (-61), using legacy fallback
The above error results in ptest failures in parselogs, even though
weston has started ok using fallback methods, these errors are still seen in logs
Also fixes weston ptests
RESULTS - weston.WestonTest.test_weston_can_initialize_new_wayland_compositor: PASSED (8.58s)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Henning Heinold <henning@itconsulting-heinold.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
/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>
|
|
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>
|
|
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>
|
|
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>
|