Age | Commit message (Collapse) | Author |
|
This new renderer is implemented with the existing wlr_renderer API
(which is known to be sub-optimal for some operations). It's not
used by default, but users can opt-in by setting WLR_RENDERER=vulkan.
The renderer depends on VK_EXT_image_drm_format_modifier and
VK_EXT_physical_device_drm.
Co-authored-by: Simon Ser <contact@emersion.fr>
Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
|
|
|
|
|
|
Co-authored-by: Simon Ser <contact@emersion.fr>
|
|
meson.build_root() is deprecated.
References: https://github.com/mesonbuild/meson/pull/8629
|
|
|
|
This reverts commit 28d23ba6bda4f799b8d6689555cd33a40adda17e.
The prelinking and symbol filtering pass breaks builds with link-time
optimization enabled.
|
|
Static libraries are not affected by our symbol file, so private symbols
are globally visible by default.
Use objcopy to make symbols that we do not want to expose local.
Closes: https://github.com/swaywm/wlroots/issues/1892
Closes: https://github.com/swaywm/wlroots/issues/2952
|
|
This moves the magic incantation into libdrm and is clearer. See
[1] for details.
While at it, fixup the doc comment and improve logging.
[1]: https://gitlab.freedesktop.org/mesa/drm/-/commit/523b3658aa8efa746417e916c987de23740ce313
|
|
This implements the new xdg-activation-v1 protocol [1].
[1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/50
|
|
|
|
Allow selecting whether the GLES2 renderer gets enabled.
Co-authored-by: Simon Ser <contact@emersion.fr>
|
|
|
|
|
|
Use 128-bit hexadecimal string tokens generated with /dev/urandom
instead of UUIDs for xdg-foreign handles, removing the libuuid
dependency. Update readme and CI. Closes #2830.
build: remove xdg-foreign feature
With no external dependencies required, there's no reason not to always
build it. Remove WLR_HAS_XDG_FOREIGN as well.
|
|
This is instead delegated to libseat.
|
|
wlroots' dependency on this library doesn't change the features
exposed to compositors. It's purely a wlroots implementation detail.
Thus downstream compositors shouldn't really care about it.
Introduce an "internal_features" dictionary to store the status of
such internal dependencies.
|
|
We now bump the version number right after releases, so that a Git
snapshot is not mistaken for a previous version.
References: https://github.com/swaywm/wlroots/issues/2792
|
|
References: https://github.com/swaywm/wlroots/issues/2778
|
|
This dependency is already required by many other widely used X11
programs, such as i3, Qt, and other XWMs. So it should be available
on most systems.
X11 support can be pretty broken without xcb-icccm, with focus issues
for instance. Let's just remove this --please-break-my-desktop footgun
option.
|
|
Causes some build failures on Clang.
Fixes: 4b43aebdc7ed ("build: add -Wformat=2 -Walloca")
|
|
|
|
Fixes this warning:
WARNING: Project targeting '>=0.54.0' but tried to use feature introduced in '0.56.0': variables as dictionary.
Fixes: 6f873078d4c0 ("build: use dictionnary for features instead of configuration_data")
|
|
this avoids having to parse the config.h file from builds systems
of projects using wlroots.
|
|
This allows users to to something like this when wlroots is used as a
subproject:
wlr_has_xwayland = wlroots.get_variable('have_xwayland')
Instead of having to parse conf_data from the subproject object.
|
|
This allows us to easily iterate on all features and only deal with
bools.
|
|
|
|
Depends on [1].
[1]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/79
|
|
Use the same name as the Meson option.
|
|
We have these disabled for all compilers anyways.
|
|
|
|
Co-authored-by: Jason Francis <cycl0ps@tuta.io>
|
|
Now that the Wayland backend has moved to wlr_swapchain, only
client examples use the dependency. Stop linking against wayland-egl
in the wlroots library.
|
|
This is a Mesa-specific header that was needed because some Wayland EGL
extensions were missing from the Khronos registry. Now that this has
been fixed [1] and Mesa [2] & glvnd [3] have sync'ed their headers, we
can drop this workaround.
[1]: https://github.com/KhronosGroup/EGL-Registry/pull/95
[2]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4953
[3]: https://gitlab.freedesktop.org/glvnd/libglvnd/-/merge_requests/225
|
|
Shows YES/NO instead of 1/0, improves readability.
|
|
We have the policy of requiring up-to-date dependencies instead of
adding conditionals for older versions. libinput 1.14 was published more
than 1 year ago.
|
|
|
|
|
|
|
|
This patch will make the EGL renderer work on any EGL/GLESv2 driver
providing the EGL_WL_bind_wayland_display extensions.
Mesa used to declare provisional EGL_WL_bind_wayland_display directly
in <EGL/eglext.h>. Then, all unofficial extensions were moved to
<EGL/eglmesaext.h>, to have a cleaner implementation. See:
https://gitlab.freedesktop.org/mesa/mesa/-/commit/ab7bb10a2af711086319ce35815acd797b86fe27
The extension was then approved at Khronos Group, and reached the
official <EGL/eglext.h>. See:
https://www.khronos.org/registry/EGL/extensions/WL/EGL_WL_bind_wayland_display.txt
https://github.com/KhronosGroup/EGL-Registry/commit/aa9b63f3ab18aee92c95786a2478156430f809e4
In order to make sure the renderer will work on any version of any
implementation providing the extension, only include the mesa-specific
header if it's present.
Signed-off-by: Julien Olivain <juju@cotds.org>
|
|
This is simply a false sense of security, and is worse than just using
setuid. CAP_SYS_ADMIN is an extremely serious capability that is
effectively as powerful as root.
It also required users to be in the input group, which allows any
process to keylog the entire system.
|
|
|
|
When built as a subproject, this removes the need for the parent project
to know about the dependency variable name.
This requires Meson 0.54.0.
|
|
This updates the version requirement for wayland-server to 1.18, which
is needed for wl_global_remove and wl_global_set_user_data
|
|
Having 1.16 results in the following error when running the compositor:
2019-04-27 17:30:50 - [wayland] wl_global_create: implemented version for 'wl_seat' higher than interface version (7 > 6)
2019-04-27 17:30:50 - [sway/input/seat.c:428] seat_create:could not allocate seat
We require wayland-server >= 1.17 for wl_seat version 7.
Fixes: a671fc51d25c ("Advertise wl_seat version 7")
Fixes: a656e486f4a6 ("seat: fallback to v6 if libwayland 1.17 isn't available")
|
|
This allows us to have a single number to update when doing a release.
This drops WLR_VERSION_API_* definitions.
|
|
|
|
|
|
There was an issue in 0.51.1 and earlier, where lists of dependencies
and disablers weren't acting like they should. Instead of disabling a
build, it would error out instead.
Changing this logic to work around it is annoying, so just bump the
version instead.
|
|
Users interested in remote access to wlroots compositors should use
wayvnc:
https://github.com/any1/wayvnc
|