diff options
author | Jason M. Bills <jason.m.bills@linux.intel.com> | 2020-07-10 00:15:49 +0300 |
---|---|---|
committer | Jason M. Bills <jason.m.bills@linux.intel.com> | 2020-07-10 00:15:49 +0300 |
commit | f24c1e9afc47a421831278b57377951e71494d92 (patch) | |
tree | f01c5b14beb4bf31905f769569ed647884491cea /meta-raspberrypi | |
parent | 057594a8bb8d062d72244196170c2d78947d318a (diff) | |
parent | 31e5d79893f21786cb0635ab3640d50ff6202f6a (diff) | |
download | openbmc-f24c1e9afc47a421831278b57377951e71494d92.tar.xz |
Merge tag 'wht-0.66' of ssh://git-amr-1.devtools.intel.com:29418/openbmc-openbmc into update
Diffstat (limited to 'meta-raspberrypi')
54 files changed, 604 insertions, 159 deletions
diff --git a/meta-raspberrypi/README.md b/meta-raspberrypi/README.md index 212576793..898426d8f 100644 --- a/meta-raspberrypi/README.md +++ b/meta-raspberrypi/README.md @@ -5,6 +5,7 @@ Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>. [![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi1/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi1) [![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi2/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi2) [![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi3/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi3) +[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi4/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi4) [![Documentation Status](https://readthedocs.org/projects/meta-raspberrypi/badge/?version=latest)](https://meta-raspberrypi.readthedocs.io/en/latest/?badge=latest) [![Matrix](https://img.shields.io/matrix/meta-raspberrypi:cub.icu.svg?server_fqdn=matrix.cub.icu)](https://matrix.to/#/#meta-raspberrypi:cub.icu) @@ -49,8 +50,30 @@ This layer depends on: 2. Add this layer to bblayers.conf and the dependencies above 3. Set MACHINE in local.conf to one of the supported boards 4. bitbake core-image-base -5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used) -6. Boot your RPI. +5. Use bmaptool to copy the generated .wic.bz2 file to the SD card +6. Boot your RPI + +## Quick Start with kas + +1. Install kas build tool from PyPi (sudo pip3 install kas) +2. kas build meta-raspberrypi/kas-poky-rpi.yml +3. Use bmaptool to copy the generated .wic.bz2 file to the SD card +4. Boot your RPI + +To adjust the build configuration with specific options (I2C, SPI, ...), simply add +a section as follows: + +``` +local_conf_header: + rpi-specific: | + ENABLE_I2C = "1" + RPI_EXTRA_CONFIG = "dtoverlay=pi3-disable-bt" +``` + +To configure the machine, you have to update the `machine` variable. +And the same for the `distro`. + +For further information, you can read more at <https://kas.readthedocs.io/en/1.0/index.html> ## Maintainers diff --git a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass index 177988e61..43426b275 100644 --- a/meta-raspberrypi/classes/sdcard_image-rpi.bbclass +++ b/meta-raspberrypi/classes/sdcard_image-rpi.bbclass @@ -58,7 +58,7 @@ do_image_rpi_sdimg[depends] = " \ rpi-config:do_deploy \ ${@bb.utils.contains('MACHINE_FEATURES', 'armstub', 'armstubs:do_deploy', '' ,d)} \ ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \ - ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'rpi-u-boot-scr:do_deploy', '',d)} \ + ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot-default-script:do_deploy', '',d)} \ " do_image_rpi_sdimg[recrdeps] = "do_build" diff --git a/meta-raspberrypi/conf/layer.conf b/meta-raspberrypi/conf/layer.conf index c958587b2..4ed79591f 100644 --- a/meta-raspberrypi/conf/layer.conf +++ b/meta-raspberrypi/conf/layer.conf @@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "raspberrypi" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PRIORITY_raspberrypi = "9" -LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus" +LAYERSERIES_COMPAT_raspberrypi = "sumo thud warrior zeus dunfell" # Additional license directories. LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" @@ -32,3 +32,6 @@ BBFILES_DYNAMIC += " \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \ qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \ " + +DEFAULT_TEST_SUITES_remove_rpi = "parselogs" +DEFAULT_TEST_SUITES_append_rpi = " parselogs_rpi" diff --git a/meta-raspberrypi/conf/machine/include/rpi-base.inc b/meta-raspberrypi/conf/machine/include/rpi-base.inc index 9772fd9d6..7a87bd13a 100644 --- a/meta-raspberrypi/conf/machine/include/rpi-base.inc +++ b/meta-raspberrypi/conf/machine/include/rpi-base.inc @@ -5,7 +5,7 @@ include conf/machine/include/rpi-default-providers.inc SOC_FAMILY = "rpi" include conf/machine/include/soc-family.inc -IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg" +IMAGE_FSTYPES ?= "tar.bz2 ext3 wic.bz2 wic.bmap" WKS_FILE ?= "sdimage-raspberrypi.wks" XSERVER = " \ @@ -16,6 +16,7 @@ XSERVER = " \ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/at86rf233.dtbo \ + overlays/disable-bt.dtbo \ overlays/dwc2.dtbo \ overlays/gpio-key.dtbo \ overlays/hifiberry-amp.dtbo \ @@ -25,9 +26,8 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/i2c-rtc.dtbo \ overlays/iqaudio-dac.dtbo \ overlays/iqaudio-dacplus.dtbo \ + overlays/miniuart-bt.dtbo \ overlays/mcp2515-can0.dtbo \ - overlays/pi3-disable-bt.dtbo \ - overlays/pi3-miniuart-bt.dtbo \ overlays/pitft22.dtbo \ overlays/pitft28-resistive.dtbo \ overlays/pitft28-capacitive.dtbo \ @@ -76,7 +76,9 @@ MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa blue # Raspberry Pi has no hardware clock MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc" -MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi" +MACHINE_EXTRA_RRECOMMENDS += "kernel-modules udev-rules-rpi" +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "${@oe.utils.conditional('ENABLE_I2C', '1', 'kernel-module-i2c-dev kernel-module-i2c-bcm2708', '', d)}" + # Set Raspberrypi splash image SPLASH = "psplash-raspberrypi" diff --git a/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc b/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc index 5231a84e1..181b9364b 100644 --- a/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc +++ b/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc @@ -8,3 +8,8 @@ PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "v PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}" PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}" PREFERRED_PROVIDER_jpeg ?= "jpeg" + +PREFERRED_PROVIDER_virtual/libomxil ?= "userland" +VIRTUAL-RUNTIME_libomxil = "userland" + +PREFERRED_PROVIDER_u-boot-default-script ??= "rpi-u-boot-scr" diff --git a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf index 23b59ed95..65e3302c3 100644 --- a/meta-raspberrypi/conf/machine/raspberrypi3-64.conf +++ b/meta-raspberrypi/conf/machine/raspberrypi3-64.conf @@ -31,4 +31,5 @@ KERNEL_IMAGETYPE_UBOOT ?= "Image" KERNEL_IMAGETYPE_DIRECT ?= "Image" KERNEL_BOOTCMD ?= "booti" +VC4DTBO ?= "vc4-fkms-v3d" ARMSTUB ?= "armstub8.bin" diff --git a/meta-raspberrypi/conf/machine/raspberrypi3.conf b/meta-raspberrypi/conf/machine/raspberrypi3.conf index 581e47c8f..dafb66e5a 100644 --- a/meta-raspberrypi/conf/machine/raspberrypi3.conf +++ b/meta-raspberrypi/conf/machine/raspberrypi3.conf @@ -17,4 +17,5 @@ SDIMG_KERNELIMAGE ?= "kernel7.img" UBOOT_MACHINE = "rpi_3_32b_config" SERIAL_CONSOLES ?= "115200;ttyS0" +VC4DTBO ?= "vc4-fkms-v3d" ARMSTUB ?= "armstub7.bin" diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md index a2b68d8ce..843247aaa 100644 --- a/meta-raspberrypi/docs/extra-build-config.md +++ b/meta-raspberrypi/docs/extra-build-config.md @@ -184,6 +184,10 @@ When using device tree kernels, set this variable to enable I2C: ENABLE_I2C = "1" +Furthermore, to auto-load I2C kernel modules set: + + KERNEL_MODULE_AUTOLOAD_rpi += "i2c-dev i2c-bcm2708" + ## Enable PiTFT support Basic support for using PiTFT screens can be enabled by adding below in diff --git a/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend index c43da01ae..e48f31d11 100644 --- a/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend +++ b/meta-raspberrypi/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend @@ -4,7 +4,7 @@ PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'g PACKAGECONFIG_GL_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' kms', '', d)}" PACKAGECONFIG_GL_append_rpi = " gbm" PACKAGECONFIG_FONTS_rpi = "fontconfig" -PACKAGECONFIG_append_rpi = " libinput examples tslib xkb xkbcommon" +PACKAGECONFIG_append_rpi = " libinput examples tslib xkbcommon" PACKAGECONFIG_remove_rpi = "tests" OE_QTBASE_EGLFS_DEVICE_INTEGRATION_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'eglfs_brcm', d)}" @@ -15,5 +15,5 @@ do_configure_prepend_rpi() { echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" >> ${S}/mkspecs/oe-device-extra.pri fi } -RDEPENDS_${PN}_append_rpi = " userland" +RDEPENDS_${PN}_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}" DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}" diff --git a/meta-raspberrypi/kas-poky-rpi.yml b/meta-raspberrypi/kas-poky-rpi.yml new file mode 100644 index 000000000..2d80a57ed --- /dev/null +++ b/meta-raspberrypi/kas-poky-rpi.yml @@ -0,0 +1,58 @@ +header: + version: 8 + +machine: raspberrypi4 +distro: poky +target: + - core-image-base + +repos: + meta-raspberry: + + poky: + url: https://git.yoctoproject.org/git/poky + refspec: master + layers: + meta: + meta-poky: + meta-yocto-bsp: + + meta-openembedded: + url: http://git.openembedded.org/meta-openembedded + refspec: master + layers: + meta-oe: + meta-python: + meta-networking: + meta-perl: + + meta-qt5: + url: https://github.com/meta-qt5/meta-qt5/ + refspec: master + +bblayers_conf_header: + standard: | + POKY_BBLAYERS_CONF_VERSION = "2" + BBPATH = "${TOPDIR}" + BBFILES ?= "" +local_conf_header: + reduce_diskspace: | + INHERIT += "rm_work_and_downloads" + standard: | + CONF_VERSION = "1" + PACKAGE_CLASSES = "package_rpm" + SDKMACHINE = "x86_64" + USER_CLASSES = "buildstats image-mklibs image-prelink" + PATCHRESOLVE = "noop" + debug-tweaks: | + EXTRA_IMAGE_FEATURES = "debug-tweaks" + diskmon: | + BB_DISKMON_DIRS = "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" diff --git a/meta-raspberrypi/lib/oeqa/runtime/cases/parselogs_rpi.py b/meta-raspberrypi/lib/oeqa/runtime/cases/parselogs_rpi.py new file mode 100644 index 000000000..5cf9af17c --- /dev/null +++ b/meta-raspberrypi/lib/oeqa/runtime/cases/parselogs_rpi.py @@ -0,0 +1,15 @@ +from oeqa.runtime.cases.parselogs import * + +rpi_errors = [ + 'bcmgenet fd580000.genet: failed to get enet-eee clock', + 'bcmgenet fd580000.genet: failed to get enet-wol clock', + 'bcmgenet fd580000.genet: failed to get enet clock', +] + +ignore_errors['raspberrypi4'] = rpi_errors + common_errors +ignore_errors['raspberrypi4-64'] = rpi_errors + common_errors +ignore_errors['raspberrypi3'] = rpi_errors + common_errors +ignore_errors['raspberrypi3-64'] = rpi_errors + common_errors + +class ParseLogsTestRpi(ParseLogsTest): + pass diff --git a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc index 869ea3a5c..5e4b77268 100644 --- a/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc +++ b/meta-raspberrypi/recipes-bsp/common/raspberrypi-firmware.inc @@ -1,10 +1,10 @@ -RPIFW_DATE ?= "20191210" -SRCREV ?= "9d6be5b07e81bdfb9c4b9a560e90fbc7477fdc6e" +RPIFW_DATE ?= "20200504" +SRCREV ?= "7eff9f6774bb43bfd61e749a0b45ffddc98c2311" RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz" RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}" SRC_URI = "${RPIFW_SRC_URI}" -SRC_URI[md5sum] = "645e812765c8b4ca05d6cb47a1f67ab0" -SRC_URI[sha256sum] = "484d52caed909fcafbf593cc3e726ea44a9218db7f0aeec843b825797eb9b0fc" +SRC_URI[md5sum] = "05cd161dca5a6f02684794960913e04c" +SRC_URI[sha256sum] = "77ad450dd7cabb58ca04a18fd704844df6e642374346cf006a07edca46615af1" PV = "${RPIFW_DATE}" diff --git a/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb b/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb index 593fc903e..4cb8978e4 100644 --- a/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb +++ b/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb @@ -24,3 +24,5 @@ do_deploy() { } addtask do_deploy after do_compile before do_build + +PROVIDES += "u-boot-default-script" diff --git a/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend b/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend index 95015f494..9ce642563 100644 --- a/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend +++ b/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend @@ -1 +1 @@ -DEPENDS_append_rpi = " rpi-u-boot-scr" +DEPENDS_append_rpi = " u-boot-default-script" diff --git a/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb b/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb index 852e3a604..3dbe96d43 100644 --- a/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb +++ b/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb @@ -2,6 +2,8 @@ DESCRIPTION = "RaspberryPi Test Packagegroup" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +PACKAGE_ARCH = "${MACHINE_ARCH}" + inherit packagegroup COMPATIBLE_MACHINE = "^rpi$" @@ -23,8 +25,6 @@ RDEPENDS_${PN} = "\ " RRECOMMENDS_${PN} = "\ - bigbuckbunny-1080p \ - bigbuckbunny-480p \ - bigbuckbunny-720p \ + ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-multimedia", "bigbuckbunny-1080p bigbuckbunny-480p bigbuckbunny-720p", "", d)} \ ${MACHINE_EXTRA_RRECOMMENDS} \ " diff --git a/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend b/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend index 09e3ec9d0..41622aa50 100644 --- a/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend +++ b/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend @@ -1,3 +1,2 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:" -SPLASH_IMAGES_append_rpi = " file://psplash-raspberrypi-img.h;outsuffix=raspberrypi" -ALTERNATIVE_PRIORITY_psplash-raspberrypi[psplash] = "200" +SPLASH_IMAGES_rpi = "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi" diff --git a/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb b/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb index c3254bcf9..d5653cb0d 100644 --- a/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb +++ b/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb @@ -10,13 +10,13 @@ inherit pypi SRC_URI += "file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch" -inherit setuptools +inherit setuptools3 COMPATIBLE_MACHINE = "^rpi$" RDEPENDS_${PN} = "\ - python-logging \ - python-threading \ + python3-logging \ + python3-threading \ " SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4" diff --git a/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch b/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch new file mode 100644 index 000000000..0bda01450 --- /dev/null +++ b/meta-raspberrypi/recipes-graphics/mesa/files/0001-dri2-query-dma-buf-modifiers.patch @@ -0,0 +1,43 @@ +mesa: querying dma_buf_modifiers for specific formats + +mesa wl_drm protocol is the backend for wayland server side which requires +the dmabuf modifiers for some DRM formats on specific devices like RPI. +Currently there is no support of giving any dmabuf modifiers on wl_drm protocol. +This dma_buf modifiers allows EGL implementations to add extra attributes +to drm_fourcc format. + +Upstream-Status: Pending + +Signed-off-by: Balaji Velmurugan <balaji.velmurugan@ltts.com> + +--- a/src/gallium/state_trackers/dri/dri2.c ++++ b/src/gallium/state_trackers/dri/dri2.c +@@ -1366,14 +1366,28 @@ dri2_from_planar(__DRIimage *image, int + return img; + } + ++static boolean ++dri2_query_dma_buf_modifiers(__DRIscreen *_screen, int fourcc, int max, ++ uint64_t *modifiers, unsigned int *external_only, ++ int *count); + static __DRIimage * + dri2_from_fds(__DRIscreen *screen, int width, int height, int fourcc, + int *fds, int num_fds, int *strides, int *offsets, + void *loaderPrivate) + { ++ uint64_t modifier= DRM_FORMAT_MOD_INVALID; ++ unsigned int external_only= 0; ++ int count= 0; ++ boolean result; ++ result= dri2_query_dma_buf_modifiers( screen, fourcc, 1, &modifier, &external_only, &count); ++ return dri2_create_image_from_fd(screen, width, height, fourcc, ++ modifier, fds, num_fds, ++ strides, offsets, NULL, loaderPrivate); ++ #if 0 + return dri2_create_image_from_fd(screen, width, height, fourcc, + DRM_FORMAT_MOD_INVALID, fds, num_fds, + strides, offsets, NULL, loaderPrivate); ++ #endif + } + + static boolean diff --git a/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend index eaa46f27b..d3435e720 100644 --- a/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend +++ b/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend @@ -1,6 +1,10 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" # DRI3 note: # With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set # as default. To state out clearly that Raspi needs dri3 and to avoid surprises # in case oe-core changes this default, we set dri3 explicitly. + +SRC_URI_append_rpi = " file://0001-dri2-query-dma-buf-modifiers.patch " + PACKAGECONFIG_append_rpi = " gallium vc4 v3d kmsro ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}" DRIDRIVERS_class-target_rpi = "" diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch index af803a3de..21b40a3e1 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0001-Allow-applications-to-set-next-resource-handle.patch @@ -1,7 +1,7 @@ -From ccb7f6f1a2bc491a24c0402616a2d24b85e3933a Mon Sep 17 00:00:00 2001 +From 4ffe3e0bc856ce1d2c52e84be6ea9337a5ce5410 Mon Sep 17 00:00:00 2001 From: Dom Cobley <dc4@broadcom.com> Date: Tue, 9 Jul 2013 09:26:26 -0400 -Subject: [PATCH 01/19] Allow applications to set next resource handle +Subject: [PATCH] Allow applications to set next resource handle This patch adds provisions in userland to let apps callers set the next rendereing dispmanx resource. @@ -203,6 +203,3 @@ index 8a5734c..51b3580 100644 FN(void, eglIntSelectMipmap_impl, (EGL_SURFACE_ID_T s, int level)) FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data)) --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch index 8ce9090c1..9b0dd21eb 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0002-wayland-Add-support-for-the-Wayland-winsys.patch @@ -1,7 +1,7 @@ -From 7432d49ddca97b34e402d0108221d34ec69bcd66 Mon Sep 17 00:00:00 2001 +From 21dba61f098020d1143289017841ca76995618d4 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso <tomeu.vizoso@collabora.com> Date: Tue, 1 Oct 2013 13:19:20 +0200 -Subject: [PATCH 02/19] wayland: Add support for the Wayland winsys +Subject: [PATCH] wayland: Add support for the Wayland winsys * Adds EGL_WL_bind_wayland_display extension * Adds wayland-egl library @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> CMakeLists.txt | 11 + README.md | 4 + buildme | 10 +- - .../linux/apps/raspicam/CMakeLists.txt | 2 +- + .../linux/apps/raspicam/CMakeLists.txt | 3 +- interface/khronos/CMakeLists.txt | 54 +++- interface/khronos/common/khrn_client.c | 15 ++ interface/khronos/common/khrn_client.h | 10 + @@ -49,7 +49,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> interface/vmcs_host/vc_vchi_dispmanx.h | 15 ++ interface/wayland/dispmanx.xml | 123 +++++++++ makefiles/cmake/Wayland.cmake | 72 +++++ - 30 files changed, 1257 insertions(+), 99 deletions(-) + 30 files changed, 1258 insertions(+), 99 deletions(-) create mode 100644 interface/khronos/common/linux/khrn_wayland.c copy interface/{vmcs_host/vc_vchi_dispmanx.h => khronos/common/linux/khrn_wayland.h} (56%) create mode 100644 interface/khronos/ext/egl_wayland.c @@ -69,10 +69,10 @@ index 63570f1..1459436 100644 *.mkv +*~ diff --git a/CMakeLists.txt b/CMakeLists.txt -index cfc8ae5..673a5ad 100644 +index d8ba238..8c5bf5f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -24,6 +24,17 @@ include(makefiles/cmake/global_settings.cmake) +@@ -20,6 +20,17 @@ include(makefiles/cmake/global_settings.cmake) include(makefiles/cmake/arm-linux.cmake) include(makefiles/cmake/vmcs.cmake) @@ -103,7 +103,7 @@ index 404e4d4..97a6b8f 100644 + +$ BUILD_WAYLAND=1 ./buildme. diff --git a/buildme b/buildme -index cee90a6..d1d76a7 100755 +index 9e2d405..7b8c0d6 100755 --- a/buildme +++ b/buildme @@ -17,6 +17,10 @@ fi @@ -133,15 +133,16 @@ index cee90a6..d1d76a7 100755 if [ "$1" != "" ]; then diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt -index f7db21e..73997b7 100644 +index 656a9a0..4b0a888 100644 --- a/host_applications/linux/apps/raspicam/CMakeLists.txt +++ b/host_applications/linux/apps/raspicam/CMakeLists.txt -@@ -54,7 +54,7 @@ add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c) +@@ -59,7 +59,8 @@ add_executable(raspivid ${COMMON_SOURCES} RaspiVid.c) + add_executable(raspividyuv ${COMMON_SOURCES} RaspiVidYUV.c) set (MMAL_LIBS mmal_core mmal_util mmal_vc_client) - --target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl) -+target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m dl ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES}) +-target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host ${EGL_LIBS} m dl) ++ ++target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host ${EGL_LIBS} m dl ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES}) target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host) target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host) target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host) @@ -1551,7 +1552,7 @@ index 0000000..8bafc15 +Libs: -L${libdir} -lwayland-egl +Cflags: -I${includedir} diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt -index a157db1..55b6ace 100755 +index 4a914a7..c202204 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -7,13 +7,24 @@ @@ -1582,8 +1583,8 @@ index a157db1..55b6ace 100755 +add_library(vchostif ${VCHOSTIF_SOURCE}) + #add_library(bufman vc_vchi_bufman.c ) + set(INSTALL_TARGETS vchostif) - # OpenMAX/IL component service diff --git a/interface/vmcs_host/vc_dispmanx.h b/interface/vmcs_host/vc_dispmanx.h index 37fdae1..fe3619a 100755 --- a/interface/vmcs_host/vc_dispmanx.h @@ -1893,6 +1894,3 @@ index 0000000..ad90d30 + list(APPEND ${_sources} "${_server_header}") + set(${_sources} ${${_sources}} PARENT_SCOPE) +endfunction() --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch index 3da0f50de..b99576966 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0003-wayland-Add-Wayland-example.patch @@ -1,7 +1,7 @@ -From 481a9aeba3f84371668fdf8a1380a3cb23bfc502 Mon Sep 17 00:00:00 2001 +From d2fd39ea43f948feba34e895600afd801e03691f Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso <tomeu.vizoso@collabora.com> Date: Tue, 1 Oct 2013 13:19:20 +0200 -Subject: [PATCH 03/19] wayland: Add Wayland example +Subject: [PATCH] wayland: Add Wayland example --- .../linux/apps/hello_pi/CMakeLists.txt | 1 + @@ -861,6 +861,3 @@ index 8225dd5..0be6ce7 100755 make -C hello_mmal_encode - +make -C hello_wayland --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch index 9ca6b9f87..b08146833 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0004-wayland-egl-Add-bcm_host-to-dependencies.patch @@ -1,7 +1,7 @@ -From 4463e2732a09dbb721d0614e7147cbfaa9059930 Mon Sep 17 00:00:00 2001 +From 53ef88cdb879050fc6f5247e7ca05260af69f2e8 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 10 Aug 2015 02:38:27 -0700 -Subject: [PATCH 04/19] wayland-egl: Add bcm_host to dependencies +Subject: [PATCH] wayland-egl: Add bcm_host to dependencies It uses headers like vcos_platform_types.h but does not depend on module which should add the required include paths @@ -23,6 +23,3 @@ index 8bafc15..fd259c9 100644 +Requires: bcm_host Libs: -L${libdir} -lwayland-egl Cflags: -I${includedir} --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch index 459fc04a1..27e69a91c 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch @@ -1,8 +1,8 @@ -From 571c417c055a57cfd42c30a7a8279332397bad83 Mon Sep 17 00:00:00 2001 +From 237b9690154d2840d02aa927c56d80ef43f384b3 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" <yann.morin.1998@free.fr> Date: Sat, 24 Jan 2015 22:07:19 +0100 -Subject: [PATCH 05/19] interface: remove faulty assert() to make weston happy - at runtime +Subject: [PATCH] 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). @@ -24,6 +24,3 @@ index eab146e..29e0dee 100755 dispmanx_client.update_callback(handle, dispmanx_client.update_callback_param); } } else { --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch index cc59ca619..872bc7b82 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0006-zero-out-wl-buffers-in-egl_surface_free.patch @@ -1,7 +1,7 @@ -From 393e90beb9f5e535b5ce5d9eba4bc74907a96afe Mon Sep 17 00:00:00 2001 +From 5acedbd1d27fe528687f27173d2af9b1786f580d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Feb 2016 11:10:47 -0800 -Subject: [PATCH 06/19] zero-out wl buffers in egl_surface_free +Subject: [PATCH] zero-out wl buffers in egl_surface_free origins from buildroot @@ -28,6 +28,3 @@ index 42350bf..1f923d9 100644 } #endif } --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch index c5ad5195f..0494e6ed8 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0007-initialize-front-back-wayland-buffers.patch @@ -1,7 +1,7 @@ -From 3e7e309de25d546a4836c59523060f286aadd87d Mon Sep 17 00:00:00 2001 +From 9159eff795a8ef3be0b3bfd554ef1aa23340884d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Feb 2016 11:11:41 -0800 -Subject: [PATCH 07/19] initialize front back wayland buffers +Subject: [PATCH] initialize front back wayland buffers origins from metrological wayland support @@ -29,6 +29,3 @@ index 1f923d9..9a9582c 100644 resource = DISPMANX_NO_HANDLE; } #endif --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch index 219a25874..68875eb50 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0008-Remove-RPC_FLUSH.patch @@ -1,7 +1,7 @@ -From a08887086cf4418fa0999a340c574b66a5ab4412 Mon Sep 17 00:00:00 2001 +From 581742c1edf89d4ed3728a3c6d59484ced4234cc Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Feb 2016 11:09:18 -0800 -Subject: [PATCH 08/19] Remove RPC_FLUSH +Subject: [PATCH] Remove RPC_FLUSH Origins from buildroot @@ -22,6 +22,3 @@ index f9b7287..b04ffef 100644 #if EGL_BRCM_global_image } #endif --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch index 9e148ee44..fceeb6ebf 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0009-fix-cmake-dependency-race.patch @@ -1,7 +1,7 @@ -From e14d2bfff42be64361a873e73674ce1205af3ee5 Mon Sep 17 00:00:00 2001 +From acc4ffbb0f2a64e82b9cceda201a59df969e1d0f Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 6 Feb 2016 13:12:47 -0800 -Subject: [PATCH 09/19] fix cmake dependency race +Subject: [PATCH] fix cmake dependency race Fixes errors like @@ -42,7 +42,7 @@ index 1d81ca3..d6cd415 100644 add_library (vcos SHARED ${SOURCES}) target_link_libraries (vcos pthread dl rt) diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt -index 55b6ace..ae52495 100755 +index c202204..16d3184 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -15,14 +15,6 @@ set(VCHOSTIF_SOURCE @@ -73,6 +73,3 @@ index f0bae30..8c44c58 100644 struct wl_dispmanx_server_buffer { struct wl_resource *resource; struct wl_dispmanx *dispmanx; --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch index a075b1efa..0ddef975c 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0010-Fix-for-framerate-with-nested-composition.patch @@ -1,7 +1,7 @@ -From ea3f7c3822efd33cec96a79eb9a345544b942d9e Mon Sep 17 00:00:00 2001 +From 0af26805c35c6a600a13ed106bbc7cf85a37ce66 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 29 Mar 2016 20:38:30 -0700 -Subject: [PATCH 10/19] Fix for framerate with nested composition +Subject: [PATCH] Fix for framerate with nested composition frame rate appears irregular and lower than expected when using nested composition. @@ -55,6 +55,3 @@ index 03fe67b..13a110c 100644 #ifdef ANDROID CLIENT_UNLOCK(); --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch index 1e6075118..6e2f658d4 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0011-build-shared-library-for-vchostif.patch @@ -1,7 +1,7 @@ -From 407ab0ed315b4c7b49d1a1dd3777d5af8e0b7e66 Mon Sep 17 00:00:00 2001 +From 6172dbb6fd7cf821471d721569abe9a0de0d869d Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 2 Apr 2016 10:37:24 -0700 -Subject: [PATCH 11/19] build shared library for vchostif +Subject: [PATCH] build shared library for vchostif Fixes #149 @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt -index ae52495..369758b 100755 +index 16d3184..e54f046 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -15,7 +15,7 @@ set(VCHOSTIF_SOURCE @@ -22,7 +22,4 @@ index ae52495..369758b 100755 +add_library(vchostif SHARED ${VCHOSTIF_SOURCE}) #add_library(bufman vc_vchi_bufman.c ) - --- -2.22.0 - + set(INSTALL_TARGETS vchostif) diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch index c4ec57161..19939e07e 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0012-implement-buffer-wrapping-interface-for-dispmanx.patch @@ -1,7 +1,7 @@ -From 48a946e24c3e7172f1044f5815e9cfed96982830 Mon Sep 17 00:00:00 2001 +From efd80d2b278c326cc3dae7eeb1fed6c4dd12a8a6 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 2 Apr 2016 10:54:59 -0700 -Subject: [PATCH 12/19] implement buffer wrapping interface for dispmanx +Subject: [PATCH] implement buffer wrapping interface for dispmanx Courtesy: Zan Dobersek @@ -87,6 +87,3 @@ index c18626d..11ed1ef 100644 </interface> </protocol> --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch index 85b9a4e46..3df1f6d22 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0013-Implement-triple-buffering-for-wayland.patch @@ -1,7 +1,7 @@ -From 31e61d1a1d26442be9c90c479e2b14589acedb0e Mon Sep 17 00:00:00 2001 +From 2e1e3c857cdf365c5a13bcd5d09685cf12f8047c Mon Sep 17 00:00:00 2001 From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com> Date: Thu, 19 Jan 2017 18:56:07 +0000 -Subject: [PATCH 13/19] Implement triple buffering for wayland +Subject: [PATCH] Implement triple buffering for wayland Change from double to triple buffering for wayland. This enables higher frame rates without tearing artifacts @@ -85,6 +85,3 @@ index e328b77..58a3184 100644 /* back_wl_buffer --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch index c49155096..1d5247de0 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch @@ -1,7 +1,7 @@ -From 961cd03f4db37041ae068cd8535f11cf739e42c0 Mon Sep 17 00:00:00 2001 +From a64be7ff40bd6de2ac099c3f0091f14edfe57fe7 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Wed, 10 May 2017 06:39:34 +0000 -Subject: [PATCH 14/19] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT +Subject: [PATCH] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT weston code uses these defines Upstream-Status: Pending @@ -30,6 +30,3 @@ index 4eacf7f..b1acc9f 100644 /* GL_EXT_texture_type_2_10_10_10_REV */ #ifndef GL_EXT_texture_type_2_10_10_10_REV #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch index 2fc16b159..a77f6d480 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0015-EGL-glplatform.h-define-EGL_CAST.patch @@ -1,7 +1,7 @@ -From 9568135c3e4c23e9056135a13cee58c37456aaac Mon Sep 17 00:00:00 2001 +From 8f32b772d869481f88d9b7e14feb43c39b3fc33d Mon Sep 17 00:00:00 2001 From: Andrea Galbusera <gizero@gmail.com> Date: Fri, 14 Jul 2017 09:52:54 +0200 -Subject: [PATCH 15/19] EGL/glplatform.h: define EGL_CAST +Subject: [PATCH] EGL/glplatform.h: define EGL_CAST C++ / C typecast macros for special EGL handle values: used by libepoxy code The definition comes from the updated version of this header in mesa. @@ -27,6 +27,3 @@ index 1f7c930..c39d425 100644 +#endif + #endif /* __eglplatform_h */ --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch index 570b72cac..444595859 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch @@ -1,8 +1,7 @@ -From 493b013cb702b821fdeaef7021ae25dea88900c6 Mon Sep 17 00:00:00 2001 +From fe9ff55dac403b148f229c865bf2826ea4edf447 Mon Sep 17 00:00:00 2001 From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com> Date: Sat, 27 Jan 2018 12:28:31 -0500 -Subject: [PATCH 16/19] Allow multiple wayland compositor state data per - process +Subject: [PATCH] Allow multiple wayland compositor state data per process When eglBindWaylandDisplayWL is called store the wl_global created in a list associated with the wayland display. @@ -140,6 +139,3 @@ index 9ef89cd..abd5ab3 100644 CLIENT_UNLOCK(); --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch index 2f37989fd..a2f2ded45 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch @@ -1,8 +1,7 @@ -From cc25f8abd4498004a276a4ee40e37681fa42422a Mon Sep 17 00:00:00 2001 +From 8f8c22bc8aad6eb0f7c1b68f9f9a89f99adff996 Mon Sep 17 00:00:00 2001 From: Hugo Hromic <hhromic@gmail.com> Date: Sun, 13 May 2018 10:49:04 +0100 -Subject: [PATCH 17/19] khronos: backport typedef for - EGL_EXT_image_dma_buf_import +Subject: [PATCH] khronos: backport typedef for EGL_EXT_image_dma_buf_import The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which expects the `EGLuint64KHR` typedef that is present in recent versions of Khronos. @@ -33,6 +32,3 @@ index d7e5ba7..dcc90ce 100755 #ifndef EGL_WL_bind_wayland_display #define EGL_WL_bind_wayland_display 1 --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch index c44c82165..defaf3e24 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0018-Add-EGL_IMG_context_priority-related-defines.patch @@ -1,7 +1,7 @@ -From e091388b4382d90494b5842e9f591043a45b2b21 Mon Sep 17 00:00:00 2001 +From fe9bf7b9d79133ca5c72f68ed33002a7539e9797 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 15 Jul 2018 00:48:38 -0700 -Subject: [PATCH 18/19] Add EGL_IMG_context_priority related defines +Subject: [PATCH] Add EGL_IMG_context_priority related defines These defines are needed for compiling weston 4.x taken from Khronos headers @@ -30,6 +30,3 @@ index dcc90ce..6842bf9 100755 #ifndef EGL_KHR_vg_parent_image #define EGL_KHR_vg_parent_image 1 #define EGL_VG_PARENT_IMAGE_KHR 0x30BA /* eglCreateImageKHR target */ --- -2.22.0 - diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch b/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch index fc66f535a..34ca21add 100644 --- a/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch +++ b/meta-raspberrypi/recipes-graphics/userland/files/0019-libfdt-Undefine-__wordsize-if-already-defined.patch @@ -1,7 +1,7 @@ -From 5229430874b5275547babdbef1e322922317456d Mon Sep 17 00:00:00 2001 +From 339af0cea0dc29b33773a3d851ea17c42610de7b Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Thu, 25 Jul 2019 23:30:27 -0700 -Subject: [PATCH 19/19] libfdt: Undefine __wordsize if already defined +Subject: [PATCH] libfdt: Undefine __wordsize if already defined glibc 2.30+ defines __wordsize, which is same so its easier to compile for multiple versions of glibc even ones which does not have this define @@ -12,20 +12,17 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 1 file changed, 4 insertions(+) diff --git a/opensrc/helpers/libfdt/libfdt_env.h b/opensrc/helpers/libfdt/libfdt_env.h -index 1c966b8..fc25ca6 100644 +index f4608be..5e83a27 100644 --- a/opensrc/helpers/libfdt/libfdt_env.h +++ b/opensrc/helpers/libfdt/libfdt_env.h -@@ -56,6 +56,10 @@ - #include <stdint.h> +@@ -18,6 +18,10 @@ #include <string.h> + #include <limits.h> +#ifdef __bitwise +#undef __bitwise +#endif + #ifdef __CHECKER__ - #define __force __attribute__((force)) - #define __bitwise __attribute__((bitwise)) --- -2.22.0 - + #define FDT_FORCE __attribute__((force)) + #define FDT_BITWISE __attribute__((bitwise)) diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch b/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch new file mode 100644 index 000000000..3823c12e7 --- /dev/null +++ b/meta-raspberrypi/recipes-graphics/userland/files/0020-openmaxil-add-pkg-config-file.patch @@ -0,0 +1,40 @@ +From d1a9839c6e4b4d187382baf341d25b3d023242cd Mon Sep 17 00:00:00 2001 +From: Martin Jansa <martin.jansa@lge.com> +Date: Wed, 13 Jun 2018 18:22:22 +0000 +Subject: [PATCH] openmaxil: add pkg-config file + +--- + CMakeLists.txt | 2 +- + pkgconfig/openmaxil.pc.in | 10 ++++++++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + create mode 100644 pkgconfig/openmaxil.pc.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8c5bf5f..9f4165a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -131,7 +131,7 @@ include_directories("${PROJECT_BINARY_DIR}") + include(FindPkgConfig QUIET) + if(PKG_CONFIG_FOUND) + # Produce a pkg-config file +- foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc) ++ foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc openmaxil.pc) + configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}" + DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") +diff --git a/pkgconfig/openmaxil.pc.in b/pkgconfig/openmaxil.pc.in +new file mode 100644 +index 0000000..8793a61 +--- /dev/null ++++ b/pkgconfig/openmaxil.pc.in +@@ -0,0 +1,10 @@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=${prefix} ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include ++ ++Name: openmaxil ++Description: Broadcom openmaxil library ++Version: 1 ++Libs: -L${libdir} -lopenmaxil -lvcos -lvchiq_arm -pthread ++Cflags: -I${includedir} -I${includedir}/IL -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch b/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch new file mode 100644 index 000000000..703d3006c --- /dev/null +++ b/meta-raspberrypi/recipes-graphics/userland/files/0021-cmake-Disable-format-overflow-warning-as-error.patch @@ -0,0 +1,32 @@ +From 4886bd9f33727f6a16aeb3b1aa3c25e459f06581 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 31 Mar 2020 11:51:02 -0700 +Subject: [PATCH] cmake: Disable format-overflow warning as error + +gcc10 complains about a check which could potentially be null + +build/inc/interface/vcos/vcos_logging.h:234:88: error: '%s' directive argument is null [-Werror=format-overflow=] + 234 | # define _VCOS_LOG_X(cat, _level, fmt...) do { if (vcos_is_log_enabled(cat,_level)) vcos_log_impl(cat,_level,fmt); } while (0) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A potential fix would be to check for fmt not being null but lets leave +that to experts + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + host_applications/linux/libs/bcm_host/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/host_applications/linux/libs/bcm_host/CMakeLists.txt ++++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt +@@ -3,7 +3,7 @@ if (WIN32) + set(VCOS_PLATFORM win32) + else () + set(VCOS_PLATFORM pthreads) +- add_definitions(-Wall -Werror) ++ add_definitions(-Wall) + endif () + + # set this as we want all the source of vchostif to be available in libbcm_host diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb index 99a3f23c2..eefc1ecd8 100644 --- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb +++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb @@ -6,17 +6,18 @@ LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196" PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}" +PROVIDES += "virtual/libomxil" RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl libegl1 libglesv2-2", d)}" COMPATIBLE_MACHINE = "^rpi$" SRCBRANCH = "master" SRCFORK = "raspberrypi" -SRCREV = "17d2fdc1abd370e09ba7074753294c7976dd6b0d" +SRCREV = "6fb59736b1ae80fc62cddfe3309c800f72e1c07e" # Use the date of the above commit as the package version. Update this when # SRCREV is changed. -PV = "20190724" +PV = "20200316" SRC_URI = "\ git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \ @@ -39,6 +40,8 @@ SRC_URI = "\ file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch \ file://0018-Add-EGL_IMG_context_priority-related-defines.patch \ file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch \ + file://0020-openmaxil-add-pkg-config-file.patch \ + file://0021-cmake-Disable-format-overflow-warning-as-error.patch \ " S = "${WORKDIR}/git" @@ -73,6 +76,10 @@ do_install_append () { rm -rf ${D}${libdir}/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/glesv2.pc \ ${D}${libdir}/pkgconfig/wayland-egl.pc rm -rf ${D}${includedir}/EGL ${D}${includedir}/GLES* ${D}${includedir}/KHR + else + ln -sf brcmglesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc + ln -sf brcmegl.pc ${D}${libdir}/pkgconfig/egl.pc + ln -sf brcmvg.pc ${D}${libdir}/pkgconfig/vg.pc fi } diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb index 3d1aaf898..833f8f68a 100644 --- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb +++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb @@ -35,8 +35,8 @@ NO_GENERIC_LICENSE[WHENCE] = "WHENCE" SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree" -SRCREV = "00daf85ffa373ecce7836df7543c6ebe4cf43639" -PV = "0.0+git${SRCPV}" +SRCREV = "616fc2dd4df421e3974179d9e46d45e7006aeb28" +PV = "20190114-1+rpt6" S = "${WORKDIR}/git" diff --git a/meta-raspberrypi/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch b/meta-raspberrypi/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch new file mode 100644 index 000000000..59183dc30 --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/files/0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch @@ -0,0 +1,33 @@ +From a7783676c60dd90a6f4c26bcb9be03dc5703b74e Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 13 Apr 2020 11:25:32 -0700 +Subject: [PATCH 1/2] Revert "selftests/bpf: Skip perf hw events test if the + setup disabled it" + +This reverts commit da43712a7262891317883d4b3a909fb18dac4b1d. +--- + .../selftests/bpf/prog_tests/stacktrace_build_id_nmi.c | 8 ++------ + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c +index 1735faf17536..f62aa0eb959b 100644 +--- a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c ++++ b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c +@@ -49,12 +49,8 @@ void test_stacktrace_build_id_nmi(void) + pmu_fd = syscall(__NR_perf_event_open, &attr, -1 /* pid */, + 0 /* cpu 0 */, -1 /* group id */, + 0 /* flags */); +- if (pmu_fd < 0 && errno == ENOENT) { +- printf("%s:SKIP:no PERF_COUNT_HW_CPU_CYCLES\n", __func__); +- test__skip(); +- goto cleanup; +- } +- if (CHECK(pmu_fd < 0, "perf_event_open", "err %d errno %d\n", ++ if (CHECK(pmu_fd < 0, "perf_event_open", ++ "err %d errno %d. Does the test host support PERF_COUNT_HW_CPU_CYCLES?\n", + pmu_fd, errno)) + goto close_prog; + +-- +2.26.0 + diff --git a/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch b/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch new file mode 100644 index 000000000..e0e7b8583 --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/files/0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch @@ -0,0 +1,57 @@ +From e66a0be4fac135d67ab228a6fd1453b9e36a3644 Mon Sep 17 00:00:00 2001 +From: Changbin Du <changbin.du@gmail.com> +Date: Tue, 28 Jan 2020 23:29:38 +0800 +Subject: [PATCH] perf: Make perf able to build with latest libbfd + +libbfd has changed the bfd_section_* macros to inline functions +bfd_section_<field> since 2019-09-18. See below two commits: + o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html + o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html + +This fix make perf able to build with both old and new libbfd. + +Signed-off-by: Changbin Du <changbin.du@gmail.com> +Acked-by: Jiri Olsa <jolsa@redhat.com> +Cc: Peter Zijlstra <peterz@infradead.org> +Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com +Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> +--- + tools/perf/util/srcline.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/tools/perf/util/srcline.c b/tools/perf/util/srcline.c +index af3f9b9f1e8b..b8e77617fdc4 100644 +--- a/tools/perf/util/srcline.c ++++ b/tools/perf/util/srcline.c +@@ -191,16 +191,30 @@ static void find_address_in_section(bfd *abfd, asection *section, void *data) + bfd_vma pc, vma; + bfd_size_type size; + struct a2l_data *a2l = data; ++ flagword flags; + + if (a2l->found) + return; + +- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0) ++#ifdef bfd_get_section_flags ++ flags = bfd_get_section_flags(abfd, section); ++#else ++ flags = bfd_section_flags(section); ++#endif ++ if ((flags & SEC_ALLOC) == 0) + return; + + pc = a2l->addr; ++#ifdef bfd_get_section_vma + vma = bfd_get_section_vma(abfd, section); ++#else ++ vma = bfd_section_vma(section); ++#endif ++#ifdef bfd_get_section_size + size = bfd_get_section_size(section); ++#else ++ size = bfd_section_size(section); ++#endif + + if (pc < vma || pc >= vma + size) + return; diff --git a/meta-raspberrypi/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch b/meta-raspberrypi/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch new file mode 100644 index 000000000..182893481 --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/files/0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch @@ -0,0 +1,40 @@ +From 4cd12df48b83cef9cc7d6b80b128afbf68746718 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 14 Mar 2020 07:31:34 -0700 +Subject: [PATCH] selftest/bpf: Use CHECK macro instead of RET_IF + +backporting 634efb750435d0a489dc58477d4fcb88b2692942 causes build +failures because RET_IF is defined in 7ee0d4e97b889c0478af9c1a6e5af658b181423f +but that is not backported + +Upstream-Status: Submitted +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Cc: Jakub Sitnicki <jakub@cloudflare.com> +Cc: Alexei Starovoitov <ast@kernel.org> +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +--- + tools/testing/selftests/bpf/test_select_reuseport.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/testing/selftests/bpf/test_select_reuseport.c b/tools/testing/selftests/bpf/test_select_reuseport.c +index 079d0f5a2909..7e4c91f2238d 100644 +--- a/tools/testing/selftests/bpf/test_select_reuseport.c ++++ b/tools/testing/selftests/bpf/test_select_reuseport.c +@@ -668,12 +668,12 @@ static void cleanup_per_test(void) + + for (i = 0; i < NR_RESULTS; i++) { + err = bpf_map_update_elem(result_map, &i, &zero, BPF_ANY); +- RET_IF(err, "reset elem in result_map", ++ CHECK(err, "reset elem in result_map", + "i:%u err:%d errno:%d\n", i, err, errno); + } + + err = bpf_map_update_elem(linum_map, &zero, &zero, BPF_ANY); +- RET_IF(err, "reset line number in linum_map", "err:%d errno:%d\n", ++ CHECK(err, "reset line number in linum_map", "err:%d errno:%d\n", + err, errno); + + for (i = 0; i < REUSEPORT_ARRAY_SIZE; i++) +-- +2.26.0 + diff --git a/meta-raspberrypi/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch b/meta-raspberrypi/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch new file mode 100644 index 000000000..d18b942bc --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/files/0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch @@ -0,0 +1,94 @@ +From 366487b86a8c87954fb4ab7bd88ab49a929a32f6 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 13 Apr 2020 11:25:58 -0700 +Subject: [PATCH 2/2] Revert "selftests/bpf: Fix perf_buffer test on systems w/ + offline CPUs" + +This reverts commit 77bb53cb094828a31cd3c5b402899810f63073c1. +--- + .../selftests/bpf/prog_tests/perf_buffer.c | 29 ++++--------------- + 1 file changed, 5 insertions(+), 24 deletions(-) + +diff --git a/tools/testing/selftests/bpf/prog_tests/perf_buffer.c b/tools/testing/selftests/bpf/prog_tests/perf_buffer.c +index cf6c87936c69..3003fddc0613 100644 +--- a/tools/testing/selftests/bpf/prog_tests/perf_buffer.c ++++ b/tools/testing/selftests/bpf/prog_tests/perf_buffer.c +@@ -4,7 +4,6 @@ + #include <sched.h> + #include <sys/socket.h> + #include <test_progs.h> +-#include "libbpf_internal.h" + + static void on_sample(void *ctx, int cpu, void *data, __u32 size) + { +@@ -20,7 +19,7 @@ static void on_sample(void *ctx, int cpu, void *data, __u32 size) + + void test_perf_buffer(void) + { +- int err, prog_fd, on_len, nr_on_cpus = 0, nr_cpus, i, duration = 0; ++ int err, prog_fd, nr_cpus, i, duration = 0; + const char *prog_name = "kprobe/sys_nanosleep"; + const char *file = "./test_perf_buffer.o"; + struct perf_buffer_opts pb_opts = {}; +@@ -30,27 +29,15 @@ void test_perf_buffer(void) + struct bpf_object *obj; + struct perf_buffer *pb; + struct bpf_link *link; +- bool *online; + + nr_cpus = libbpf_num_possible_cpus(); + if (CHECK(nr_cpus < 0, "nr_cpus", "err %d\n", nr_cpus)) + return; + +- err = parse_cpu_mask_file("/sys/devices/system/cpu/online", +- &online, &on_len); +- if (CHECK(err, "nr_on_cpus", "err %d\n", err)) +- return; +- +- for (i = 0; i < on_len; i++) +- if (online[i]) +- nr_on_cpus++; +- + /* load program */ + err = bpf_prog_load(file, BPF_PROG_TYPE_KPROBE, &obj, &prog_fd); +- if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno)) { +- obj = NULL; +- goto out_close; +- } ++ if (CHECK(err, "obj_load", "err %d errno %d\n", err, errno)) ++ return; + + prog = bpf_object__find_program_by_title(obj, prog_name); + if (CHECK(!prog, "find_probe", "prog '%s' not found\n", prog_name)) +@@ -77,11 +64,6 @@ void test_perf_buffer(void) + /* trigger kprobe on every CPU */ + CPU_ZERO(&cpu_seen); + for (i = 0; i < nr_cpus; i++) { +- if (i >= on_len || !online[i]) { +- printf("skipping offline CPU #%d\n", i); +- continue; +- } +- + CPU_ZERO(&cpu_set); + CPU_SET(i, &cpu_set); + +@@ -99,8 +81,8 @@ void test_perf_buffer(void) + if (CHECK(err < 0, "perf_buffer__poll", "err %d\n", err)) + goto out_free_pb; + +- if (CHECK(CPU_COUNT(&cpu_seen) != nr_on_cpus, "seen_cpu_cnt", +- "expect %d, seen %d\n", nr_on_cpus, CPU_COUNT(&cpu_seen))) ++ if (CHECK(CPU_COUNT(&cpu_seen) != nr_cpus, "seen_cpu_cnt", ++ "expect %d, seen %d\n", nr_cpus, CPU_COUNT(&cpu_seen))) + goto out_free_pb; + + out_free_pb: +@@ -109,5 +91,4 @@ void test_perf_buffer(void) + bpf_link__destroy(link); + out_close: + bpf_object__close(obj); +- free(online); + } +-- +2.26.0 + diff --git a/meta-raspberrypi/recipes-kernel/linux/files/powersave.cfg b/meta-raspberrypi/recipes-kernel/linux/files/powersave.cfg new file mode 100644 index 000000000..9c48eff19 --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/files/powersave.cfg @@ -0,0 +1,13 @@ +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="/dev/mmcblk0p2" +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_AUTOSLEEP=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_ARCH_HIBERNATION_HEADER=y diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb index ee998dbce..03053dac3 100644 --- a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bb @@ -1,6 +1,10 @@ -LINUX_VERSION ?= "4.19.93" +LINUX_VERSION ?= "4.19.120" LINUX_RPI_BRANCH ?= "rpi-4.19.y" -SRCREV = "3fdcc814c54faaf4715ad0d12371c1eec61bf1dc" +SRCREV = "9da67d7329873623bd5c13fae5835d76d5be8806" require linux-raspberrypi_4.19.inc + +SRC_URI += "file://0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch \ + file://0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch \ + " diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb new file mode 100644 index 000000000..ec0767ee6 --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bb @@ -0,0 +1,13 @@ +LINUX_VERSION ?= "5.4.40" +LINUX_RPI_BRANCH ?= "rpi-5.4.y" + +SRCREV = "97badb4baeb8999263a9bc2fa85c3060ffff344b" + +require linux-raspberrypi_5.4.inc + +SRC_URI += "file://0001-perf-Make-perf-able-to-build-with-latest-libbfd.patch \ + file://0001-Revert-selftests-bpf-Skip-perf-hw-events-test-if-the.patch \ + file://0002-Revert-selftests-bpf-Fix-perf_buffer-test-on-systems.patch \ + file://0001-selftest-bpf-Use-CHECK-macro-instead-of-RET_IF.patch \ + file://powersave.cfg \ + " diff --git a/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.inc b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.inc new file mode 100644 index 000000000..232f8a97d --- /dev/null +++ b/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.inc @@ -0,0 +1,12 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:" + +SRC_URI = " \ + git://github.com/raspberrypi/linux.git;branch=${LINUX_RPI_BRANCH} \ + " +SRC_URI_remove = "file://rpi-kernel-misc.cfg" + +require linux-raspberrypi.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +KERNEL_EXTRA_ARGS_append_rpi = " DTC_FLAGS='-@ -H epapr'" diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend index f892c66ec..a7aa8d9c3 100644 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend @@ -1,9 +1,8 @@ -DEPENDS_append_rpi = " userland" GSTREAMER_1_0_OMX_TARGET_rpi = "rpi" GSTREAMER_1_0_OMX_CORE_NAME_rpi = "${libdir}/libopenmaxil.so" -# How to make this RPI specific? -EXTRA_OECONF_append_rpi = " CFLAGS="$CFLAGS -I${STAGING_DIR_TARGET}/usr/include/IL -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux"" -#examples only build with GL but not GLES, so disable it for RPI -EXTRA_OECONF_append_rpi = " --disable-examples" - -RDEPENDS_${PN}_append_rpi = " userland" +EXTRA_OEMESON_append_rpi = " -Dheader_path=${STAGING_DIR_TARGET}/usr/include" +CFLAGS_append_rpi = " \ + -I${STAGING_DIR_TARGET}/usr/include/IL \ + -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads \ + -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux \ +" diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend index 899a2d400..8ab1510d8 100644 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend @@ -1 +1,2 @@ -PACKAGECONFIG_append_rpi = " hls libmms faad" +PACKAGECONFIG_append_rpi = " hls libmms \ + ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'faad', '', d)}" diff --git a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend index 29fcb0e03..bfbce49f1 100644 --- a/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend +++ b/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend @@ -2,10 +2,8 @@ EXTRA_OECONF_append_rpi = " CPPFLAGS='-I${STAGING_INCDIR}/interface/vcos/pthread -I${STAGING_INCDIR}/interface/vmcs_host/linux'" # if using bcm driver enable dispmanx not when using VC4 driver - PACKAGECONFIG_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' dispmanx', d)}" +DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}" PACKAGECONFIG_GL_VC4GRAPHICS = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" PACKAGECONFIG_GL_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '${PACKAGECONFIG_GL_VC4GRAPHICS}', 'egl gles2', d)}" - -PACKAGECONFIG[dispmanx] = "--enable-dispmanx,--disable-dispmanx,userland" diff --git a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb index 3cc03213d..55e5a1c8c 100644 --- a/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb +++ b/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb @@ -7,7 +7,7 @@ SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=00a27da7ac0f9bcd17320ec29ef4bbf6" -DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl libssh libomxil coreutils-native curl-native userland" +DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl libssh virtual/libomxil coreutils-native curl-native userland" PR = "r5" |