2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2013-04-29 12:26:05 +02:00
|
|
|
#
|
|
|
|
# weston
|
|
|
|
#
|
2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2013-04-29 12:26:05 +02:00
|
|
|
|
2016-03-09 10:58:45 +01:00
|
|
|
WESTON_VERSION = 1.10.0
|
2014-07-31 10:46:58 +02:00
|
|
|
WESTON_SITE = http://wayland.freedesktop.org/releases
|
2013-10-09 00:09:48 +02:00
|
|
|
WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
|
2013-04-29 12:26:05 +02:00
|
|
|
WESTON_LICENSE = MIT
|
|
|
|
WESTON_LICENSE_FILES = COPYING
|
2016-04-20 20:38:58 +02:00
|
|
|
# For 0002-build-add-check-for-clock_gettime-in-librt.patch
|
|
|
|
WESTON_AUTORECONF = YES
|
2013-04-29 12:26:05 +02:00
|
|
|
|
2016-03-09 10:58:45 +01:00
|
|
|
WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
|
2016-03-29 16:39:08 +02:00
|
|
|
libxkbcommon pixman libpng jpeg mtdev udev cairo libinput \
|
|
|
|
$(if $(BR2_PACKAGE_WEBP),webp)
|
2013-10-10 23:05:21 +02:00
|
|
|
|
2014-09-27 21:32:44 +02:00
|
|
|
WESTON_CONF_OPTS = \
|
2014-01-30 22:07:19 +01:00
|
|
|
--with-dtddir=$(STAGING_DIR)/usr/share/wayland \
|
2013-04-29 12:26:05 +02:00
|
|
|
--disable-xwayland \
|
|
|
|
--disable-x11-compositor \
|
|
|
|
--disable-wayland-compositor \
|
|
|
|
--disable-headless-compositor \
|
2016-03-29 16:39:04 +02:00
|
|
|
--disable-colord \
|
|
|
|
--disable-setuid-install
|
2014-04-06 23:54:35 +02:00
|
|
|
|
2016-03-09 10:58:45 +01:00
|
|
|
WESTON_MAKE_OPTS = \
|
|
|
|
WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
|
|
|
|
|
2016-04-20 18:54:43 +02:00
|
|
|
# Uses VIDIOC_EXPBUF, only available from 3.8+
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),)
|
|
|
|
WESTON_CONF_OPTS += --disable-simple-dmabuf-v4l-client
|
|
|
|
endif
|
|
|
|
|
2016-03-29 16:39:06 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_DBUS),y)
|
|
|
|
WESTON_CONF_OPTS += --enable-dbus
|
|
|
|
WESTON_DEPENDENCIES += dbus
|
|
|
|
else
|
|
|
|
WESTON_CONF_OPTS += --disable-dbus
|
|
|
|
endif
|
|
|
|
|
2016-03-29 16:39:04 +02:00
|
|
|
# weston-launch must be u+s root in order to work properly
|
|
|
|
ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
|
|
|
|
define WESTON_PERMISSIONS
|
|
|
|
/usr/bin/weston-launch f 4755 0 0 - - - - -
|
|
|
|
endef
|
|
|
|
define WESTON_USERS
|
|
|
|
- - weston-launch -1 - - - - Weston launcher group
|
|
|
|
endef
|
|
|
|
WESTON_CONF_OPTS += --enable-weston-launch
|
|
|
|
WESTON_DEPENDENCIES += linux-pam
|
|
|
|
else
|
|
|
|
WESTON_CONF_OPTS += --disable-weston-launch
|
|
|
|
endif
|
|
|
|
|
2016-03-29 16:39:00 +02:00
|
|
|
# Needs wayland-egl, which normally only mesa provides
|
2016-04-08 15:42:37 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL)$(BR2_PACKAGE_MESA3D_OPENGL_ES),yy)
|
2016-03-29 16:39:00 +02:00
|
|
|
WESTON_CONF_OPTS += --enable-egl
|
|
|
|
WESTON_DEPENDENCIES += libegl
|
|
|
|
else
|
2016-04-08 15:35:21 +02:00
|
|
|
WESTON_CONF_OPTS += \
|
|
|
|
--disable-egl \
|
|
|
|
--disable-simple-egl-clients
|
2016-03-29 16:39:00 +02:00
|
|
|
endif
|
|
|
|
|
2014-04-06 23:54:35 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_LIBUNWIND),y)
|
|
|
|
WESTON_DEPENDENCIES += libunwind
|
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
WESTON_CONF_OPTS += --disable-libunwind
|
2014-04-06 23:54:35 +02:00
|
|
|
endif
|
2013-04-29 12:26:05 +02:00
|
|
|
|
2015-02-21 23:36:24 +01:00
|
|
|
ifeq ($(BR2_PACKAGE_WESTON_RDP),y)
|
|
|
|
WESTON_DEPENDENCIES += freerdp
|
|
|
|
WESTON_CONF_OPTS += --enable-rdp-compositor
|
|
|
|
else
|
|
|
|
WESTON_CONF_OPTS += --disable-rdp-compositor
|
|
|
|
endif
|
|
|
|
|
2013-04-29 12:26:05 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y)
|
2016-03-29 16:39:01 +02:00
|
|
|
WESTON_CONF_OPTS += \
|
|
|
|
--enable-fbdev-compositor \
|
|
|
|
WESTON_NATIVE_BACKEND=fbdev-backend.so
|
2013-04-29 12:26:05 +02:00
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
WESTON_CONF_OPTS += --disable-fbdev-compositor
|
2013-04-29 12:26:05 +02:00
|
|
|
endif
|
|
|
|
|
2016-03-29 16:39:02 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_WESTON_DRM),y)
|
|
|
|
WESTON_CONF_OPTS += \
|
|
|
|
--enable-drm-compositor \
|
|
|
|
WESTON_NATIVE_BACKEND=drm-backend.so
|
|
|
|
WESTON_DEPENDENCIES += libdrm
|
|
|
|
else
|
|
|
|
WESTON_CONF_OPTS += --disable-drm-compositor
|
|
|
|
endif
|
|
|
|
|
package/weston: add RPi compositor
Procedure highly inspired by:
http://wayland.freedesktop.org/raspberrypi.html
The resulting weston works almost flawlessly, but requires a bit
of love:
- /boot/config.txt must include this line: dispmanx_offline=1
- at least 128MiB of RAM must be allocated to the GPU
- after 24-or-so terminal-clients are connected, the screen
turns black. Exiting a client restores the screen
It seems increasing/decreasing the amount of memory allocated to
the GPU makes the clients limit to wobble above/below 24 clients
at a time. YMMV, as they say...
Without dispmanx_offline=1, the limit is much below 24, at around 13.
But changing the amount of memory allocated to the GPU does not change
this limit in this case. YMMV, again.
Anyway, there are not many different clients available, besides the
terminal client, since all other clients are EGL-based, and there
is (yet) no EGL support (for weston!) on the RPi. So the tests were
made only with the terminal client.
The system is rather smooth, but spwaning too many clients in a
rapid-fire is sure to exhibit some lag. Resizing windows is a bit
jerky, but moving them along is fine.
Note: the config option has a depends on THREADS due to rpi-userland,
even though weston itself already inherits the same dependency from
wayland. But better be clean and safe.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-10 23:05:25 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_WESTON_RPI),y)
|
|
|
|
WESTON_DEPENDENCIES += rpi-userland
|
2014-09-27 21:32:44 +02:00
|
|
|
WESTON_CONF_OPTS += --enable-rpi-compositor \
|
package/weston: add RPi compositor
Procedure highly inspired by:
http://wayland.freedesktop.org/raspberrypi.html
The resulting weston works almost flawlessly, but requires a bit
of love:
- /boot/config.txt must include this line: dispmanx_offline=1
- at least 128MiB of RAM must be allocated to the GPU
- after 24-or-so terminal-clients are connected, the screen
turns black. Exiting a client restores the screen
It seems increasing/decreasing the amount of memory allocated to
the GPU makes the clients limit to wobble above/below 24 clients
at a time. YMMV, as they say...
Without dispmanx_offline=1, the limit is much below 24, at around 13.
But changing the amount of memory allocated to the GPU does not change
this limit in this case. YMMV, again.
Anyway, there are not many different clients available, besides the
terminal client, since all other clients are EGL-based, and there
is (yet) no EGL support (for weston!) on the RPi. So the tests were
made only with the terminal client.
The system is rather smooth, but spwaning too many clients in a
rapid-fire is sure to exhibit some lag. Resizing windows is a bit
jerky, but moving them along is fine.
Note: the config option has a depends on THREADS due to rpi-userland,
even though weston itself already inherits the same dependency from
wayland. But better be clean and safe.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-10 23:05:25 +02:00
|
|
|
--disable-resize-optimization \
|
|
|
|
WESTON_NATIVE_BACKEND=rpi-backend.so
|
|
|
|
else
|
2014-09-27 21:32:44 +02:00
|
|
|
WESTON_CONF_OPTS += --disable-rpi-compositor
|
package/weston: add RPi compositor
Procedure highly inspired by:
http://wayland.freedesktop.org/raspberrypi.html
The resulting weston works almost flawlessly, but requires a bit
of love:
- /boot/config.txt must include this line: dispmanx_offline=1
- at least 128MiB of RAM must be allocated to the GPU
- after 24-or-so terminal-clients are connected, the screen
turns black. Exiting a client restores the screen
It seems increasing/decreasing the amount of memory allocated to
the GPU makes the clients limit to wobble above/below 24 clients
at a time. YMMV, as they say...
Without dispmanx_offline=1, the limit is much below 24, at around 13.
But changing the amount of memory allocated to the GPU does not change
this limit in this case. YMMV, again.
Anyway, there are not many different clients available, besides the
terminal client, since all other clients are EGL-based, and there
is (yet) no EGL support (for weston!) on the RPi. So the tests were
made only with the terminal client.
The system is rather smooth, but spwaning too many clients in a
rapid-fire is sure to exhibit some lag. Resizing windows is a bit
jerky, but moving them along is fine.
Note: the config option has a depends on THREADS due to rpi-userland,
even though weston itself already inherits the same dependency from
wayland. But better be clean and safe.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-10 23:05:25 +02:00
|
|
|
endif # BR2_PACKAGE_WESTON_RPI
|
|
|
|
|
2016-03-29 16:39:03 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_LIBVA),y)
|
|
|
|
WESTON_CONF_OPTS += --enable-vaapi-recorder
|
|
|
|
WESTON_DEPENDENIES += libva
|
|
|
|
else
|
|
|
|
WESTON_CONF_OPTS += --disable-vaapi-recorder
|
|
|
|
endif
|
|
|
|
|
2016-03-29 16:39:07 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_LCMS2),y)
|
|
|
|
WESTON_CONF_OPTS += --enable-lcms
|
|
|
|
WESTON_DEPENDENCIES += lcms2
|
|
|
|
else
|
|
|
|
WESTON_CONF_OPTS += --disable-lcms
|
|
|
|
endif
|
|
|
|
|
2016-03-29 16:39:09 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
|
|
|
WESTON_CONF_OPTS += --enable-systemd-login --enable-systemd-notify
|
|
|
|
WESTON_DEPENDENCIES += systemd
|
|
|
|
else
|
|
|
|
WESTON_CONF_OPTS += --disable-systemd-login --disable-systemd-notify
|
|
|
|
endif
|
|
|
|
|
2016-03-29 16:39:10 +02:00
|
|
|
ifeq ($(BR2_PACKAGE_LIBXML2),y)
|
|
|
|
WESTON_CONF_OPTS += --enable-junit-xml
|
|
|
|
WESTON_DEPENDENCIES += libxml2
|
|
|
|
else
|
|
|
|
WESTON_CONF_OPTS += --disable-junit-xml
|
|
|
|
endif
|
|
|
|
|
2013-04-29 12:26:05 +02:00
|
|
|
$(eval $(autotools-package))
|