summaryrefslogtreecommitdiff
path: root/meson_options.txt
Commit message (Collapse)AuthorAgeFilesLines
* backend-pipewire: add PipeWire backendPhilipp Zabel2023-04-181-0/+6
| | | | | | | | | | | | | | | | | | | Add a separate PipeWire backend based on the PipeWire plugin. The backend requires PipeWire 0.3.x. The PipeWire backend can be used as a standalone-backend backend for streaming and composing Wayland clients to PipeWire. The backend supports the on-demand creation of heads via the weston_pipewire_output_api_v1. It also supports per-output pixel format configuration via a gbm-format option. Multiple PipeWire outputs can be created by setting the num-outputs option in the [pipewire] section. Co-authored-by: Michael Tretter <m.tretter@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
* backend-vnc: add VNC support using Neat VNC libraryStefan Agner2022-10-181-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds basic VNC protocol support using the Neat VNC library (https://github.com/any1/neatvnc). Neat VNC depends on the AML main loop library. The backend makes use of AML's integrated epoll backend and connects AML via file descriptor with the Wayland event loop. This implementation does not support authentication and hardcodes the pixel format currently. Co-authored-by: Philipp Zabel <p.zabel@pengutronix.de> Co-authored-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> Signed-off-by: Stefan Agner <stefan@agner.ch> [r.czerwinski@pengutronix.de: - use new (as of 0.5.0) Neat VNC buffer API, with a buffer pool] Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de> [p.zabel@pengutronix.de: - transform repaint damage to output coordinates - transform pointer coordinates into global space - check that outputs and heads are in fact ours, see aab722bb1785..060ef82d9360 - track damage across multiple frame buffers - choose pixel format by drm_fourcc, see 8b6c3fe0ad4b - enable ctrl and alt modifiers - fix frame timing to achieve a constant repaint rate - pass initial size explicitly, see f4559b076008 - use resize_output with pixman-renderer, see 55d08f9634e8..84b5d0eb4bee - allow configuring the refresh rate] Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
* build: deprecate launcher-logindSimon Ser2022-10-101-3/+3
| | | | | | | | | | Deprecate launcher-logind and disable it by default. launcher-libseat supports logind, so this shouldn't cause any regression. Signed-off-by: Simon Ser <contact@emersion.fr> References: https://gitlab.freedesktop.org/wayland/weston/-/issues/488
* compositor: deprecate cms-static and cms-colord pluginsPekka Paalanen2022-07-061-3/+9
| | | | | | | | | | | | | | While developing the new color management, keeping these old plugins working would require extra work. Let's deprecate these to see if anyone cares about them, pending removal after the Weston 11.0.0 release. CI will keep building these in the "Full build" configuration only. Doc and no-GL builds are no different for these plugins, so there these are no longer built. See https://gitlab.freedesktop.org/wayland/weston/-/issues/634 Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* build: enable configuration of RDP backend as a defaultHideyuki Nagase2022-06-101-1/+1
| | | | | | | | | | | | Add RDP to the list of backends we can set as default for use when weston is launched without display/socket environment vars set. Co-authored-by: Steve Pronovost <spronovo@microsoft.com> Co-authored-by: Brenton DeGeer <brdegeer@microsoft.com> Signed-off-by: Hideyuki Nagase <hideyukn@microsoft.com> Signed-off-by: Steve Pronovost <spronovo@microsoft.com> Signed-off-by: Brenton DeGeer <brdegeer@microsoft.com>
* Revert "build: add test-gl-renderer option"Pekka Paalanen2022-06-021-6/+0
| | | | | | | | | | | | | | | | This reverts commit 1618697dc3db9e63ed601be7cbc2fb5e84c94b41. The original commit was a workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/2219 which was fixed in Mesa: - c7617d8908a970124321ce731b43d5996c3c5775 released as 20.1.0-rc1 - a0e6341fe4417e41cda0b19e4fa7f8bbe4e1dba1 released as 19.3.5 - f27e5d9df5bc9c85d45c2cb1f2a4997b453365fe released as 20.0.0 This workaround should not be necessary anymore, we don't use it in our CI, and it was manual to begin with. Therefore remove it. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* build: drop unused option rdp-thread-checkPekka Paalanen2022-06-011-6/+0
| | | | | | Clean up leftovers from 2df71c6dd7f82a07f4ae6a8be69e7f94dd2cdec1. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* rdp: Add cross thread work queuesHideyuki Nagase2022-05-191-0/+6
| | | | | | | | | | | | | | FreeRDP has some features that start new threads and run callback functions in them. We need a way to punt work from these threads back to the compositor thread. Co-authored-by: Steve Pronovost <spronovo@microsoft.com> Co-authored-by: Brenton DeGeer <brdegeer@microsoft.com> Signed-off-by: Hideyuki Nagase <hideyukn@microsoft.com> Signed-off-by: Steve Pronovost <spronovo@microsoft.com> Signed-off-by: Brenton DeGeer <brdegeer@microsoft.com>
* libweston: remove fbdev backendPekka Paalanen2022-03-151-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fbdev backend was deprecated in the Weston 10.0.0 release with 6338dbd5816689b2f08f48b359a972e16ff038d8. Before that, I suggested already in 2019 to remove it, but it was too soon then. Now it seems the final voices asking for fbdev to be kept have been satisfied, see the linked issue. Fbdev-backend uses a kernel graphics UAPI (fbdev) which is sub-par for a Wayland compositor: you cannot do GPU accelerated graphics in any reasonable way, no hotplug support, multi-output support is tedious, and so on. Most importantly, Linux has deprecated fbdev a long time ago due to the UAPI fitting modern systems and use cases very poorly, but cannot get rid of it if any users remain. Let's do here what we can to reduce fbdev usage. I am doing color management related additions to libweston which require adding checks to every backend. One backend less is less churn to write and review. Libweston major version has already been bumped to 11, so the next release will be Weston 11, without fbdev. enum weston_compositor_backend entries change their numerical values. Fixes: https://gitlab.freedesktop.org/wayland/weston/-/issues/581 Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* remove wl_shellDerek Foreman2022-03-081-7/+0
| | | | | | This has been deprecated long enough, I think it's time to say goodbye. Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
* build: enable libseat support by defaultPekka Paalanen2022-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | Now that launcher-direct and weston-launch are gone, libseat takes their place. Enable libseat support by default to give users a hint in case they miss either of those. People who used to get launcher-logind when libseat support was disabled will now be using logind through libseat. This should not cause any regressions, and if it does, we want to hear about them, because the separate logind-launcher is also planned to be deprecated in the future. Disabling logind-launcher by default is left for when it actually gets deprecated. In case someone does not have libseat available but do have logind running, they can just disable libseat support. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* launchers: remove launchersDerek Foreman2022-03-031-7/+0
| | | | | | | | | | | | | | Moving forward we're going to be supporting libseat and logind as our only launchers. We're doing this to reduce our maintenance burden, and security impact. Libseat supports all our existing use cases, and seatd can replace weston-launch so we no longer have to carry a setuid-root program. This patch removes weston-launch, and launcher-direct, leaving only libseat and logind. Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
* meson: Rename to deprecated-weston-launchKenny Levinsen2022-01-271-1/+1
| | | | | | | This ensures that users that previously set the option explicitly will also have a chance to notice the deprecation. Signed-off-by: Kenny Levinsen <kl@kl.wtf>
* meson: Set weston-launch as disabled by defaultKenny Levinsen2022-01-271-2/+2
| | | | | | | While the option is still available, this brings more attention to the upcoming deprecation of weston-launch. Signed-off-by: Kenny Levinsen <kl@kl.wtf>
* build: deprecate fbdev backendSimon Ser2022-01-251-3/+3
| | | | | | | | | | | | Rename the build option to "deprecated-backend-fbdev" so that a previously configured build dir doesn't retain the old setting. This is consistent with the existing "deprecated-wl-shell" option. Make the option default to "false". Print a warning when fbdev is force-enabled. Signed-off-by: Simon Ser <contact@emersion.fr> References: https://gitlab.freedesktop.org/wayland/weston/-/issues/581
* clients: add client to test the dma-buf feedback implementationLeandro Ribeiro2021-11-251-1/+1
| | | | | | | | | | Simple client to test the dma-buf feedback implementation. This does not replace the need to implement a dma-buf feedback test that can be run in the CI. But as we still don't know exactly how to do this, this client can be helpful to run tests manually. Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
* libweston-desktop: introduce a deprecated-wl-shell optionSimon Ser2021-07-231-0/+7
| | | | | | | | | | | | This is the first step towards removing wl_shell support. Add an option so that users can toggle support for the deprecated wl_shell protocol. This lets users test their clients to make sure they work fine without wl_shell. The option is set to false by default. Signed-off-by: Simon Ser <contact@emersion.fr>
* libweston: begin color-lcms pluginPekka Paalanen2021-06-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This creates the color-lcms plugin that in the future will be using Little CMS as the color matching module, processing ICC profiles, and producing HDR tone mappings. Right now, this new plugin is functionally equivalent to the no-op color manager, except it already links to lcms2 and checks that the renderer supports color operations. Color-lcms is a libweston plugin that is loaded with explicit weston_compositor API. This does not currently allow loading alternative color manager plugins. External color manager plugins might be considered in the future when the libweston APIs around color management stabilize. This libweston plugin uses the same build option as the old cms-static Weston plugins, as they both need lcms2. The minimum version for lcms2 was chosen by what Debian Buster provides today and for no other reason. This plugin intends to support the Wayland CM&HDR protocol extension and hence sets supports_client_protocol to true. This will expose the protocol extension to clients when it gets implemented. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* libweston/launcher: libseat backendKenny Levinsen2021-04-141-0/+7
| | | | | | | | | | This adds support for libseat as a seat backend. libseat provides seatd, (e)logind and direct seat backends as compile-time and runtime options. The backend is currently disabled by default. It can be enabled through the launcher-libseat option. Signed-off-by: Kenny Levinsen <kl@kl.wtf>
* tests: add build option to force skips as failuresPekka Paalanen2021-03-121-0/+6
| | | | | | | | This will be useful in CI, where we do not want to see any skips. If something starts to skip, that's a mistake somewhere, and want to catch it. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* kiosk-shell: Introduce kiosk/fullscreen shell for desktop appsAlexandros Frantzis2020-07-301-0/+6
| | | | | | | | | | | | | | | | | | | kiosk-shell is fullscreen shell for apps that use the xdg-shell protocol. The goal is to make life easier for people shipping embedded devices with simple fullscreen shell requirements, and reduce the proliferation of desktop-shell hacks. Top level surfaces are made fullscreen, whereas dialogs are placed on top in the center of the output and retain their natural sizes. Dialogs can be moved and (un)maximized, but resizing is currently not supported. An app can be directed to a particular output by populating the "app-ids" field with the app's XDG app id, in the relevant "[output]" section in the weston config file. Fixes: #277 Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
* build: add test-gl-renderer optionPekka Paalanen2020-02-051-0/+6
| | | | | | | | | This shall be used by CI due to https://gitlab.freedesktop.org/mesa/mesa/issues/2219 It defaults to true, meaning that people by default will be running the GL-renderer tests. It works fine on hardware drivers, just not llvmpipe. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
* clients: drop simple-dmabuf-drmSimon Ser2019-11-281-7/+0
| | | | | | | | | | | | | | | | | | This client contains driver-specific code to allocate buffers. However clients shouldn't contain driver-specific code and should rely on e.g. mesa to allocate buffers via standard interfaces. Additionally, because the build system always tries to enable all features, some experimental drivers and drivers that aren't included in amd64 distribution packages were required. Users would need to manually disable some drivers. Releasers would need to install libdrm from source (because the release process forbids adding custom build flags). Dropping simple-dmabuf-drm simplifies both building and releasing. The functionality previously tested via simple-dmabuf-drm can now be tested with simple-dmabuf-egl. Signed-off-by: Simon Ser <contact@emersion.fr>
* Add pipewire pluginMichael Olbrich2019-07-191-0/+7
| | | | | | | | | | | | | | It is quite similar to the remoting plugin. It just exports the frames via pipewire instead of the builtin GStreamer pipeline. It implements the same virtual output API. Virtual outputs can be created by adding 'pipewire-output' sections to weston.ini. The generated frames can be accessed with any pipewire client. e.g. with GStreamer: gst-launch-1.0 pipewiresrc ! video/x-raw,format=BGRx ! ... Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
* build: Add sphinx/breathe support for generating documentationMarius Vlad2019-06-251-0/+6
| | | | | | | | | | | | | | | | | | | | This is adds basic configuration files for doxygen and for breathe, which is a doxygen-to-sphinx bridge that can document C symbols. Breathe is configured with default project 'weston' and implicitly adds :members: and :undoc-members: to breathe configuration options. This allows a shorter way to call breathe directives without the need specify the project and also to display implicitly all the members, documented or not. A 'docs' run_target to force the docs to be re-built has been added. Initially (the first time the build system is ran) the documentation will automatically be built, but later re-builds will require the use of the 'docs' target. This avoid further delays in building weston but in the same time allows the possiblity to update/improve the documentation bits to those who want that. Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
* meson: allow to build weston-simple-dmabuf-eglPhilipp Zabel2019-03-061-1/+1
| | | | | | | It is all hooked up in clients/meson.build, just the option to enable it was missing. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
* Add Meson build systemDaniel Stone2018-12-091-0/+206
Meson is a build system, currently implemented in Python, with multiple output backends, including Ninja and Make. The build file syntax is clean and easy to read unlike autotools. In practise, configuring and building with Meson and Ninja has been observed to be much faster than with autotools. Also cross-building support is excellent. More information at http://mesonbuild.com Since moving to Meson requires some changes from users in any case, we took this opportunity to revamp build options. Most of the build options still exist, some have changed names or more, and a few have been dropped. The option to choose the Cairo flavour is not implemented since for the longest time the Cairo image backend has been the only recommended one. This Meson build should be fully functional and it installs everything an all-enabled autotools build does. Installed pkg-config files have some minor differences that should be insignificant. Building of some developer documentation that was never installed with autotools is missing. It is expected that the autotools build system will be removed soon after the next Weston release. Signed-off-by: Daniel Stone <daniels@collabora.com> Co-authored-by: Pekka Paalanen <pq@iki.fi> Signed-off-by: Pekka Paalanen <pq@iki.fi>