summaryrefslogtreecommitdiffstats
path: root/meta-nvidia-extras
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2018-08-03 14:38:13 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2018-10-01 09:20:38 +0000
commit740471f6025831e7747d1fab844042be0bbed00d (patch)
treed76e60cffded0a65d087ca98864089beb6aeef45 /meta-nvidia-extras
parent1d7a1b9784aabb69babecf2a47a809cad6c9bb28 (diff)
downloadmeta-boot2qt-740471f6025831e7747d1fab844042be0bbed00d.tar.gz
tegra-t18x: update to Drive 5.0 Linux Drive CX2
Using [5.0.2.0] Drive 5.0 Linux Drive CX2 Change-Id: Ia21bca95f216347164e824d57bf7b7ce32243f87 Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Diffstat (limited to 'meta-nvidia-extras')
-rw-r--r--meta-nvidia-extras/recipes/connman-conf/connman-conf.bbappend40
-rw-r--r--meta-nvidia-extras/recipes/connman-conf/connman-conf/main.conf4
-rw-r--r--meta-nvidia-extras/recipes/egl-gles-nv/egl-gles-nv_1.0.bbappend33
-rw-r--r--meta-nvidia-extras/recipes/firmware/tegra-firmware_1.0.bbappend35
-rw-r--r--meta-nvidia-extras/recipes/graphics-headers/graphics-headers_1.0.bbappend30
-rw-r--r--meta-nvidia-extras/recipes/libdrm-nv/libdrm-nv_%.bbappend (renamed from meta-nvidia-extras/recipes/ppp/ppp_2.4.%.bbappend)2
-rw-r--r--meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend6
-rw-r--r--meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend9
-rw-r--r--meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Disable-more-warnings.patch27
-rw-r--r--meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Fix-misleading-indentation-error.patch42
-rw-r--r--meta-nvidia-extras/recipes/qt5/qtwebengine_git.bbappend31
-rw-r--r--meta-nvidia-extras/recipes/systemd/systemd-compat-units.bbappend3
-rw-r--r--meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers/egl.pc12
-rw-r--r--meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend14
-rw-r--r--meta-nvidia-extras/recipes/wayland/wayland_%.bbappend6
-rw-r--r--meta-nvidia-extras/recipes/weston/NVIDIA-weston-configure.patch30
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/0001-configure.ac-Fix-wayland-protocols-path.patch29
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/0001-make-error-portable.patch80
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch174
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/add-config-option-for-no-input-device.patch125
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/explicit-enable-disable-systemd.patch70
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/libsystemd.patch53
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/make-lcms-explicitly-configurable.patch43
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/make-libwebp-explicitly-configurable.patch37
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/weston.desktop9
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/weston.pngbin2383 -> 0 bytes
-rw-r--r--meta-nvidia-extras/recipes/weston/weston/xwayland.weston-start7
-rw-r--r--meta-nvidia-extras/recipes/weston/weston_%.bbappend105
-rw-r--r--meta-nvidia-extras/recipes/weston/weston_1.9.0.bb104
29 files changed, 142 insertions, 1018 deletions
diff --git a/meta-nvidia-extras/recipes/connman-conf/connman-conf.bbappend b/meta-nvidia-extras/recipes/connman-conf/connman-conf.bbappend
deleted file mode 100644
index 3cfe234..0000000
--- a/meta-nvidia-extras/recipes/connman-conf/connman-conf.bbappend
+++ /dev/null
@@ -1,40 +0,0 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
31
32FILES_${PN} += "etc/connman/main.conf"
33
34SRC_URI += "file://main.conf \
35 "
36
37do_install_append() {
38 install -d ${D}${sysconfdir}/connman
39 install -m 0644 ${WORKDIR}/main.conf ${D}${sysconfdir}/connman/main.conf
40}
diff --git a/meta-nvidia-extras/recipes/connman-conf/connman-conf/main.conf b/meta-nvidia-extras/recipes/connman-conf/connman-conf/main.conf
deleted file mode 100644
index a1e45b9..0000000
--- a/meta-nvidia-extras/recipes/connman-conf/connman-conf/main.conf
+++ /dev/null
@@ -1,4 +0,0 @@
1[General]
2PreferredTechnologies=ethernet,wifi,cellular
3NetworkInterfaceBlacklist=eth0
4
diff --git a/meta-nvidia-extras/recipes/egl-gles-nv/egl-gles-nv_1.0.bbappend b/meta-nvidia-extras/recipes/egl-gles-nv/egl-gles-nv_1.0.bbappend
deleted file mode 100644
index 4314a20..0000000
--- a/meta-nvidia-extras/recipes/egl-gles-nv/egl-gles-nv_1.0.bbappend
+++ /dev/null
@@ -1,33 +0,0 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30PROVIDES = "virtual/egl virtual/libgles2"
31RPROVIDES_${PN} = "libegl libegl-dev libgles2 libgles2-dev"
32RCONFLICTS_${PN} = "libegl-mesa libegl-mesa-dev libgles2-mesa libgles2-mesa-dev"
33RREPLACES_${PN} = "libegl-mesa lbegl-mesa-dev libgles2-mesa libgles2-mesa-dev"
diff --git a/meta-nvidia-extras/recipes/firmware/tegra-firmware_1.0.bbappend b/meta-nvidia-extras/recipes/firmware/tegra-firmware_1.0.bbappend
deleted file mode 100644
index d3e2337..0000000
--- a/meta-nvidia-extras/recipes/firmware/tegra-firmware_1.0.bbappend
+++ /dev/null
@@ -1,35 +0,0 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30# WARNING: FILESEXTRAPATHS-variable, must always use _prepend (or _append)
31FILESEXTRAPATHS_tegra-x1_prepend = "__default:"
32FILESEXTRAPATHS_tegra-t18x_prepend = "__default:"
33
34# ERROR: QA Issue: Files/directories were installed but not shipped in any package
35FILES_${PN}-gk20a = "${FILES__${PN}-gk20a}"
diff --git a/meta-nvidia-extras/recipes/graphics-headers/graphics-headers_1.0.bbappend b/meta-nvidia-extras/recipes/graphics-headers/graphics-headers_1.0.bbappend
deleted file mode 100644
index df91dfe..0000000
--- a/meta-nvidia-extras/recipes/graphics-headers/graphics-headers_1.0.bbappend
+++ /dev/null
@@ -1,30 +0,0 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-nvidia-extras/recipes/ppp/ppp_2.4.%.bbappend b/meta-nvidia-extras/recipes/libdrm-nv/libdrm-nv_%.bbappend
index ca8f573..46e3bbb 100644
--- a/meta-nvidia-extras/recipes/ppp/ppp_2.4.%.bbappend
+++ b/meta-nvidia-extras/recipes/libdrm-nv/libdrm-nv_%.bbappend
@@ -27,4 +27,4 @@
27## 27##
28############################################################################ 28############################################################################
29 29
30SRC_URI_remove = "file://ppp-fix-building-with-linux-4.8.patch" 30RDEPENDS_${PN} += "tegra-drivers"
diff --git a/meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend b/meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend
index c7730c6..9fa1a9c 100644
--- a/meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend
+++ b/meta-nvidia-extras/recipes/linux-libc-headers/linux-libc-headers_4.%.bbappend
@@ -16,11 +16,11 @@
16KERN_DIR := "${LNX_TOPDIR}_src/kernel" 16KERN_DIR := "${LNX_TOPDIR}_src/kernel"
17# Kernel source is the kernel tarball in PDK 17# Kernel source is the kernel tarball in PDK
18SRC_URI = "file://${KERN_DIR}/linux.tar.bz2" 18SRC_URI = "file://${KERN_DIR}/linux.tar.bz2"
19PV = "4.4" 19PV = "4.9"
20 20
21# Extracting linux.tar.bz2 creates directories 21# Extracting linux.tar.bz2 creates directories
22# <top>/vibrante-oss-src/kernel 22# <top>/drive-oss-src/kernel
23S = "${WORKDIR}/vibrante-oss-src/kernel" 23S = "${WORKDIR}/drive-oss-src/kernel"
24 24
25# Need to pass this to for oe_runmake explicitly for building outside kerneldir 25# Need to pass this to for oe_runmake explicitly for building outside kerneldir
26EXTRA_OEMAKE += " -C ${S} O=${B}" 26EXTRA_OEMAKE += " -C ${S} O=${B}"
diff --git a/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend b/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend
index 835dfe8..a2103ba 100644
--- a/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend
+++ b/meta-nvidia-extras/recipes/linux/linux-nvidia.bbappend
@@ -1,6 +1,6 @@
1############################################################################ 1############################################################################
2## 2##
3## Copyright (C) 2017 The Qt Company Ltd. 3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/ 4## Contact: https://www.qt.io/licensing/
5## 5##
6## This file is part of the Boot to Qt meta layer. 6## This file is part of the Boot to Qt meta layer.
@@ -28,14 +28,11 @@
28############################################################################ 28############################################################################
29 29
30FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" 30FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"
31SRC_URI += "file://0001-Fix-misleading-indentation-error.patch;patchdir=.." 31SRC_URI += "file://0001-Disable-more-warnings.patch"
32 32
33CROSS_COMPILE_PREFIX = "${CROSS_COMPILE}" 33CROSS_COMPILE_PREFIX = "${CROSS_COMPILE}"
34 34
35PACKAGES += "kernel-devicetree" 35RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-devicetree"
36FILES_kernel-devicetree = "/boot/*.dtb"
37
38RDEPENDS_kernel-base = "kernel-image kernel-devicetree"
39 36
40python do_patch () { 37python do_patch () {
41 bb.build.exec_func('patch_do_patch', d) 38 bb.build.exec_func('patch_do_patch', d)
diff --git a/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Disable-more-warnings.patch b/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Disable-more-warnings.patch
new file mode 100644
index 0000000..d881d57
--- /dev/null
+++ b/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Disable-more-warnings.patch
@@ -0,0 +1,27 @@
1From d863ce14300576c53492713140eb0dfacba1d8ab Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Fri, 28 Sep 2018 13:30:56 +0300
4Subject: [PATCH] Disable more warnings
5
6Current compiler options are more strict than the old kernel is
7prepared. Disable those warnings.
8---
9 Makefile | 5 +++++
10 1 file changed, 5 insertions(+)
11
12diff --git a/Makefile b/Makefile
13index 43a6127..d3e40f3 100644
14--- a/Makefile
15+++ b/Makefile
16@@ -627,6 +627,11 @@ ARCH_AFLAGS :=
17 ARCH_CFLAGS :=
18 include arch/$(SRCARCH)/Makefile
19
20+KBUILD_CFLAGS += $(call cc-disable-warning,format-overflow,)
21+KBUILD_CFLAGS += $(call cc-disable-warning,format-truncation,)
22+KBUILD_CFLAGS += $(call cc-disable-warning,int-in-bool-context,)
23+KBUILD_CFLAGS += $(call cc-disable-warning,misleading-indentation,)
24+KBUILD_CFLAGS += $(call cc-disable-warning,tautological-compare,)
25 KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
26 KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
27
diff --git a/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Fix-misleading-indentation-error.patch b/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Fix-misleading-indentation-error.patch
deleted file mode 100644
index a344adc..0000000
--- a/meta-nvidia-extras/recipes/linux/linux-nvidia/0001-Fix-misleading-indentation-error.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 33d112e943590020f2cda2a403a755531833b016 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Fri, 31 Mar 2017 09:42:18 +0300
4Subject: [PATCH] Fix misleading-indentation error
5
6error: this 'if' clause does not guard... [-Werror=misleading-indentation]
7 if (!runlist->active_channels)
8---
9 nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c | 16 ++++++++--------
10 1 file changed, 8 insertions(+), 8 deletions(-)
11
12diff --git a/nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c
13index 3e57c67..e2fe4db 100644
14--- a/nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c
15+++ b/nvgpu/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c
16@@ -209,15 +209,15 @@ static int init_runlist(struct gk20a *g, struct fifo_gk20a *f)
17 if (!runlist->active_channels)
18 goto clean_up_runlist;
19
20- runlist_size = sizeof(u16) * f->num_channels;
21- for (i = 0; i < MAX_RUNLIST_BUFFERS; i++) {
22- int err = gk20a_gmmu_alloc_sys(g, runlist_size,
23- &runlist->mem[i]);
24- if (err) {
25- dev_err(d, "memory allocation failed\n");
26- goto clean_up_runlist;
27- }
28+ runlist_size = sizeof(u16) * f->num_channels;
29+ for (i = 0; i < MAX_RUNLIST_BUFFERS; i++) {
30+ int err = gk20a_gmmu_alloc_sys(g, runlist_size,
31+ &runlist->mem[i]);
32+ if (err) {
33+ dev_err(d, "memory allocation failed\n");
34+ goto clean_up_runlist;
35 }
36+ }
37 mutex_init(&runlist->mutex);
38
39 /* None of buffers is pinned if this value doesn't change.
40--
412.7.4
42
diff --git a/meta-nvidia-extras/recipes/qt5/qtwebengine_git.bbappend b/meta-nvidia-extras/recipes/qt5/qtwebengine_git.bbappend
deleted file mode 100644
index 94178db..0000000
--- a/meta-nvidia-extras/recipes/qt5/qtwebengine_git.bbappend
+++ /dev/null
@@ -1,31 +0,0 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30CXXFLAGS +=" -DWIN_INTERFACE_CUSTOM"
31COMPATIBLE_MACHINE_aarch64 = "(.*)"
diff --git a/meta-nvidia-extras/recipes/systemd/systemd-compat-units.bbappend b/meta-nvidia-extras/recipes/systemd/systemd-compat-units.bbappend
index 7c2f7b5..c9081a5 100644
--- a/meta-nvidia-extras/recipes/systemd/systemd-compat-units.bbappend
+++ b/meta-nvidia-extras/recipes/systemd/systemd-compat-units.bbappend
@@ -1,6 +1,6 @@
1############################################################################ 1############################################################################
2## 2##
3## Copyright (C) 2017 The Qt Company Ltd. 3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/ 4## Contact: https://www.qt.io/licensing/
5## 5##
6## This file is part of the Boot to Qt meta layer. 6## This file is part of the Boot to Qt meta layer.
@@ -28,3 +28,4 @@
28############################################################################ 28############################################################################
29 29
30LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 30LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
31RDEPENDS_${PN} += "bash"
diff --git a/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers/egl.pc b/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers/egl.pc
deleted file mode 100644
index da1f5f7..0000000
--- a/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers/egl.pc
+++ /dev/null
@@ -1,12 +0,0 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: egl
7Description: Mesa EGL library
8Requires.private: libdrm >= 2.4.24
9Version: 9.1.6
10Libs: -L${libdir} -lEGL
11Libs.private: -lm -lpthread -ldl
12Cflags: -I${includedir}
diff --git a/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend b/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend
index 2cc22df..7e23d32 100644
--- a/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend
+++ b/meta-nvidia-extras/recipes/tegra-drivers/tegra-drivers_%.bbappend
@@ -1,6 +1,6 @@
1############################################################################ 1############################################################################
2## 2##
3## Copyright (C) 2016 The Qt Company Ltd. 3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/ 4## Contact: https://www.qt.io/licensing/
5## 5##
6## This file is part of the Boot to Qt meta layer. 6## This file is part of the Boot to Qt meta layer.
@@ -27,11 +27,6 @@
27## 27##
28############################################################################ 28############################################################################
29 29
30FILESEXTRAPATHS_append := "${THISDIR}/${PN}:"
31
32SRC_URI += " file://egl.pc"
33FILES_${PN} += "egl.pc"
34
35GRAPHICS_PACKAGES = " \ 30GRAPHICS_PACKAGES = " \
36 virtual/libgles2 \ 31 virtual/libgles2 \
37 virtual/libegl \ 32 virtual/libegl \
@@ -42,8 +37,5 @@ GRAPHICS_PACKAGES = " \
42 libgbm \ 37 libgbm \
43 libgbm-dev \ 38 libgbm-dev \
44 " 39 "
45 40RDEPENDS_${PN}-nvidia-egl-wayland += "wayland"
46do_install_append_tegra-t18x() { 41INSANE_SKIP_${PN}-gst += "file-rdeps"
47 install -d ${D}/usr/lib/pkgconfig
48 install -m 0775 ${WORKDIR}/egl.pc ${D}/${libdir}/pkgconfig
49}
diff --git a/meta-nvidia-extras/recipes/wayland/wayland_%.bbappend b/meta-nvidia-extras/recipes/wayland/wayland_%.bbappend
index f05607c..209cc19 100644
--- a/meta-nvidia-extras/recipes/wayland/wayland_%.bbappend
+++ b/meta-nvidia-extras/recipes/wayland/wayland_%.bbappend
@@ -1,6 +1,6 @@
1############################################################################ 1############################################################################
2## 2##
3## Copyright (C) 2017 The Qt Company Ltd. 3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/ 4## Contact: https://www.qt.io/licensing/
5## 5##
6## This file is part of the Boot to Qt meta layer. 6## This file is part of the Boot to Qt meta layer.
@@ -27,8 +27,4 @@
27## 27##
28############################################################################ 28############################################################################
29 29
30FILESEXTRAPATHS_append := ":${LNX_TOPDIR}_src/wayland"
31
32SRC_URI = "file://wayland-1.11.0-src.tar.gz"
33
34DEPENDS_append_class-target = " wayland-egl" 30DEPENDS_append_class-target = " wayland-egl"
diff --git a/meta-nvidia-extras/recipes/weston/NVIDIA-weston-configure.patch b/meta-nvidia-extras/recipes/weston/NVIDIA-weston-configure.patch
new file mode 100644
index 0000000..b7230cb
--- /dev/null
+++ b/meta-nvidia-extras/recipes/weston/NVIDIA-weston-configure.patch
@@ -0,0 +1,30 @@
1diff --git a/configure.ac b/configure.ac
2index 691878f..0564bb2 100644
3--- a/configure.ac
4+++ b/configure.ac
5@@ -174,10 +174,10 @@ AC_ARG_ENABLE(drm-compositor, [ --enable-drm-compositor],,
6 AM_CONDITIONAL(ENABLE_DRM_COMPOSITOR, test x$enable_drm_compositor = xyes)
7 if test x$enable_drm_compositor = xyes; then
8 AC_DEFINE([BUILD_DRM_COMPOSITOR], [1], [Build the DRM compositor])
9- PKG_CHECK_MODULES(DRM_COMPOSITOR, [libudev >= 136 libdrm >= 2.4.30 gbm mtdev >= 1.1.0])
10- PKG_CHECK_MODULES(DRM_COMPOSITOR_GBM, [gbm >= 10.2],
11- [AC_DEFINE([HAVE_GBM_FD_IMPORT], 1, [gbm supports dmabuf import])],
12- [AC_MSG_WARN([gbm does not support dmabuf import, will omit that capability])])
13+ PKG_CHECK_MODULES(DRM_COMPOSITOR, [libudev >= 136 libdrm mtdev >= 1.1.0])
14+ #PKG_CHECK_MODULES(DRM_COMPOSITOR_GBM, [gbm >= 10.2],
15+ #[AC_DEFINE([HAVE_GBM_FD_IMPORT], 1, [gbm supports dmabuf import])],
16+ #[AC_MSG_WARN([gbm does not support dmabuf import, will omit that capability])])
17 fi
18
19 AC_ARG_ENABLE(eglstream-compositor, [ --enable-eglstream-compositor],,
20@@ -190,8 +190,8 @@ fi
21 PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.8.0])
22 PKG_CHECK_MODULES(COMPOSITOR, [$COMPOSITOR_MODULES])
23
24-PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.2],
25- [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
26+#PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.2],
27+# [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
28 AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
29
30 AC_ARG_ENABLE(wayland-compositor, [ --enable-wayland-compositor],,
diff --git a/meta-nvidia-extras/recipes/weston/weston/0001-configure.ac-Fix-wayland-protocols-path.patch b/meta-nvidia-extras/recipes/weston/weston/0001-configure.ac-Fix-wayland-protocols-path.patch
deleted file mode 100644
index 5f4d79c..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/0001-configure.ac-Fix-wayland-protocols-path.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 1cfc1434a5d385a74de593ec7601674dba39e2fe Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Wed, 11 May 2016 16:16:30 +0300
4Subject: [PATCH] configure.ac: Fix wayland-protocols path
5
6The wayland-protocols directory is used during build: Fix the path
7to point to sysroot specified in recipe.
8
9Normally PKG_CONFIG_SYSROOT_DIR could be used in configure.ac but that
10breaks multilib weston as it would point to multilib sysroot when the
11(allarch) wayland-protocols is actually in the machine sysroot.
12
13Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
14Upstream-Status: Inappropriate [embedded specific]
15---
16 configure.ac | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19--- a/configure.ac
20+++ b/configure.ac
21@@ -187,7 +187,7 @@ PKG_CHECK_MODULES(LIBINPUT_BACKEND, [lib
22 PKG_CHECK_MODULES(COMPOSITOR, [$COMPOSITOR_MODULES])
23
24 PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.7],
25- [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
26+ [ac_wayland_protocols_pkgdatadir=${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
27 AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
28
29 AC_ARG_ENABLE(wayland-compositor, [ --enable-wayland-compositor],,
diff --git a/meta-nvidia-extras/recipes/weston/weston/0001-make-error-portable.patch b/meta-nvidia-extras/recipes/weston/weston/0001-make-error-portable.patch
deleted file mode 100644
index 148848d..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/0001-make-error-portable.patch
+++ /dev/null
@@ -1,80 +0,0 @@
1From c22e90365d89346258394833cbcad03ff32b2e27 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 May 2015 20:56:00 -0700
4Subject: [PATCH weston] make error() portable
5
6error() is not posix but gnu extension so may not be available on all
7kind of systemsi e.g. musl.
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11Upstream-Status: Submitted
12
13 configure.ac | 2 ++
14 src/weston-error.h | 20 ++++++++++++++++++++
15 src/weston-launch.c | 2 +-
16 3 files changed, 23 insertions(+), 1 deletion(-)
17 create mode 100644 src/weston-error.h
18
19diff --git a/configure.ac b/configure.ac
20index 263fc22..f52cd62 100644
21--- a/configure.ac
22+++ b/configure.ac
23@@ -57,6 +57,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[],
24 [[#include <time.h>]])
25 AC_CHECK_HEADERS([execinfo.h])
26
27+AC_CHECK_HEADERS([error.h])
28+
29 AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate])
30
31 COMPOSITOR_MODULES="wayland-server >= 1.7.93 pixman-1 >= 0.25.2"
32diff --git a/src/weston-error.h b/src/weston-error.h
33new file mode 100644
34index 0000000..2089d02
35--- /dev/null
36+++ b/src/weston-error.h
37@@ -0,0 +1,20 @@
38+#ifndef _WESTON_ERROR_H
39+#define _WESTON_ERROR_H
40+
41+#if defined(HAVE_ERROR_H)
42+#include <error.h>
43+#else
44+#include <err.h>
45+#include <string.h>
46+#define _weston_error(S, E, F, ...) do { \
47+ if (E) \
48+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
49+ else \
50+ err(S, F, ##__VA_ARGS__); \
51+} while(0)
52+
53+#define error _weston_error
54+#endif
55+
56+#endif
57+
58diff --git a/src/weston-launch.c b/src/weston-launch.c
59index 10c66de..3e6d30a 100644
60--- a/src/weston-launch.c
61+++ b/src/weston-launch.c
62@@ -30,7 +30,6 @@
63 #include <poll.h>
64 #include <errno.h>
65
66-#include <error.h>
67 #include <getopt.h>
68
69 #include <sys/types.h>
70@@ -56,6 +55,7 @@
71 #endif
72
73 #include "weston-launch.h"
74+#include "weston-error.h"
75
76 #define DRM_MAJOR 226
77
78--
792.1.4
80
diff --git a/meta-nvidia-extras/recipes/weston/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-nvidia-extras/recipes/weston/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
deleted file mode 100644
index 70b9888..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ /dev/null
@@ -1,174 +0,0 @@
1From 8ff6ed03ec4079f32e9b34085414e57be4730e04 Mon Sep 17 00:00:00 2001
2From: Tom Hochstein <tom.hochstein@nxp.com>
3Date: Wed, 22 Feb 2017 15:53:30 +0200
4Subject: [PATCH] weston-launch: Provide a default version that doesn't require
5 PAM
6
7weston-launch requires PAM for starting weston as a non-root user.
8
9Since starting weston as root is a valid use case by itself, if
10PAM is not available, provide a default version of weston-launch
11without non-root-user support.
12
13Upstream-Status: Pending
14
15Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
16Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
17---
18 configure.ac | 9 +++++++--
19 libweston/weston-launch.c | 20 ++++++++++++++++++++
20 2 files changed, 27 insertions(+), 2 deletions(-)
21
22diff --git a/configure.ac b/configure.ac
23index 46cb2c7..bb45f46 100644
24--- a/configure.ac
25+++ b/configure.ac
26@@ -435,13 +435,17 @@ AC_ARG_ENABLE(resize-optimization,
27 AS_IF([test "x$enable_resize_optimization" = "xyes"],
28 [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
29
30+AC_ARG_WITH(pam,
31+ AS_HELP_STRING([--with-pam], [Use PAM]),
32+ [use_pam=$withval], [use_pam=yes])
33 AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes)
34 AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes)
35-if test x$enable_weston_launch = xyes; then
36+if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then
37 WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no])
38 if test x$have_pam = xno; then
39- AC_ERROR([weston-launch requires pam])
40+ AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found])
41 fi
42+ AC_DEFINE([HAVE_PAM], [1], [Define if PAM is available])
43 fi
44
45 AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes")
46@@ -701,6 +705,7 @@ AC_MSG_RESULT([
47 Enable developer documentation ${enable_devdocs}
48
49 weston-launch utility ${enable_weston_launch}
50+ PAM support ${use_pam}
51 systemd-login support ${have_systemd_login}
52 systemd notify support ${enable_systemd_notify}
53
54diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
55index 0491896..07e7469 100644
56--- a/libweston/weston-launch.c
57+++ b/libweston/weston-launch.c
58@@ -51,7 +51,9 @@
59
60 #include <pwd.h>
61 #include <grp.h>
62+#ifdef HAVE_PAM
63 #include <security/pam_appl.h>
64+#endif
65
66 #ifdef HAVE_SYSTEMD_LOGIN
67 #include <systemd/sd-login.h>
68@@ -93,8 +95,10 @@ drmSetMaster(int drm_fd)
69 #endif
70
71 struct weston_launch {
72+#ifdef HAVE_PAM
73 struct pam_conv pc;
74 pam_handle_t *ph;
75+#endif
76 int tty;
77 int ttynr;
78 int sock[2];
79@@ -181,6 +185,7 @@ weston_launch_allowed(struct weston_launch *wl)
80 return false;
81 }
82
83+#ifdef HAVE_PAM
84 static int
85 pam_conversation_fn(int msg_count,
86 const struct pam_message **messages,
87@@ -221,6 +226,7 @@ setup_pam(struct weston_launch *wl)
88
89 return 0;
90 }
91+#endif
92
93 static int
94 setup_launcher_socket(struct weston_launch *wl)
95@@ -414,6 +420,7 @@ quit(struct weston_launch *wl, int status)
96 close(wl->signalfd);
97 close(wl->sock[0]);
98
99+#ifdef HAVE_PAM
100 if (wl->new_user) {
101 err = pam_close_session(wl->ph, 0);
102 if (err)
103@@ -421,6 +428,7 @@ quit(struct weston_launch *wl, int status)
104 err, pam_strerror(wl->ph, err));
105 pam_end(wl->ph, err);
106 }
107+#endif
108
109 if (ioctl(wl->tty, KDSKBMUTE, 0) &&
110 ioctl(wl->tty, KDSKBMODE, wl->kb_mode))
111@@ -600,6 +608,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
112 setenv("HOME", wl->pw->pw_dir, 1);
113 setenv("SHELL", wl->pw->pw_shell, 1);
114
115+#ifdef HAVE_PAM
116 env = pam_getenvlist(wl->ph);
117 if (env) {
118 for (i = 0; env[i]; ++i) {
119@@ -608,6 +617,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
120 }
121 free(env);
122 }
123+#endif
124
125 /*
126 * We open a new session, so it makes sense
127@@ -675,7 +685,9 @@ static void
128 help(const char *name)
129 {
130 fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
131+#ifdef HAVE_PAM
132 fprintf(stderr, " -u, --user Start session as specified username\n");
133+#endif
134 fprintf(stderr, " -t, --tty Start session on alternative tty\n");
135 fprintf(stderr, " -v, --verbose Be verbose\n");
136 fprintf(stderr, " -h, --help Display this help message\n");
137@@ -688,7 +700,9 @@ main(int argc, char *argv[])
138 int i, c;
139 char *tty = NULL;
140 struct option opts[] = {
141+#ifdef HAVE_PAM
142 { "user", required_argument, NULL, 'u' },
143+#endif
144 { "tty", required_argument, NULL, 't' },
145 { "verbose", no_argument, NULL, 'v' },
146 { "help", no_argument, NULL, 'h' },
147@@ -700,9 +714,13 @@ main(int argc, char *argv[])
148 while ((c = getopt_long(argc, argv, "u:t::vh", opts, &i)) != -1) {
149 switch (c) {
150 case 'u':
151+#ifdef HAVE_PAM
152 wl.new_user = optarg;
153 if (getuid() != 0)
154 error(1, 0, "Permission denied. -u allowed for root only");
155+#else
156+ error(1, 0, "-u is unsupported in this weston-launch build");
157+#endif
158 break;
159 case 't':
160 tty = optarg;
161@@ -740,8 +758,10 @@ main(int argc, char *argv[])
162 if (setup_tty(&wl, tty) < 0)
163 exit(EXIT_FAILURE);
164
165+#ifdef HAVE_PAM
166 if (wl.new_user && setup_pam(&wl) < 0)
167 exit(EXIT_FAILURE);
168+#endif
169
170 if (setup_launcher_socket(&wl) < 0)
171 exit(EXIT_FAILURE);
172--
1732.1.4
174
diff --git a/meta-nvidia-extras/recipes/weston/weston/add-config-option-for-no-input-device.patch b/meta-nvidia-extras/recipes/weston/weston/add-config-option-for-no-input-device.patch
deleted file mode 100644
index 93376ef..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/add-config-option-for-no-input-device.patch
+++ /dev/null
@@ -1,125 +0,0 @@
1From 6c89292024cc08d4499916dc153c354175bd81c4 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org>
3Date: Fri, 21 Oct 2016 14:03:13 -0500
4Subject: [PATCH] Add configuration option for no input device.
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9[Backported from master, 75b7197.)
10
11As it has been discussed in the past [1], running Weston
12without any input device at launch might be beneficial for
13some use cases.
14
15Certainly, it's best for the vast majority of users (and
16the project) to require an input device to be present, as
17to avoid frustration and hassle, but for those brave souls
18that so prefer, this patch lets them run without any input
19device at all.
20
21This introduces a simple configuration in weston.ini:
22 [core]
23 require-input=true
24
25True is the default, so no behavioral change is introduced.
26
27[1] https://lists.freedesktop.org/archives/wayland-devel/2015-November/025193.html
28
29Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
30Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
31Reviewed-by: Daniel Stone <daniels@collabora.com>
32---
33 man/weston.ini.man | 5 +++++
34 src/compositor.h | 4 ++++
35 src/libinput-seat.c | 6 ++++++
36 src/main.c | 5 +++++
37 weston.ini.in | 1 +
38 5 files changed, 21 insertions(+)
39
40diff --git a/man/weston.ini.man b/man/weston.ini.man
41index a9b6026..668b16f 100644
42--- a/man/weston.ini.man
43+++ b/man/weston.ini.man
44@@ -169,6 +169,11 @@ time, the one specified in the command-line will be used. On the other
45 hand, if none of these sets the value, default idle timeout will be
46 set to 300 seconds.
47 .RS
48+.PP
49+.RE
50+.TP 7
51+.BI "require-input=" true
52+require an input device for launch
53
54 .SH "LIBINPUT SECTION"
55 The
56diff --git a/src/compositor.h b/src/compositor.h
57index c4c81f0..292a412 100644
58--- a/src/compositor.h
59+++ b/src/compositor.h
60@@ -701,6 +701,10 @@ struct weston_compositor {
61
62 void *user_data;
63 void (*exit)(struct weston_compositor *c);
64+
65+ /* Whether to let the compositor run without any input device. */
66+ bool require_input;
67+
68 };
69
70 struct weston_buffer {
71diff --git a/src/libinput-seat.c b/src/libinput-seat.c
72index c9f9ed2..1c4c358 100644
73--- a/src/libinput-seat.c
74+++ b/src/libinput-seat.c
75@@ -250,6 +250,12 @@ udev_input_enable(struct udev_input *input)
76 devices_found = 1;
77 }
78
79+ if (devices_found == 0 && !c->require_input) {
80+ weston_log("warning: no input devices found, but none required "
81+ "as per configuration.\n");
82+ return 0;
83+ }
84+
85 if (devices_found == 0) {
86 weston_log(
87 "warning: no input devices on entering Weston. "
88diff --git a/src/main.c b/src/main.c
89index a98570e..b8632e9 100644
90--- a/src/main.c
91+++ b/src/main.c
92@@ -658,6 +658,7 @@ int main(int argc, char *argv[])
93 struct wl_client *primary_client;
94 struct wl_listener primary_client_destroyed;
95 struct weston_seat *seat;
96+ int require_input;
97
98 const struct weston_option core_options[] = {
99 { WESTON_OPTION_STRING, "backend", 'B', &backend },
100@@ -737,6 +738,10 @@ int main(int argc, char *argv[])
101 if (weston_compositor_init_config(ec, config) < 0)
102 goto out_signals;
103
104+ weston_config_section_get_bool(section, "require-input",
105+ &require_input, true);
106+ ec->require_input = require_input;
107+
108 if (backend_init(ec, &argc, argv, config) < 0) {
109 weston_log("fatal: failed to create compositor backend\n");
110 goto out_signals;
111diff --git a/weston.ini.in b/weston.ini.in
112index 06b51df..e9ef992 100644
113--- a/weston.ini.in
114+++ b/weston.ini.in
115@@ -2,6 +2,7 @@
116 #modules=xwayland.so,cms-colord.so
117 #shell=desktop-shell.so
118 #gbm-format=xrgb2101010
119+#require-input=true
120
121 [shell]
122 background-image=/usr/share/backgrounds/gnome/Aqua.jpg
123--
1241.9.1
125
diff --git a/meta-nvidia-extras/recipes/weston/weston/explicit-enable-disable-systemd.patch b/meta-nvidia-extras/recipes/weston/weston/explicit-enable-disable-systemd.patch
deleted file mode 100644
index a40eaf1..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/explicit-enable-disable-systemd.patch
+++ /dev/null
@@ -1,70 +0,0 @@
1From 8e1efcd40b3bad81c83744e2e120d70c2b567ef2 Mon Sep 17 00:00:00 2001
2From: Frederico Cadete <frederico@cadete.eu>
3Date: Mon, 28 Sep 2015 00:30:10 +0200
4Subject: configure.ac: add explicit enable/disable for systemd-login support
5
6Otherwise, auto-enable depending on whether the system has the necessary
7libraries.
8
9[Updated help text as per pq suggestion -- bwh]
10
11Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
12Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
13Tested-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
14
15Upstream-Status: Backport
16Backported from Weston git:
17http://cgit.freedesktop.org/wayland/weston/commit/?id=8e1efc
18
19Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
20
21diff --git a/configure.ac b/configure.ac
22index a9cd429..67e80d0 100644
23--- a/configure.ac
24+++ b/configure.ac
25@@ -380,18 +380,30 @@ AC_ARG_ENABLE(resize-optimization,
26 AS_IF([test "x$enable_resize_optimization" = "xyes"],
27 [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
28
29-PKG_CHECK_MODULES(SYSTEMD_LOGIN,
30- [libsystemd >= 209],
31- [have_systemd_login_209=yes;have_systemd_login=yes],
32- [have_systemd_login_209=no;have_systemd_login=no])
33-
34-# Older versions of systemd package systemd-login separately. Fall back on that
35-AS_IF([test x$have_systemd_login != xyes],[
36- PKG_CHECK_MODULES(SYSTEMD_LOGIN,
37- [libsystemd-login >= 198],
38- [have_systemd_login=yes],
39- [have_systemd_login=no])
40- ])
41+AC_ARG_ENABLE(systemd-login,
42+ AS_HELP_STRING([--enable-systemd-login],
43+ [Enable logind support]),,
44+ enable_systemd_login=auto)
45+if test x$enable_systemd_login != xno; then
46+ PKG_CHECK_MODULES(SYSTEMD_LOGIN,
47+ [libsystemd >= 209],
48+ [have_systemd_login_209=yes;have_systemd_login=yes],
49+ [have_systemd_login_209=no;have_systemd_login=no])
50+
51+ # Older versions of systemd package systemd-login separately. Fall back on that
52+ AS_IF([test x$have_systemd_login != xyes],[
53+ PKG_CHECK_MODULES(SYSTEMD_LOGIN,
54+ [libsystemd-login >= 198],
55+ [have_systemd_login=yes],
56+ [have_systemd_login=no])
57+ ])
58+else
59+ have_systemd_login=no
60+fi
61+
62+if test "x$have_systemd_login" = "xno" -a "x$enable_systemd_login" = "xyes"; then
63+ AC_MSG_ERROR([systemd-login support explicitly enabled, but can't find libsystemd>=209 or libsystemd-login])
64+fi
65
66 AS_IF([test "x$have_systemd_login" = "xyes"],
67 [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
68--
69cgit v0.10.2
70
diff --git a/meta-nvidia-extras/recipes/weston/weston/libsystemd.patch b/meta-nvidia-extras/recipes/weston/weston/libsystemd.patch
deleted file mode 100644
index 2d28d56..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/libsystemd.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1From 5eb025a867b42f8bc7bc73279eac8de58e51a13e Mon Sep 17 00:00:00 2001
2From: Frederico Cadete <frederico@cadete.eu>
3Date: Mon, 28 Sep 2015 00:30:09 +0200
4Subject: configure.ac: add support for new versions of systemd
5
6Starting from systemd version 209, a single libsystemd.pc is provided.
7For previous versions, fall back on libsystemd-login.pc.
8
9Signed-off-by: Frederico Cadete <frederico@cadete.eu>
10Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
11Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
12
13Upstream-Status: Backport
14Backported from Weston git:
15http://cgit.freedesktop.org/wayland/weston/commit/?id=5eb025
16
17Signed-off-by: Joshua Lock <joshua.lock@collabora.co.uk>
18
19diff --git a/configure.ac b/configure.ac
20index 045291c..a9cd429 100644
21--- a/configure.ac
22+++ b/configure.ac
23@@ -380,14 +380,23 @@ AC_ARG_ENABLE(resize-optimization,
24 AS_IF([test "x$enable_resize_optimization" = "xyes"],
25 [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])])
26
27-PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198],
28- [have_systemd_login=yes], [have_systemd_login=no])
29+PKG_CHECK_MODULES(SYSTEMD_LOGIN,
30+ [libsystemd >= 209],
31+ [have_systemd_login_209=yes;have_systemd_login=yes],
32+ [have_systemd_login_209=no;have_systemd_login=no])
33+
34+# Older versions of systemd package systemd-login separately. Fall back on that
35+AS_IF([test x$have_systemd_login != xyes],[
36+ PKG_CHECK_MODULES(SYSTEMD_LOGIN,
37+ [libsystemd-login >= 198],
38+ [have_systemd_login=yes],
39+ [have_systemd_login=no])
40+ ])
41+
42 AS_IF([test "x$have_systemd_login" = "xyes"],
43 [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
44 AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
45
46-PKG_CHECK_MODULES(SYSTEMD_LOGIN_209, [libsystemd-login >= 209],
47- [have_systemd_login_209=yes], [have_systemd_login_209=no])
48 AS_IF([test "x$have_systemd_login_209" = "xyes"],
49 [AC_DEFINE([HAVE_SYSTEMD_LOGIN_209], [1], [Have systemd-login >= 209])])
50
51--
52cgit v0.10.2
53
diff --git a/meta-nvidia-extras/recipes/weston/weston/make-lcms-explicitly-configurable.patch b/meta-nvidia-extras/recipes/weston/weston/make-lcms-explicitly-configurable.patch
deleted file mode 100644
index 35e6d6f..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/make-lcms-explicitly-configurable.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1weston-1.5.0/configure.ac: make lcms explicitly configurable
2
3The lcms package is outside of openembedded-core, so make it
4explicitly configurable. Make it deterministic, so that if lcms
5dependencies are missing, autoconf throws a fatal error. Follow
6upstream style to make it more likely to be merged.
7
8Upstream-Status: Pending
9
10Index: weston-1.5.0/configure.ac
11===================================================================
12--- weston-1.5.0.orig/configure.ac
13+++ weston-1.5.0/configure.ac
14@@ -491,12 +491,24 @@ AC_ARG_ENABLE(demo-clients-install,
15 enable_demo_clients_install=no)
16 AM_CONDITIONAL(INSTALL_DEMO_CLIENTS, [test "x$enable_demo_clients_install" = "xyes"])
17
18-PKG_CHECK_MODULES(LCMS, lcms2,
19- [have_lcms=yes], [have_lcms=no])
20-if test "x$have_lcms" = xyes; then
21- AC_DEFINE(HAVE_LCMS, 1, [Have lcms support])
22+AC_ARG_ENABLE(lcms,
23+ AS_HELP_STRING([--disable-lcms],
24+ [Disable lcms support]),,
25+ enable_lcms=auto)
26+AM_CONDITIONAL(HAVE_LCMS, [test "x$enable_lcms" = xyes])
27+if test "x$enable_lcms" != "xno"; then
28+ PKG_CHECK_MODULES(LCMS,
29+ lcms2,
30+ [have_lcms=yes],
31+ [have_lcms=no])
32+ if test "x$have_lcms" = "xno" -a "x$enable_lcms" = "xyes"; then
33+ AC_MSG_ERROR([lcms support explicitly requested, but lcms couldn't be found])
34+ fi
35+ if test "x$have_lcms" = "xyes"; then
36+ enable_lcms=yes
37+ AC_DEFINE(HAVE_LCMS, 1, [Have lcms support])
38+ fi
39 fi
40-AM_CONDITIONAL(HAVE_LCMS, [test "x$have_lcms" = xyes])
41
42 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
43 if test x$wayland_scanner = x; then
diff --git a/meta-nvidia-extras/recipes/weston/weston/make-libwebp-explicitly-configurable.patch b/meta-nvidia-extras/recipes/weston/weston/make-libwebp-explicitly-configurable.patch
deleted file mode 100644
index ad07d4f..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/make-libwebp-explicitly-configurable.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1
2The libwebp package is outside of openembedded-core, so make it
3explicitly configurable. Make it deterministic, so that if libwebp
4dependencies are missing, autoconf throws a fatal error.
5
6Upstream-Status: Pending
7
8Index: weston-1.5.0/configure.ac
9===================================================================
10--- weston-1.5.0.orig/configure.ac
11+++ weston-1.5.0/configure.ac
12@@ -268,9 +268,22 @@ fi
13
14 PKG_CHECK_MODULES(PIXMAN, [pixman-1])
15 PKG_CHECK_MODULES(PNG, [libpng])
16-PKG_CHECK_MODULES(WEBP, [libwebp], [have_webp=yes], [have_webp=no])
17-AS_IF([test "x$have_webp" = "xyes"],
18- [AC_DEFINE([HAVE_WEBP], [1], [Have webp])])
19+AC_ARG_ENABLE(webp,
20+ AS_HELP_STRING([--disable-webp],
21+ [Disable libwebp support]),,
22+ enable_webp=auto)
23+AM_CONDITIONAL(HAVE_WEBP, [test "x$enable_webp" = xyes])
24+AS_IF([test "x$enable_webp" != "xno"],
25+ PKG_CHECK_MODULES(WEBP,
26+ [libwebp],
27+ [have_webp=yes],
28+ [have_webp=no])
29+ AS_IF([test "x$have_webp" = "xno" -a "x$enable_webp" = "xyes"],
30+ AC_MSG_ERROR([libwebp support explicitly request, but lipwebp could not be found]))
31+ AS_IF([test "x$have_webp" = "xyes"],
32+ [enable_webp=yes]
33+ [AC_DEFINE([HAVE_WEBP], [1], [Have webp])])
34+)
35
36 AC_ARG_ENABLE(vaapi-recorder, [ --enable-vaapi-recorder],,
37 enable_vaapi_recorder=auto)
diff --git a/meta-nvidia-extras/recipes/weston/weston/weston.desktop b/meta-nvidia-extras/recipes/weston/weston/weston.desktop
deleted file mode 100644
index 1086ae8..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/weston.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
1[Desktop Entry]
2Encoding=UTF-8
3Type=Application
4Name=Weston
5Comment=Wayland Compostitor
6Exec=weston
7Icon=weston
8Terminal=false
9Categories=Utility;
diff --git a/meta-nvidia-extras/recipes/weston/weston/weston.png b/meta-nvidia-extras/recipes/weston/weston/weston.png
deleted file mode 100644
index ea8b7e0..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/weston.png
+++ /dev/null
Binary files differ
diff --git a/meta-nvidia-extras/recipes/weston/weston/xwayland.weston-start b/meta-nvidia-extras/recipes/weston/weston/xwayland.weston-start
deleted file mode 100644
index b483c97..0000000
--- a/meta-nvidia-extras/recipes/weston/weston/xwayland.weston-start
+++ /dev/null
@@ -1,7 +0,0 @@
1#!/bin/sh
2
3if type Xwayland >/dev/null 2>/dev/null; then
4 mkdir -p /tmp/.X11-unix
5
6 add_weston_argument "--modules=xwayland.so"
7fi
diff --git a/meta-nvidia-extras/recipes/weston/weston_%.bbappend b/meta-nvidia-extras/recipes/weston/weston_%.bbappend
index e9a2154..c58b81b 100644
--- a/meta-nvidia-extras/recipes/weston/weston_%.bbappend
+++ b/meta-nvidia-extras/recipes/weston/weston_%.bbappend
@@ -1,33 +1,72 @@
1############################################################################ 1# Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
2## 2#
3## Copyright (C) 2017 The Qt Company Ltd. 3# This program is free software; you can redistribute it and/or modify it
4## Contact: https://www.qt.io/licensing/ 4# under the terms and conditions of the GNU General Public License,
5## 5# version 2, as published by the Free Software Foundation.
6## This file is part of the Boot to Qt meta layer. 6#
7## 7# This program is distributed in the hope it will be useful, but WITHOUT
8## $QT_BEGIN_LICENSE:GPL$ 8# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9## Commercial License Usage 9# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
10## Licensees holding valid commercial Qt licenses may use this file in 10# more details.
11## accordance with the commercial license agreement provided with the 11#
12## Software or, alternatively, in accordance with the terms contained in 12# You should have received a copy of the GNU General Public License
13## a written agreement between you and The Qt Company. For licensing terms 13# along with this program. If not, see <http://www.gnu.org/licenses/>.
14## and conditions see https://www.qt.io/terms-conditions. For further 14
15## information use the contact form at https://www.qt.io/contact-us. 15LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
16## 16 file://src/compositor.c;endline=24;md5=70efe6a96837805b300f0317a6306837"
17## GNU General Public License Usage 17
18## Alternatively, this file may be used under the terms of the GNU 18SRC_URI = "file://${LNX_TOPDIR}/samples/wayland/weston \
19## General Public License version 3 or (at your option) any later version 19 file://NVIDIA-weston-configure.patch"
20## approved by the KDE Free Qt Foundation. The licenses are as published by 20
21## the Free Software Foundation and appearing in the file LICENSE.GPL3 21FILESEXTRAPATHS_prepend := "${THISDIR}/../${PN}:"
22## included in the packaging of this file. Please review the following 22PV = "1.11.0"
23## information to ensure the GNU General Public License requirements will 23
24## be met: https://www.gnu.org/licenses/gpl-3.0.html. 24S = "${WORKDIR}/${LNX_TOPDIR}/samples/wayland/weston"
25## 25B = "${S}"
26## $QT_END_LICENSE$ 26
27## 27DEPENDS += "wayland-egl tegra-drivers"
28############################################################################ 28
29 29PACKAGECONFIG = "egl kms libinput"
30PACKAGECONFIG_remove = "kms" 30
31DEPENDS += "drm" 31# Fix warnings by removing redundant configure flags passed to weston
32 32EXTRA_OECONF_remove = "--enable-libinput-backend --disable-webp --disable-lcms"
33TARGET_CFLAGS += "-DWIN_INTERFACE_CUSTOM" 33
34#
35# Compositor choices
36#
37# Weston with EGL support
38PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
39# Weston on egloutput
40PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev mtdev"
41
42CFLAGS += " -DWAYLAND=1 "
43
44LDFLAGS += " -lnvidia-egl-wayland "
45
46do_configure_prepend() {
47 cd ${S}
48 NOCONFIGURE=1 ./autogen.sh
49 cd ${B}
50}
51
52do_install_append() {
53 # create dir
54 install -d ${D}/${ROOT_HOME}/.config
55
56 sed -i 's/\/usr\/local\/bin\/weston-ivi-shell-user-interface/\/usr\/lib\/weston\/weston-ivi-shell-user-interface/g' ${S}/tools/weston.ini
57 sed -i 's/\/usr\/local\/share\/weston\/background.png/\/usr\/share\/weston\/background.png/g' ${S}/tools/weston.ini
58 sed -i 's/\/usr\/local\/share\/weston\/panel.png/\/usr\/share\/weston\/panel.png/g' ${S}/tools/weston.ini
59 sed -i 's/\/usr\/local\/share\/weston\/tiling.png/\/usr\/share\/weston\/tiling.png/g' ${S}/tools/weston.ini
60 sed -i 's/\/usr\/local\/share\/weston\/sidebyside.png/\/usr\/share\/weston\/sidebyside.png/g' ${S}/tools/weston.ini
61 sed -i 's/\/usr\/local\/share\/weston\/fullscreen.png/\/usr\/share\/weston\/fullscreen.png/g' ${S}/tools/weston.ini
62 sed -i 's/\/usr\/local\/share\/weston\/home.png/\/usr\/share\/weston\/home.png/g' ${S}/tools/weston.ini
63 sed -i 's/\/usr\/local\/share\/weston\/random.png/\/usr\/share\/weston\/random.png/g' ${S}/tools/weston.ini
64
65 # weston.ini
66 install -m 0775 ${S}/tools/weston.ini ${D}/${ROOT_HOME}/.config
67 sed -i 's/\/include/\/include\/weston/g' ${D}/usr/lib/pkgconfig/weston.pc
68}
69
70FILES_${PN} += " ${ROOT_HOME}/* ${ROOT_HOME}/.config "
71
72ALLOW_EMPTY_${PN}-examples = "1"
diff --git a/meta-nvidia-extras/recipes/weston/weston_1.9.0.bb b/meta-nvidia-extras/recipes/weston/weston_1.9.0.bb
deleted file mode 100644
index 3fdfbab..0000000
--- a/meta-nvidia-extras/recipes/weston/weston_1.9.0.bb
+++ /dev/null
@@ -1,104 +0,0 @@
1SUMMARY = "Weston, a Wayland compositor"
2DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
3HOMEPAGE = "http://wayland.freedesktop.org"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
6 file://src/compositor.c;endline=23;md5=1d535fed266cf39f6d8c0647f52ac331"
7
8SRC_URI = "http://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
9 file://weston.png \
10 file://weston.desktop \
11 file://make-lcms-explicitly-configurable.patch \
12 file://make-libwebp-explicitly-configurable.patch \
13 file://0001-make-error-portable.patch \
14 file://libsystemd.patch \
15 file://explicit-enable-disable-systemd.patch \
16 file://add-config-option-for-no-input-device.patch \
17"
18SRC_URI[md5sum] = "66bbba12f546570b4d97f676bc79a28e"
19SRC_URI[sha256sum] = "9c1b03f3184fa0b0dfdf67e215048085156e1a2ca344af6613fed36794ac48cf"
20
21inherit autotools pkgconfig useradd distro_features_check
22# depends on virtual/egl
23REQUIRED_DISTRO_FEATURES = "opengl"
24
25DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0 jpeg"
26DEPENDS += "wayland libinput virtual/egl pango wayland-native"
27
28EXTRA_OECONF = "--enable-setuid-install \
29 --enable-simple-clients \
30 --enable-clients \
31 --enable-demo-clients-install \
32 --disable-rpi-compositor \
33 --disable-rdp-compositor \
34 "
35
36EXTRA_OECONF_append_qemux86 = "\
37 WESTON_NATIVE_BACKEND=fbdev-backend.so \
38 "
39EXTRA_OECONF_append_qemux86-64 = "\
40 WESTON_NATIVE_BACKEND=fbdev-backend.so \
41 "
42PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl', '', d)} \
43 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
44 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'launch', '', d)} \
45 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
46 "
47#
48# Compositor choices
49#
50# Weston on KMS
51PACKAGECONFIG[kms] = "--enable-drm-compositor,--disable-drm-compositor,drm udev virtual/mesa mtdev"
52# Weston on Wayland (nested Weston)
53PACKAGECONFIG[wayland] = "--enable-wayland-compositor,--disable-wayland-compositor,virtual/mesa"
54# Weston on X11
55PACKAGECONFIG[x11] = "--enable-x11-compositor,--disable-x11-compositor,virtual/libx11 libxcb libxcb libxcursor cairo"
56# Headless Weston
57PACKAGECONFIG[headless] = "--enable-headless-compositor,--disable-headless-compositor"
58# Weston on framebuffer
59PACKAGECONFIG[fbdev] = "--enable-fbdev-compositor,--disable-fbdev-compositor,udev mtdev"
60# weston-launch
61PACKAGECONFIG[launch] = "--enable-weston-launch,--disable-weston-launch,libpam drm"
62# VA-API desktop recorder
63PACKAGECONFIG[vaapi] = "--enable-vaapi-recorder,--disable-vaapi-recorder,libva"
64# Weston with EGL support
65PACKAGECONFIG[egl] = "--enable-egl --enable-simple-egl-clients,--disable-egl --disable-simple-egl-clients,virtual/egl"
66# Weston with cairo glesv2 support
67PACKAGECONFIG[cairo-glesv2] = "--with-cairo-glesv2,--with-cairo=image,cairo"
68# Weston with lcms support
69PACKAGECONFIG[lcms] = "--enable-lcms,--disable-lcms,lcms"
70# Weston with webp support
71PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
72# Weston with unwinding support
73PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
74# Weston with systemd-login support
75PACKAGECONFIG[systemd] = "--enable-systemd-login,--disable-systemd-login,systemd dbus"
76# Weston with Xwayland support
77PACKAGECONFIG[xwayland] = "--enable-xwayland,--disable-xwayland,libxcb libxcursor cairo"
78# colord CMS support
79PACKAGECONFIG[colord] = "--enable-colord,--disable-colord,colord"
80
81do_install_append() {
82 # Weston doesn't need the .la files to load modules, so wipe them
83 rm -f ${D}/${libdir}/weston/*.la
84
85 # If X11, ship a desktop file to launch it
86 if [ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" = "x11" ]; then
87 install -d ${D}${datadir}/applications
88 install ${WORKDIR}/weston.desktop ${D}${datadir}/applications
89
90 install -d ${D}${datadir}/icons/hicolor/48x48/apps
91 install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps
92 fi
93}
94
95PACKAGES += "${PN}-examples"
96
97FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}"
98FILES_${PN}-examples = "${bindir}/*"
99
100RDEPENDS_${PN} += "xkeyboard-config"
101RRECOMMENDS_${PN} = "liberation-fonts"
102
103USERADD_PACKAGES = "${PN}"
104GROUPADD_PARAM_${PN} = "--system weston-launch"