* [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland
@ 2013-10-09 21:44 Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 1/9] package/wayland: bump version Yann E. MORIN
` (8 more replies)
0 siblings, 9 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Hello All!
This series makes it possible to run weston on the raspberrypi.
The series:
- bumps wayland and weston (patches 1 and 2)
- installs wayland-scanner to $(HOST) (patch 3)
- fixes weston configure.ac with patches from upstream (patches 4 and 5)
- modifies weston to build more than one compositor (patch 6)
- fixes rpi-userland (patch 7)
- actualy enables the rpi compoisotor in weston (path 8)
- prepares EGL support for compositors (patch 9)
Please pay special attention to commit logs of patches 6 and 9, they are
tricky. I can add more details, or reworks them, if need be.
Regards,
Yann E. MORIN.
Changes v1 -> v2:
- drop host-wayland, isntall manually-built wayland-scanner to $(HOST)
(Thomas)
- drop applied patches (Peter)
- fix typoes in commit logs
The following changes since commit f8a7c46ea3beca928705f01b31b75017ba8484ac:
qt5: remove configure options from module packages (2013-10-09 23:13:59 +0200)
are available in the git repository at:
git://gitorious.org/buildroot/buildroot.git yem/rpi-wayland
for you to fetch changes up to 7e31b6ba4a2f05ab5ba1b1114863e7d102fa5a17:
package/weston: add option to enable EGL (2013-10-09 23:40:11 +0200)
----------------------------------------------------------------
Yann E. MORIN (9):
package/wayland: bump version
package/weston: bump version
package/wayland: install wayland-scanner to $(HOST)
package/weston: fix configure.ac to check for wayland-scanner
package/weston: fix configure.ac for fbdev compositor
package/weston: introduce infrastructure to select other compositors
package/rpi-userland: add patch to remove faulty assert()
package/weston: add RPi compositor
package/weston: add option to enable EGL
.../rpi-userland-002-remove-faulty-assert.patch | 21 +++++++++++++++++
package/wayland/wayland.mk | 5 +++--
package/weston/Config.in | 23 +++++++++++++++++--
...02-fix-configure.ac-check-wayland-scanner.patch | 26 ++++++++++++++++++++++
...ompositor-fbdev-drop-dependency-on-libdrm.patch | 22 ++++++++++++++++++
package/weston/weston.mk | 26 ++++++++++++++++++++--
6 files changed, 117 insertions(+), 6 deletions(-)
create mode 100644 package/rpi-userland/rpi-userland-002-remove-faulty-assert.patch
create mode 100644 package/weston/weston-0002-fix-configure.ac-check-wayland-scanner.patch
create mode 100644 package/weston/weston-0003-compositor-fbdev-drop-dependency-on-libdrm.patch
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 1/9] package/wayland: bump version
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 2/9] package/weston: " Yann E. MORIN
` (7 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/wayland/wayland.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/wayland/wayland.mk b/package/wayland/wayland.mk
index b5fe94d..0810536 100644
--- a/package/wayland/wayland.mk
+++ b/package/wayland/wayland.mk
@@ -4,7 +4,7 @@
#
################################################################################
-WAYLAND_VERSION = 1.1.0
+WAYLAND_VERSION = 1.2.1
WAYLAND_SITE = http://wayland.freedesktop.org/releases/
WAYLAND_SOURCE = wayland-$(WAYLAND_VERSION).tar.xz
WAYLAND_LICENSE = MIT
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 2/9] package/weston: bump version
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 1/9] package/wayland: bump version Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 3/9] package/wayland: install wayland-scanner to $(HOST) Yann E. MORIN
` (6 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/weston/weston.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 38647bd..990fb04 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -4,7 +4,7 @@
#
################################################################################
-WESTON_VERSION = 1.1.0
+WESTON_VERSION = 1.2.2
WESTON_SITE = http://wayland.freedesktop.org/releases/
WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
WESTON_LICENSE = MIT
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 3/9] package/wayland: install wayland-scanner to $(HOST)
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 1/9] package/wayland: bump version Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 2/9] package/weston: " Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-10 7:05 ` Thomas Petazzoni
2013-10-09 21:44 ` [Buildroot] [PATCH 4/9] package/weston: fix configure.ac to check for wayland-scanner Yann E. MORIN
` (5 subsequent siblings)
8 siblings, 1 reply; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
wayland-scanner is needed by weston.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
package/wayland/wayland.mk | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/package/wayland/wayland.mk b/package/wayland/wayland.mk
index 0810536..739971b 100644
--- a/package/wayland/wayland.mk
+++ b/package/wayland/wayland.mk
@@ -22,7 +22,8 @@ WAYLAND_CONF_OPT = --disable-scanner
define WAYLAND_BUILD_SCANNER
(cd $(@D)/src/; \
$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \
- -o wayland-scanner scanner.c wayland-util.c -lexpat)
+ -o wayland-scanner scanner.c wayland-util.c -lexpat; \
+ install -m 0755 -D wayland-scanner $(HOST_DIR)/usr/bin/wayland-scanner )
endef
WAYLAND_POST_CONFIGURE_HOOKS += WAYLAND_BUILD_SCANNER
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 4/9] package/weston: fix configure.ac to check for wayland-scanner
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
` (2 preceding siblings ...)
2013-10-09 21:44 ` [Buildroot] [PATCH 3/9] package/wayland: install wayland-scanner to $(HOST) Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 5/9] package/weston: fix configure.ac for fbdev compositor Yann E. MORIN
` (4 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
configure whines while checking for wayland-scanner.
wayland-scanner is used to generate the protocol parser C files from
the protocol definition XML files.
weston has a hard-dependency on wayland-scanner, so it can regenerate
its shell/mouse/keyboard/... "handlers".
Since we're using a tarball, those protocol files are already generated
and up-to-date, but the check is hard-coded and unconditional. If
wayland-scanner is missing, configure fails.
We could well patch away this check, but we'd have to carry and maintain
it probably for ever.
Better to fix it: add a patch from upstream weston to fix configure
whining.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
...02-fix-configure.ac-check-wayland-scanner.patch | 26 ++++++++++++++++++++++
package/weston/weston.mk | 4 ++++
2 files changed, 30 insertions(+)
create mode 100644 package/weston/weston-0002-fix-configure.ac-check-wayland-scanner.patch
diff --git a/package/weston/weston-0002-fix-configure.ac-check-wayland-scanner.patch b/package/weston/weston-0002-fix-configure.ac-check-wayland-scanner.patch
new file mode 100644
index 0000000..ca7368f
--- /dev/null
+++ b/package/weston/weston-0002-fix-configure.ac-check-wayland-scanner.patch
@@ -0,0 +1,26 @@
+commit 9f43cb48aac9d27aa49fe955104f5cfd204703ed
+Author: Quentin Glidic <sardemff7+git@sardemff7.net>
+Date: Sat Aug 24 20:36:10 2013 +0200
+
+ autotools: Fix AC_PATH_PROG call
+
+ Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
+ Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff --git a/configure.ac b/configure.ac
+index 0129157..43e5e5c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -424,8 +424,10 @@ if test "x$have_lcms" = xyes; then
+ fi
+ AM_CONDITIONAL(HAVE_LCMS, [test "x$have_lcms" = xyes])
+
+-AC_PATH_PROG([wayland_scanner], [wayland-scanner],
+- [AC_MSG_ERROR("wayland-scanner is needed to compile weston")])
++AC_PATH_PROG([wayland_scanner], [wayland-scanner])
++if test x$wayland_scanner = x; then
++ AC_MSG_ERROR([wayland-scanner is needed to compile weston])
++fi
+
+ AC_CONFIG_FILES([Makefile
+ shared/Makefile
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 990fb04..8267945 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -12,6 +12,10 @@ WESTON_LICENSE_FILES = COPYING
WESTON_DEPENDENCIES = host-pkgconf wayland libxkbcommon pixman libpng \
jpeg mtdev udev cairo
+
+# We touch configure.ac with one of our patches
+WESTON_AUTORECONF = YES
+
WESTON_CONF_OPT = \
--disable-egl \
--disable-xwayland \
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 5/9] package/weston: fix configure.ac for fbdev compositor
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
` (3 preceding siblings ...)
2013-10-09 21:44 ` [Buildroot] [PATCH 4/9] package/weston: fix configure.ac to check for wayland-scanner Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-10 11:28 ` Peter Korsgaard
2013-10-09 21:44 ` [Buildroot] [PATCH 6/9] package/weston: introduce infrastructure to select other compositors Yann E. MORIN
` (3 subsequent siblings)
8 siblings, 1 reply; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Apply patch from upstream.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
...ompositor-fbdev-drop-dependency-on-libdrm.patch | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
create mode 100644 package/weston/weston-0003-compositor-fbdev-drop-dependency-on-libdrm.patch
diff --git a/package/weston/weston-0003-compositor-fbdev-drop-dependency-on-libdrm.patch b/package/weston/weston-0003-compositor-fbdev-drop-dependency-on-libdrm.patch
new file mode 100644
index 0000000..dfc20de
--- /dev/null
+++ b/package/weston/weston-0003-compositor-fbdev-drop-dependency-on-libdrm.patch
@@ -0,0 +1,22 @@
+commit 7b8e970ad1f1ef96db23b379a41edeb40ef1e8b6
+Author: Adrian Negreanu <adrian.m.negreanu@intel.com>
+Date: Thu Sep 26 19:31:32 2013 +0300
+
+ compositor-fbdev: drop dependency on libdrm
+
+ Signed-off-by: Adrian Negreanu <adrian.m.negreanu@intel.com>
+ Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff --git a/configure.ac b/configure.ac
+index 7c2da44..a43bf5b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -190,7 +190,7 @@ AM_CONDITIONAL([ENABLE_FBDEV_COMPOSITOR],
+ [test x$enable_fbdev_compositor = xyes])
+ AS_IF([test x$enable_fbdev_compositor = xyes], [
+ AC_DEFINE([BUILD_FBDEV_COMPOSITOR], [1], [Build the fbdev compositor])
+- PKG_CHECK_MODULES([FBDEV_COMPOSITOR], [libudev >= 136 mtdev >= 1.1.0 libdrm >= 2.4.30])
++ PKG_CHECK_MODULES([FBDEV_COMPOSITOR], [libudev >= 136 mtdev >= 1.1.0])
+ ])
+
+ AC_ARG_ENABLE([rdp-compositor], [ --enable-rdp-compositor],,
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 6/9] package/weston: introduce infrastructure to select other compositors
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
` (4 preceding siblings ...)
2013-10-09 21:44 ` [Buildroot] [PATCH 5/9] package/weston: fix configure.ac for fbdev compositor Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 7/9] package/rpi-userland: add patch to remove faulty assert() Yann E. MORIN
` (2 subsequent siblings)
8 siblings, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/weston/Config.in | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/package/weston/Config.in b/package/weston/Config.in
index 56eb135..0f168ac 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -14,8 +14,6 @@ config BR2_PACKAGE_WESTON
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
# Runtime dependency
select BR2_PACKAGE_XKEYBOARD_CONFIG
- # Make sure at least one backend is selected
- select BR2_PACKAGE_WESTON_FBDEV
help
Weston is the reference implementation of a Wayland
compositor, and a useful compositor in its own right.
@@ -26,7 +24,16 @@ config BR2_PACKAGE_WESTON
if BR2_PACKAGE_WESTON
+# These two options make sure at least one compositor is selected.
+config BR2_PACKAGE_WESTON_HAS_COMPOSITOR
+ bool
+config BR2_PACKAGE_WESTON_NEEDS_ONE_COMPOSITOR
+ def_bool y
+ depends on ! BR2_PACKAGE_WESTON_HAS_COMPOSITOR
+ select BR2_PACKAGE_WESTON_FBDEV
+
config BR2_PACKAGE_WESTON_FBDEV
bool "fbdev compositor"
+ default y
endif
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 7/9] package/rpi-userland: add patch to remove faulty assert()
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
` (5 preceding siblings ...)
2013-10-09 21:44 ` [Buildroot] [PATCH 6/9] package/weston: introduce infrastructure to select other compositors Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 8/9] package/weston: add RPi compositor Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 9/9] package/weston: add option to enable EGL Yann E. MORIN
8 siblings, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
While porting wayland/weston to run on the RPi, I always tripped on
this assert.
Thinking there was an issue with weston, I poked the weston guys on
IRC about the issue. 'daniels' on irc.freenode.net/#wayland suggested
removing the assert altogether, as that's what they had pushed
upstream in their wayland pull-request:
https://github.com/raspberrypi/userland/pull/92
Turns out they forgot to include this in their pull-request, but that
they were using a patched rpi-userland without that assert.
And indeed, without that assert, weston runs on the RPi. :-)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
The weston guys will probably push this upstream soon.
If not, then I'll take the burden to do it.
---
.../rpi-userland-002-remove-faulty-assert.patch | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 package/rpi-userland/rpi-userland-002-remove-faulty-assert.patch
diff --git a/package/rpi-userland/rpi-userland-002-remove-faulty-assert.patch b/package/rpi-userland/rpi-userland-002-remove-faulty-assert.patch
new file mode 100644
index 0000000..c23c43a
--- /dev/null
+++ b/package/rpi-userland/rpi-userland-002-remove-faulty-assert.patch
@@ -0,0 +1,21 @@
+interface: remove faulty assert() to make weston happy at runtime
+
+This was removed after a discussion on IRC with the weston guys
+('daniels' on irc.freenode.net/#wayland).
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+Upstream status: no, will be pushed by weston guys later.
+If not, I'll do it.
+
+diff -durN rpi-userland-77d32cd.orig/interface/vmcs_host/vc_vchi_dispmanx.c rpi-userland-77d32cd/interface/vmcs_host/vc_vchi_dispmanx.c
+--- rpi-userland-77d32cd.orig/interface/vmcs_host/vc_vchi_dispmanx.c 2013-10-04 17:43:44.000000000 +0200
++++ rpi-userland-77d32cd/interface/vmcs_host/vc_vchi_dispmanx.c 2013-10-08 22:28:51.611433539 +0200
+@@ -1187,7 +1187,6 @@
+ continue;
+
+ if(dispmanx_client.update_callback ) {
+- vcos_assert( dispmanx_client.pending_update_handle == (DISPMANX_UPDATE_HANDLE_T) dispmanx_client.notify_buffer[1]);
+ dispmanx_client.update_callback((DISPMANX_UPDATE_HANDLE_T) dispmanx_client.notify_buffer[1], dispmanx_client.update_callback_param);
+ }
+ }
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 8/9] package/weston: add RPi compositor
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
` (6 preceding siblings ...)
2013-10-09 21:44 ` [Buildroot] [PATCH 7/9] package/rpi-userland: add patch to remove faulty assert() Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-09 22:16 ` [Buildroot] [PATCH] " Yann E. MORIN
2013-10-09 22:19 ` [Buildroot] [PATCH 8/9] " Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 9/9] package/weston: add option to enable EGL Yann E. MORIN
8 siblings, 2 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
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.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/weston/Config.in | 8 ++++++++
package/weston/weston.mk | 14 +++++++++++++-
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/package/weston/Config.in b/package/weston/Config.in
index 0f168ac..8c00bf6 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -36,4 +36,12 @@ config BR2_PACKAGE_WESTON_FBDEV
bool "fbdev compositor"
default y
+config BR2_PACKAGE_WESTON_RPI
+ bool "RPi compositor"
+ depends on BR2_arm # rpi-userland
+ depends on BR2_INSTALL_LIBSTDCPP # rpi-userland
+ depends on BR2_LARGEFILE # rpi-userland
+ select BR2_PACKAGE_RPI_USERLAND
+ select BR2_PACKAGE_WESTON_HAS_COMPOSITOR
+
endif
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 8267945..2d68fba 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -23,8 +23,8 @@ WESTON_CONF_OPT = \
--disable-drm-compositor \
--disable-wayland-compositor \
--disable-headless-compositor \
- --disable-rpi-compositor \
--disable-weston-launch \
+ --disable-colord \
--disable-libunwind
ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y)
@@ -33,4 +33,16 @@ else
WESTON_CONF_OPT += --disable-fbdev-compositor
endif
+ifeq ($(BR2_PACKAGE_WESTON_RPI),y)
+WESTON_DEPENDENCIES += rpi-userland
+WESTON_CONF_OPT += --enable-rpi-compositor \
+ --disable-resize-optimization \
+ --disable-setuid-install \
+ --disable-xwayland-test \
+ --disable-simple-egl-clients \
+ WESTON_NATIVE_BACKEND=rpi-backend.so
+else
+WESTON_CONF_OPT += --disable-rpi-compositor
+endif # BR2_PACKAGE_WESTON_RPI
+
$(eval $(autotools-package))
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 9/9] package/weston: add option to enable EGL
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
` (7 preceding siblings ...)
2013-10-09 21:44 ` [Buildroot] [PATCH 8/9] package/weston: add RPi compositor Yann E. MORIN
@ 2013-10-09 21:44 ` Yann E. MORIN
2013-10-10 7:07 ` Thomas Petazzoni
8 siblings, 1 reply; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 21:44 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Add a no-prompt option to enable EGL. Compositors that can use
EGL can select this option.
Currently, no compositor (supported by Buildroot) selects EGL,
but this will be the case when weston 1.3.0 is out (since the
RPi compositor will have gained EGL support by that time with
commit #b4659eb in upstream weston).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
package/weston/Config.in | 4 ++++
package/weston/weston.mk | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/package/weston/Config.in b/package/weston/Config.in
index 8c00bf6..4096671 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -24,6 +24,10 @@ config BR2_PACKAGE_WESTON
if BR2_PACKAGE_WESTON
+# Whether EGL support is needed
+config BR2_PACKAGE_WESTON_EGL
+ bool
+
# These two options make sure at least one compositor is selected.
config BR2_PACKAGE_WESTON_HAS_COMPOSITOR
bool
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 2d68fba..e3804f2 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -27,6 +27,12 @@ WESTON_CONF_OPT = \
--disable-colord \
--disable-libunwind
+ifeq ($(BR2_PACKAGE_WESTON_EGL),y)
+WESTON_CONF_OPT += --enable-egl
+else
+WESTON_CONF_OPT += --disable-egl --disable-simple-egl-clients
+endif
+
ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y)
WESTON_CONF_OPT += --enable-fbdev-compositor
else
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH] package/weston: add RPi compositor
2013-10-09 21:44 ` [Buildroot] [PATCH 8/9] package/weston: add RPi compositor Yann E. MORIN
@ 2013-10-09 22:16 ` Yann E. MORIN
2013-10-09 22:19 ` [Buildroot] [PATCH 8/9] " Yann E. MORIN
1 sibling, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 22:16 UTC (permalink / raw)
To: buildroot
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
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>
---
package/weston/Config.in | 9 +++++++++
package/weston/weston.mk | 14 +++++++++++++-
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/package/weston/Config.in b/package/weston/Config.in
index 0f168ac..4532c28 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -36,4 +36,13 @@ config BR2_PACKAGE_WESTON_FBDEV
bool "fbdev compositor"
default y
+config BR2_PACKAGE_WESTON_RPI
+ bool "RPi compositor"
+ depends on BR2_arm # rpi-userland
+ depends on BR2_INSTALL_LIBSTDCPP # rpi-userland
+ depends on BR2_LARGEFILE # rpi-userland
+ depends on BR2_TOOLCHAIN_HAS_THREADS # rpi-userland
+ select BR2_PACKAGE_RPI_USERLAND
+ select BR2_PACKAGE_WESTON_HAS_COMPOSITOR
+
endif
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 8267945..2d68fba 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -23,8 +23,8 @@ WESTON_CONF_OPT = \
--disable-drm-compositor \
--disable-wayland-compositor \
--disable-headless-compositor \
- --disable-rpi-compositor \
--disable-weston-launch \
+ --disable-colord \
--disable-libunwind
ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y)
@@ -33,4 +33,16 @@ else
WESTON_CONF_OPT += --disable-fbdev-compositor
endif
+ifeq ($(BR2_PACKAGE_WESTON_RPI),y)
+WESTON_DEPENDENCIES += rpi-userland
+WESTON_CONF_OPT += --enable-rpi-compositor \
+ --disable-resize-optimization \
+ --disable-setuid-install \
+ --disable-xwayland-test \
+ --disable-simple-egl-clients \
+ WESTON_NATIVE_BACKEND=rpi-backend.so
+else
+WESTON_CONF_OPT += --disable-rpi-compositor
+endif # BR2_PACKAGE_WESTON_RPI
+
$(eval $(autotools-package))
--
1.8.1.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 8/9] package/weston: add RPi compositor
2013-10-09 21:44 ` [Buildroot] [PATCH 8/9] package/weston: add RPi compositor Yann E. MORIN
2013-10-09 22:16 ` [Buildroot] [PATCH] " Yann E. MORIN
@ 2013-10-09 22:19 ` Yann E. MORIN
1 sibling, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-09 22:19 UTC (permalink / raw)
To: buildroot
All,
On 2013-10-09 23:44 +0200, Yann E. MORIN spake thusly:
[--SNIP--]
> +config BR2_PACKAGE_WESTON_RPI
> + bool "RPi compositor"
> + depends on BR2_arm # rpi-userland
> + depends on BR2_INSTALL_LIBSTDCPP # rpi-userland
> + depends on BR2_LARGEFILE # rpi-userland
Missing "depends on THREADS" due to rpi-userland.
I've just sent an updated patch. Sorry for the confusion... :-(
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 3/9] package/wayland: install wayland-scanner to $(HOST)
2013-10-09 21:44 ` [Buildroot] [PATCH 3/9] package/wayland: install wayland-scanner to $(HOST) Yann E. MORIN
@ 2013-10-10 7:05 ` Thomas Petazzoni
2013-10-10 17:20 ` Yann E. MORIN
0 siblings, 1 reply; 19+ messages in thread
From: Thomas Petazzoni @ 2013-10-10 7:05 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Wed, 9 Oct 2013 23:44:19 +0200, Yann E. MORIN wrote:
> + install -m 0755 -D wayland-scanner $(HOST_DIR)/usr/bin/wayland-scanner )
$(INSTALL)
Also, that's nitpicking, but we generally don't have a space between
the end of the command and the closing parenthesis.
Thomas
--
Thomas Petazzoni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 9/9] package/weston: add option to enable EGL
2013-10-09 21:44 ` [Buildroot] [PATCH 9/9] package/weston: add option to enable EGL Yann E. MORIN
@ 2013-10-10 7:07 ` Thomas Petazzoni
2013-10-10 17:22 ` Yann E. MORIN
0 siblings, 1 reply; 19+ messages in thread
From: Thomas Petazzoni @ 2013-10-10 7:07 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Wed, 9 Oct 2013 23:44:25 +0200, Yann E. MORIN wrote:
> +# Whether EGL support is needed
> +config BR2_PACKAGE_WESTON_EGL
> + bool
Indentation should be done with a tab.
That said, I'm unsure about this patch: do we really want to add "dead"
code, that isn't being used for the moment? Shouldn't this wait for the
first EGL-based compositor to be added?
Thomas
--
Thomas Petazzoni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 5/9] package/weston: fix configure.ac for fbdev compositor
2013-10-09 21:44 ` [Buildroot] [PATCH 5/9] package/weston: fix configure.ac for fbdev compositor Yann E. MORIN
@ 2013-10-10 11:28 ` Peter Korsgaard
2013-10-10 12:02 ` Yann E. MORIN
2013-10-10 17:52 ` Yann E. MORIN
0 siblings, 2 replies; 19+ messages in thread
From: Peter Korsgaard @ 2013-10-10 11:28 UTC (permalink / raw)
To: buildroot
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
Yann> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Yann> Apply patch from upstream.
Are there any other pending fbdev patches upstream? A quick test seems
to show that the fbdev backend isn't working:
CC weston_subsurfaces-subsurfaces.o
CC weston_simple_shm-simple-shm.o
CC weston_simple_shm-os-compatibility.o
subsurfaces.c:37:23: fatal error: GLES2/gl2.h: No such file or directory
compilation terminated.
make[4]: *** [weston_subsurfaces-subsurfaces.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory `/home/peko/source/buildroot/output/build/weston-1.2.2/clients'
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 5/9] package/weston: fix configure.ac for fbdev compositor
2013-10-10 11:28 ` Peter Korsgaard
@ 2013-10-10 12:02 ` Yann E. MORIN
2013-10-10 17:52 ` Yann E. MORIN
1 sibling, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-10 12:02 UTC (permalink / raw)
To: buildroot
Peter, All,
On Thursday 10 October 2013 13:28:59 Peter Korsgaard wrote:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
>
> Yann> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Yann> Apply patch from upstream.
>
> Are there any other pending fbdev patches upstream? A quick test seems
> to show that the fbdev backend isn't working:
>
> CC weston_subsurfaces-subsurfaces.o
> CC weston_simple_shm-simple-shm.o
> CC weston_simple_shm-os-compatibility.o
> subsurfaces.c:37:23: fatal error: GLES2/gl2.h: No such file or directory
> compilation terminated.
> make[4]: *** [weston_subsurfaces-subsurfaces.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> make[4]: Leaving directory `/home/peko/source/buildroot/output/build/weston-1.2.2/clients'
Strange, I think it did build fine here last I checked.
I'll double-check this, but no, there's no upstream patch I mistakenly
forgot to git-add.
Test will be tonight when I'm back home.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software Designer | \ / CAMPAIGN | ^ |
| --==< O_o >==-- '------------.-------: X AGAINST | /e\ There is no |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL | """ conspiracy. |
'------------------------------'-------'------------------'--------------------'
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 3/9] package/wayland: install wayland-scanner to $(HOST)
2013-10-10 7:05 ` Thomas Petazzoni
@ 2013-10-10 17:20 ` Yann E. MORIN
0 siblings, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-10 17:20 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2013-10-10 09:05 +0200, Thomas Petazzoni spake thusly:
> On Wed, 9 Oct 2013 23:44:19 +0200, Yann E. MORIN wrote:
> > + install -m 0755 -D wayland-scanner $(HOST_DIR)/usr/bin/wayland-scanner )
>
> $(INSTALL)
>
> Also, that's nitpicking, but we generally don't have a space between
> the end of the command and the closing parenthesis.
OK, will fix both. Thanks.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 9/9] package/weston: add option to enable EGL
2013-10-10 7:07 ` Thomas Petazzoni
@ 2013-10-10 17:22 ` Yann E. MORIN
0 siblings, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-10 17:22 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2013-10-10 09:07 +0200, Thomas Petazzoni spake thusly:
> On Wed, 9 Oct 2013 23:44:25 +0200, Yann E. MORIN wrote:
> > +# Whether EGL support is needed
> > +config BR2_PACKAGE_WESTON_EGL
> > + bool
>
> Indentation should be done with a tab.
Doh, serves me for using a 4-space tab by default here... :-/
Will fix.
> That said, I'm unsure about this patch: do we really want to add "dead"
> code, that isn't being used for the moment? Shouldn't this wait for the
> first EGL-based compositor to be added?
I had this in my tree, so I just thought about sending it now. That's
good since I got early review on it! ;-)
I don't mind keeping it locally until we use it, indeed.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Buildroot] [PATCH 5/9] package/weston: fix configure.ac for fbdev compositor
2013-10-10 11:28 ` Peter Korsgaard
2013-10-10 12:02 ` Yann E. MORIN
@ 2013-10-10 17:52 ` Yann E. MORIN
1 sibling, 0 replies; 19+ messages in thread
From: Yann E. MORIN @ 2013-10-10 17:52 UTC (permalink / raw)
To: buildroot
Peter, all,
On 2013-10-10 13:28 +0200, Peter Korsgaard spake thusly:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
>
> Yann> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Yann> Apply patch from upstream.
>
> Are there any other pending fbdev patches upstream? A quick test seems
> to show that the fbdev backend isn't working:
>
> CC weston_subsurfaces-subsurfaces.o
> CC weston_simple_shm-simple-shm.o
> CC weston_simple_shm-os-compatibility.o
> subsurfaces.c:37:23: fatal error: GLES2/gl2.h: No such file or directory
> compilation terminated.
> make[4]: *** [weston_subsurfaces-subsurfaces.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> make[4]: Leaving directory `/home/peko/source/buildroot/output/build/weston-1.2.2/clients'
OK, I see why it worked for me and not for you: I only tested the full
series, and the individual patches.
So, if you stop the series right there at path 5/9, it breaks because
there is no GLES implementation available.
In my case, it was provided by rpi-userland.
Now, why on Earth would the fbdev backend depend on GLES? Let's see...
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2013-10-10 17:52 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-09 21:44 [Buildroot] [pull request v2] Pull request for branch yem/rpi-wayland Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 1/9] package/wayland: bump version Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 2/9] package/weston: " Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 3/9] package/wayland: install wayland-scanner to $(HOST) Yann E. MORIN
2013-10-10 7:05 ` Thomas Petazzoni
2013-10-10 17:20 ` Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 4/9] package/weston: fix configure.ac to check for wayland-scanner Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 5/9] package/weston: fix configure.ac for fbdev compositor Yann E. MORIN
2013-10-10 11:28 ` Peter Korsgaard
2013-10-10 12:02 ` Yann E. MORIN
2013-10-10 17:52 ` Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 6/9] package/weston: introduce infrastructure to select other compositors Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 7/9] package/rpi-userland: add patch to remove faulty assert() Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 8/9] package/weston: add RPi compositor Yann E. MORIN
2013-10-09 22:16 ` [Buildroot] [PATCH] " Yann E. MORIN
2013-10-09 22:19 ` [Buildroot] [PATCH 8/9] " Yann E. MORIN
2013-10-09 21:44 ` [Buildroot] [PATCH 9/9] package/weston: add option to enable EGL Yann E. MORIN
2013-10-10 7:07 ` Thomas Petazzoni
2013-10-10 17:22 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox