diff options
29 files changed, 399 insertions, 42 deletions
diff --git a/meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc b/meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc index 25755d247..70bc68b2e 100644 --- a/meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc +++ b/meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc @@ -8,3 +8,6 @@ DTB_SUFFIX = "r8a7795-h3ulcb" BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm" # Mask MMP recipes BBMASK += "kernel-module-uvcs-drv|omx-user-module" + +# Workaround for SPEC-3706 - versioned bbappends and upstream moved on to 1.16.3 +BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-.*1.16.2\.bbappend" diff --git a/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc b/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc index 5092c4bcb..28360fcc9 100644 --- a/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc +++ b/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc @@ -12,3 +12,5 @@ BBMASK += "kernel-module-uvcs-drv|omx-user-module" DISTRO_FEATURES_append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}" IMAGE_INSTALL_append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen-base xen-mkimage', '', d)}" +# Workaround for SPEC-3706 - versioned bbappends and upstream moved on to 1.16.3 +BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-.*1.16.2\.bbappend" diff --git a/meta-agl-bsp/conf/include/agl_qemux86-64.inc b/meta-agl-bsp/conf/include/agl_qemux86-64.inc index 3915a5e47..81310001e 100644 --- a/meta-agl-bsp/conf/include/agl_qemux86-64.inc +++ b/meta-agl-bsp/conf/include/agl_qemux86-64.inc @@ -43,5 +43,8 @@ ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02" # Force the virtio video device as 'vmware' doesn't always work QB_OPT_APPEND_append = " -vga virtio" +# DRM device weston/compositor systemd unit should depend upon +WESTON_DRM_DEVICE = "dev-dri-card0.device" + # Use our own wks file WKS_FILE="systemd-intel-corei7-64-bootdisk.wks" diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc index a4989b79a..c0538dd2b 100644 --- a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc +++ b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc @@ -4,6 +4,9 @@ GPU_MEM = "256" # Add CMA to the kernel arguments for SOTA OSTREE_KERNEL_ARGS_sota_append = " cma=256M" +# Use 4.19 kernel for jellyfish +PREFERRED_VERSION_linux-raspberrypi = "4.19.%" + #MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2" # use u-boot always diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc index ae302aae1..15ed8c809 100644 --- a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc +++ b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc @@ -4,6 +4,9 @@ GPU_MEM = "256" # Add CMA to the kernel arguments for SOTA OSTREE_KERNEL_ARGS_sota_append = " cma=256M" +# Use 4.19 kernel for jellyfish +PREFERRED_VERSION_linux-raspberrypi = "4.19.%" + # use u-boot always RPI_USE_U_BOOT = "1" diff --git a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc index a7fabfac8..3c45fdfdf 100644 --- a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc +++ b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc @@ -7,3 +7,10 @@ OSTREE_BOOTLOADER ?= "u-boot" WKS_FILE = "singlepart-noloader.wks" RENESAS_DATADIR = "/usr" + +IMAGE_INSTALL_append_rcar-gen3 = " \ + kernel-devicetree \ +" + +# Quiet warnings about unavailable 2.4.100 version due to upstream update +PREFERRED_VERSION_libdrm_rcar-gen3 = "2.4.101" diff --git a/meta-agl-bsp/conf/include/agl_rcar.inc b/meta-agl-bsp/conf/include/agl_rcar.inc index dd64ae772..c14d5d151 100644 --- a/meta-agl-bsp/conf/include/agl_rcar.inc +++ b/meta-agl-bsp/conf/include/agl_rcar.inc @@ -40,8 +40,10 @@ DISTRO_FEATURES_append = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw" # testing shows no issues on H3ULCB when not having them. BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend" +# Workaround for SPEC-3706 - versioned bbappends and upstream moved on to 1.16.3 +BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-.*1.16.2\.bbappend" + IMAGE_INSTALL_append_rcar-gen3 = " \ - kernel-devicetree \ kernel-module-pvrsrvkm \ kernel-module-vsp2 \ kernel-module-vspm \ diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer deleted file mode 120000 index ef3ed76fd..000000000 --- a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer +++ /dev/null @@ -1 +0,0 @@ -../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/
\ No newline at end of file diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend new file mode 120000 index 000000000..2175b25e6 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend @@ -0,0 +1 @@ +../../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
\ No newline at end of file diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-install-wayland.h-header.patch b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-install-wayland.h-header.patch new file mode 100644 index 000000000..d98ca26d5 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-install-wayland.h-header.patch @@ -0,0 +1,33 @@ +From 688a7bfe44a3ca9029fccdb1f7bfdd405927dade Mon Sep 17 00:00:00 2001 +From: Grigory Kletsko <grigory.kletsko@cogentembedded.com> +Date: Thu, 5 May 2016 15:55:55 +0300 +Subject: [PATCH] install wayland.h header + +--- + gst-libs/gst/wayland/Makefile.am | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/gst-libs/gst/wayland/Makefile.am b/gst-libs/gst/wayland/Makefile.am +index a9f3f7b..7281a6e 100644 +--- a/gst-libs/gst/wayland/Makefile.am ++++ b/gst-libs/gst/wayland/Makefile.am +@@ -5,6 +5,8 @@ libgstwayland_@GST_API_VERSION@_la_SOURCES = wayland.c + libgstwayland_@GST_API_VERSION@includedir = \ + $(includedir)/gstreamer-@GST_API_VERSION@/gst/wayland + ++libgstwayland_@GST_API_VERSION@include_HEADERS = wayland.h ++ + libgstwayland_@GST_API_VERSION@_la_CFLAGS = \ + $(GST_PLUGINS_BAD_CFLAGS) \ + $(GST_PLUGINS_BASE_CFLAGS) \ +@@ -22,7 +24,3 @@ libgstwayland_@GST_API_VERSION@_la_LDFLAGS = \ + $(GST_LIB_LDFLAGS) \ + $(GST_ALL_LDFLAGS) \ + $(GST_LT_LDFLAGS) +- +-noinst_HEADERS = \ +- wayland.h +- +-- +2.5.0 + diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-pkgconfig-libgstwayland.patch b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-pkgconfig-libgstwayland.patch new file mode 100644 index 000000000..f677b432b --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-pkgconfig-libgstwayland.patch @@ -0,0 +1,32 @@ +From 96044f1d3773ba2783e3956729cd9c85b04733da Mon Sep 17 00:00:00 2001 +From: Grigory Kletsko <grigory.kletsko@cogentembedded.com> +Date: Thu, 12 May 2016 21:24:38 +0300 +Subject: [PATCH] fix + +--- + pkgconfig/Makefile.am | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/pkgconfig/Makefile.am b/pkgconfig/Makefile.am +index 8e74a8e..f641285 100644 +--- a/pkgconfig/Makefile.am ++++ b/pkgconfig/Makefile.am +@@ -1,6 +1,7 @@ + + ### all of the standard pc files we need to generate + pcverfiles = \ ++ gstreamer-wayland-@GST_API_VERSION@.pc \ + gstreamer-plugins-bad-@GST_API_VERSION@.pc \ + gstreamer-codecparsers-@GST_API_VERSION@.pc \ + gstreamer-insertbin-@GST_API_VERSION@.pc \ +@@ -11,6 +12,7 @@ pcverfiles = \ + gstreamer-bad-audio-@GST_API_VERSION@.pc + + pcverfiles_uninstalled = \ ++ gstreamer-wayland-@GST_API_VERSION@-uninstalled.pc \ + gstreamer-plugins-bad-@GST_API_VERSION@-uninstalled.pc \ + gstreamer-codecparsers-@GST_API_VERSION@-uninstalled.pc \ + gstreamer-insertbin-@GST_API_VERSION@-uninstalled.pc \ +-- +2.5.0 + diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-gstkmssink-add-rcar-du-to-driver-list.patch b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-gstkmssink-add-rcar-du-to-driver-list.patch new file mode 100644 index 000000000..6b421ac67 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-gstkmssink-add-rcar-du-to-driver-list.patch @@ -0,0 +1,25 @@ +From 300a679bd033d9b3fcf6873b1cd0385f0e0435ae Mon Sep 17 00:00:00 2001 +From: Sergey Nazaryev <sergey.nazaryev@cogentembedded.com> +Date: Tue, 26 Feb 2019 17:55:54 +0300 +Subject: [PATCH] gstkmssink: add rcar-du to driver list + +--- + sys/kms/gstkmssink.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c +index cdecbf6..0b11233 100644 +--- a/sys/kms/gstkmssink.c ++++ b/sys/kms/gstkmssink.c +@@ -177,7 +177,7 @@ kms_open (gchar ** driver) + { + static const char *drivers[] = { "i915", "radeon", "nouveau", "vmwgfx", + "exynos", "amdgpu", "imx-drm", "rockchip", "atmel-hlcdc", "msm", +- "xlnx", "vc4", "meson", "sun4i-drm", "mxsfb-drm", ++ "xlnx", "vc4", "meson", "sun4i-drm", "mxsfb-drm", "rcar-du", + "xilinx_drm", /* DEPRECATED. Replaced by xlnx */ + }; + int i, fd = -1; +-- +2.7.4 + diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.%.bbappend b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.%.bbappend new file mode 100644 index 000000000..3d910304c --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.%.bbappend @@ -0,0 +1,13 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI_append = " \ + file://0001-install-wayland.h-header.patch \ + file://0002-pkgconfig-libgstwayland.patch \ + file://0003-gstkmssink-add-rcar-du-to-driver-list.patch \ +" + +PACKAGECONFIG_append = " kms" + +PACKAGECONFIG_remove = '${@ "vulkan" if not ('opengl' in '${DISTRO_FEATURES}') else ""}' +DEPENDS_remove = '${@ "weston" if not ('wayland' in '${DISTRO_FEATURES}') else ""}' +RDEPENDS_gstreamer1.0-plugins-bad_remove = '${@bb.utils.contains("DISTRO_FEATURES", "wayland opengl", "", "libwayland-egl", d)}' diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf new file mode 100644 index 000000000..5fca3ee89 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx/gstomx.conf @@ -0,0 +1,131 @@ +[omxh264dec] +type-name=GstOMXH264Dec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.H264 +rank=512 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-h264,alignment=(string)au,stream-format=(string)byte-stream,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxaaclcdec] +type-name=GstOMXAACDec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.AUDIO.DECODER.AACLC +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport +sink-template-caps=audio/mpeg,mpegversion=(int){2,4},stream-format=(string){raw,adts},rate=(int)[8000,96000],channels=(int)[1,2],framed=(boolean)true +src-template-caps=audio/x-raw,rate=(int)[8000,96000],channels=(int)[1,2],format=(string)S16LE + +[omxmpeg4videodec] +type-name=GstOMXMPEG4VideoDec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.MPEG4 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/mpeg,mpegversion=(int)4,systemstream=(boolean)false,parsed=(boolean)true,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxvc1dec] +type-name=GstOMXWMVDec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.VC1 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-wmv,wmvversion=(int)3,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxh265dec] +type-name=GstOMXH265Dec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.H265 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-h265,alignment=(string)au,stream-format=(string)byte-stream,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxaacdec] +type-name=GstOMXAACDec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.AUDIO.DECODER.AAC +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport +sink-template-caps=audio/mpeg,mpegversion=(int){2,4},stream-format=(string){raw,adts},rate=(int)[8000,48000],channels=(int)[1,6],framed=(boolean)true +src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2,6},format=(string)S16LE + +[omxmp3dec] +type-name=GstOMXMP3Dec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.AUDIO.DECODER.MP3 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport +sink-template-caps=audio/mpeg,mpegversion=(int)1,layer=(int)[1,3],mpegaudioversion=(int)[1,3],rate=(int)[8000,48000],channels=(int)[1,2],parsed=(boolean) true +src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2},format=(string)S16LE + +[omxwmadec] +type-name=GstOMXWMADec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.AUDIO.DECODER.WMA +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;skip-handle-codec-data +sink-template-caps=audio/x-wma,wmaversion=(int)2,rate=(int)[8000,48000],channels=(int){1,2},block_align=(int)[0,2147483647],bitrate=(int)[0,2147483647] +src-template-caps=audio/x-raw,rate=(int)[8000,48000],channels=(int){1,2},format=(string)S16LE + +[omxh264enc] +type-name=GstOMXH264Enc +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.ENCODER.H264 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;renesas-encmc-stride-align +sink-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[80,3840],height=(int)[80,2160] +src-template-caps=video/x-h264,stream-format=(string)byte-stream,width=(int)[80,3840],height=(int)[80,2160] + +[omxvp8dec] +type-name=GstOMXVP8Dec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.VP8 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-vp8,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] + +[omxvp8enc] +type-name=GstOMXVP8Enc +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.ENCODER.VP8 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;renesas-encmc-stride-align +sink-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[80,1920],height=(int)[80,1080] +src-template-caps=video/x-vp8,width=(int)[80,1920],height=(int)[80,1080] + +[omxvp9dec] +type-name=GstOMXVP9Dec +core-name=@RENESAS_DATADIR@/lib/libomxr_core.so +component-name=OMX.RENESAS.VIDEO.DECODER.VP9 +rank=256 +in-port-index=0 +out-port-index=1 +hacks=no-disable-outport;default-pix-aspect-ratio;no-component-reconfigure +sink-template-caps=video/x-vp9,width=(int)[1, MAX],height=(int)[1, MAX] +src-template-caps=video/x-raw,format=(string){NV12,I420},width=(int)[1, MAX],height=(int)[1, MAX] diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.3.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.3.bbappend new file mode 100644 index 000000000..3f87a7539 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.3.bbappend @@ -0,0 +1,33 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:" + +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" +SRC_URI_append = " \ + gitsm://github.com/renesas-rcar/gst-omx.git;branch=RCAR-GEN3/1.16.3 \ + file://gstomx.conf \ +" + +require include/rcar-gen3-path-common.inc + +DEPENDS += "omx-user-module mmngrbuf-user-module" + +SRCREV = "d9748c48c75e8c108af0300d9f452282d266ebd5" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ + file://omx/gstomx.h;beginline=1;endline=22;md5=e2c6664eda77dc22095adbed9cb6c6e4 \ +" + +S = "${WORKDIR}/git" + +GSTREAMER_1_0_OMX_TARGET = "rcar" +GSTREAMER_1_0_OMX_CORE_NAME = "${libdir}/libomxr_core.so" +EXTRA_OEMESON_append = " -Dheader_path=${STAGING_DIR_TARGET}/usr/local/include" + +do_configure_prepend() { + cd ${S} + install -m 0644 ${WORKDIR}/gstomx.conf ${S}/config/rcar/ + sed -i 's,@RENESAS_DATADIR@,${RENESAS_DATADIR},g' ${S}/config/rcar/gstomx.conf + cd ${B} +} + +RDEPENDS_${PN}_append = " omx-user-module" +RDEPENDS_${PN}_remove = "libomxil" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.3.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.3.bbappend new file mode 100644 index 000000000..119fb9a87 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.3.bbappend @@ -0,0 +1,8 @@ +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz" +SRC_URI_append = " gitsm://github.com/renesas-rcar/gst-plugins-bad.git;branch=RCAR-GEN3/1.16.3" + +SRCREV = "3ef17d3c57e12f9d7536e464656b871a8949fa5b" + +DEPENDS += "weston" + +S = "${WORKDIR}/git" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.3.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.3.bbappend new file mode 100644 index 000000000..200768794 --- /dev/null +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.3.bbappend @@ -0,0 +1,13 @@ +SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz" +SRC_URI_append = " gitsm://github.com/renesas-rcar/gst-plugins-good.git;branch=RCAR-GEN3/1.16.3" + +SRCREV = "ca2036d2b09a434adc52aa02890c1503bf7100bf" + +DEPENDS += "mmngrbuf-user-module" + +S = "${WORKDIR}/git" + +EXTRA_OEMESON_append = " \ + -Dcont-frame-capture=true \ + -Dignore-fps-of-video-standard=true \ +" diff --git a/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh b/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh index 7fd940b97..f416ddbdc 100644 --- a/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh +++ b/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh @@ -1,7 +1,12 @@ #!/bin/bash ZIP_1="R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston8-20191206.zip" +ZIP_1_tmp="REN_R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston8-20191206__20200520.zip" ZIP_2="R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston8-20191021.zip" +ZIP_2_tmp="REN_R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston8-20191021__20200520.zip" + +if [ -f "${XDG_DOWNLOAD_DIR}/${ZIP_1_tmp}" ]; then mv "${XDG_DOWNLOAD_DIR}/${ZIP_1_tmp}" "${XDG_DOWNLOAD_DIR}/${ZIP_1}"; fi +if [ -f "${XDG_DOWNLOAD_DIR}/${ZIP_2_tmp}" ]; then mv "${XDG_DOWNLOAD_DIR}/${ZIP_2_tmp}" "${XDG_DOWNLOAD_DIR}/${ZIP_2}"; fi COPY_SCRIPT="$METADIR/bsp/meta-renesas/meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh" @@ -78,3 +83,4 @@ function copy_mm_packages() { return 1 fi } + diff --git a/meta-agl-distro/conf/distro/poky-agl.conf b/meta-agl-distro/conf/distro/poky-agl.conf index c3abdec4e..a94aaabf4 100644 --- a/meta-agl-distro/conf/distro/poky-agl.conf +++ b/meta-agl-distro/conf/distro/poky-agl.conf @@ -8,10 +8,10 @@ DISTRO_NAME = "Automotive Grade Linux" # Release flags DISTRO_CODENAME = "jellyfish" AGL_BRANCH = "jellyfish" -AGLVERSION = "10.0.0" +AGLVERSION = "10.0.3" # switch devel/release -AGLRELEASETYPE ?= "agldevelopment" -#AGLRELEASETYPE ?= "aglrelease" +#AGLRELEASETYPE ?= "agldevelopment" +AGLRELEASETYPE ?= "aglrelease" OVERRIDES .= ":${AGLRELEASETYPE}" # @@ -189,7 +189,7 @@ do_package_write_rpm[vardepsexclude] += "ARCHIVER_TOPDIR PF" PREFERRED_RPROVIDER_virtual/navigation ?= "ondemandnavi" # Set preferred provider for low-can device mapping configuration -PREFERRED_RPROVIDER_virtual/low-can-dev-mapping ?= "dev-mapping" +PREFERRED_RPROVIDER_virtual/low-can-dev-mapping ?= "${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'dev-mapping-ci', 'dev-mapping', d)}" # Mask upstream meta-security bbappend that interferes with non-linux-yocto # kernels due to the bug of having two wildcards, which bitbake does not diff --git a/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping-ci/dev-mapping.conf.ci b/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping-ci/dev-mapping.conf.ci new file mode 100644 index 000000000..bd5c2135a --- /dev/null +++ b/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping-ci/dev-mapping.conf.ci @@ -0,0 +1,7 @@ +; Default CAN device mapping +; Format has to follow ini rules key="value", notice " around value. + +[CANbus-mapping] +hs="vcan0" +ls="vcan0" +j1939="vcan0" diff --git a/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping-ci_1.0.bb b/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping-ci_1.0.bb new file mode 100644 index 000000000..cbba57308 --- /dev/null +++ b/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping-ci_1.0.bb @@ -0,0 +1,18 @@ +SUMMARY = "AGL demo device mapping configuration file" +DESCRIPTION = "This provides a default dev-mapping.conf file \ + that defines mapping between kernel device and logical name \ + used in the low-can binding for the AGL CI setup." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI += "file://dev-mapping.conf.ci" + +inherit allarch + +do_install() { + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/dev-mapping.conf.ci ${D}${sysconfdir}/dev-mapping.conf +} + +RPROVIDES_${PN} = "virtual/low-can-dev-mapping" diff --git a/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping/dev-mapping.conf.default b/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping/dev-mapping.conf.default index 7bd8bf2eb..8519a5873 100644 --- a/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping/dev-mapping.conf.default +++ b/meta-agl-profile-core/recipes-config/dev-mapping/dev-mapping/dev-mapping.conf.default @@ -4,3 +4,4 @@ [CANbus-mapping] hs="can0" ls="can0" +j1939="can0" diff --git a/meta-agl-profile-core/recipes-core/systemd/systemd/0001-fix-udevd-seclabel-parsing.patch b/meta-agl-profile-core/recipes-core/systemd/systemd/0001-fix-udevd-seclabel-parsing.patch deleted file mode 100644 index 29165b58e..000000000 --- a/meta-agl-profile-core/recipes-core/systemd/systemd/0001-fix-udevd-seclabel-parsing.patch +++ /dev/null @@ -1,34 +0,0 @@ -Fix udevd SECLABEL token parsing - -The udevd rules parsing rewrite in v243 broke SECLABEL parsing, -with the result being that udevd crashes when it parses a line -containing a SECLABEL token. Fix the handling of the attribute -of SECLABEL tokens when parsing, and add a check to prevent -crashes if the attribute is missing. - -Upstream-Status: Pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> - -diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c -index efea16e5c5..3e757ccb06 100644 ---- a/src/udev/udev-rules.c -+++ b/src/udev/udev-rules.c -@@ -918,7 +918,7 @@ static int parse_token(UdevRules *rules, const char *key, char *attr, UdevRuleOp - op = OP_ASSIGN; - } - -- r = rule_line_add_token(rule_line, TK_A_SECLABEL, op, value, NULL); -+ r = rule_line_add_token(rule_line, TK_A_SECLABEL, op, value, attr); - } else if (streq(key, "RUN")) { - if (is_match || op == OP_REMOVE) - return log_token_invalid_op(rules, key); -@@ -1927,6 +1927,8 @@ static int udev_rule_apply_token_to_event( - _cleanup_free_ char *name = NULL, *label = NULL; - char label_str[UTIL_LINE_SIZE] = {}; - -+ if (!token->data) -+ break; - name = strdup((const char*) token->data); - if (!name) - return log_oom(); diff --git a/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend b/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend index 242b3d39c..96c4dc35c 100644 --- a/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend +++ b/meta-agl-profile-core/recipes-core/systemd/systemd_%.bbappend @@ -1,7 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "\ - file://0001-fix-udevd-seclabel-parsing.patch \ file://0002-network-add-CAN-Termination-tristate-option.patch \ file://e2fsck.conf \ file://canbus-can.network \ diff --git a/meta-agl-profile-core/recipes-test/pyagl/pyagl_git.bb b/meta-agl-profile-core/recipes-test/pyagl/pyagl_git.bb index 05e657e2d..21ab3e5d8 100644 --- a/meta-agl-profile-core/recipes-test/pyagl/pyagl_git.bb +++ b/meta-agl-profile-core/recipes-test/pyagl/pyagl_git.bb @@ -4,13 +4,17 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/pyagl;protocol=https;branch=${AGL_BRANCH}" -SRCREV = "6703d65bc91054d512fccb57a4275b30319a88d7" +SRCREV = "50083aeb265d767aa8a20fb6fc2c5954a02f8707" PV = "${AGL_BRANCH}+git${SRCPV}" S = "${WORKDIR}/git" inherit setuptools3 +do_install_append() { + install -D -m 0755 ${S}/pyagl/scripts/pyagl ${D}${bindir}/pyagl +} + RDEPENDS_${PN} += " \ python3-asyncio \ python3-asyncssh \ diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init.bbappend index 374e9aa75..b3fecec22 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init.bbappend @@ -7,8 +7,16 @@ AGL_DEFAULT_WESTONSTART ??= "/usr/bin/agl-compositor --config ${sysconfdir}/xdg/ WESTONSTART ??= "${AGL_DEFAULT_WESTONSTART} ${WESTONARGS}" WESTONSTART_append = " ${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", " --log=${DISPLAY_XDG_RUNTIME_DIR}/compositor.log", "",d)}" +# Systemd name of DRM device to have weston/agl-compositor startup depend +# upon, if required. Currently only x86-64 seems to need a dependency to +# avoid failures due to racing with i915 driver init on e.g. UpSquared. +# It seems safer for now to only apply it there rather than doing a blanket +# default everywhere that might then need to be over-ridden for vendor BSPs. +WESTON_DRM_DEVICE ?= "" + WIFILES = " \ file://weston.conf.in \ + file://weston-dep.conf.in \ file://tmpfiles.conf.in \ file://zz-dri.rules.in \ file://zz-input.rules.in \ @@ -37,6 +45,7 @@ do_install_append() { -e "s,@WESTONGROUP@,${WESTONGROUP},g" \ -e "s,@XDG_RUNTIME_DIR@,${DISPLAY_XDG_RUNTIME_DIR},g" \ -e "s,@WESTONSTART@,${WESTONSTART},g" \ + -e "s,@WESTON_DRM_DEVICE@,${WESTON_DRM_DEVICE},g" \ ${WORKDIR}/${f} > ${WORKDIR}/${g} fi done @@ -45,6 +54,11 @@ do_install_append() { install -d ${D}${systemd_system_unitdir}/weston@.service.d install -m644 ${WORKDIR}/weston.conf ${D}/${systemd_system_unitdir}/weston@.service.d/weston-init.conf + # Install weston DRM device dependency drop-in if required + if [ -n "${WESTON_DRM_DEVICE}" ]; then + install -m 0644 ${WORKDIR}/weston-dep.conf ${D}/${systemd_system_unitdir}/weston@.service.d/ + fi + # Install tmpfiles drop-in install -d ${D}${libdir}/tmpfiles.d install -m644 ${WORKDIR}/tmpfiles.conf ${D}${libdir}/tmpfiles.d/weston-init.conf diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/weston-dep.conf.in b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/weston-dep.conf.in new file mode 100644 index 000000000..2b8102096 --- /dev/null +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/weston-dep.conf.in @@ -0,0 +1,3 @@ +[Unit] +Requires=@WESTON_DRM_DEVICE@ +After=@WESTON_DRM_DEVICE@ diff --git a/scripts/.aglsetup_genconfig.bash b/scripts/.aglsetup_genconfig.bash index 323479c3c..b9f4e5e94 100755 --- a/scripts/.aglsetup_genconfig.bash +++ b/scripts/.aglsetup_genconfig.bash @@ -496,6 +496,7 @@ EOF [[ $FORCE -eq 1 ]] && rm -f \ $BUILDDIR/conf/local.conf \ $BUILDDIR/conf/bblayers.conf \ + $BUILDDIR/conf/templateconf.cfg \ $BUILDDIR/conf/setup.* \ $BUILDDIR/conf/*.log diff --git a/templates/feature/agl-ci/99_local.conf.inc b/templates/feature/agl-ci/99_local.conf.inc index 8f6f697cd..cbf0c7d2b 100644 --- a/templates/feature/agl-ci/99_local.conf.inc +++ b/templates/feature/agl-ci/99_local.conf.inc @@ -2,3 +2,30 @@ DISTRO_FEATURES_append = " AGLCI" # opencv seems to have a parallel make bug # ...contrib/modules/xfeatures2d/test/test_features2d.cpp:51:10: fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory PARALLEL_MAKE_pn-opencv = "-j 1" + +AGL_HOST_PREMIRROR ?= "http://download.automotivelinux.org" +AGL_HOST_SSTATE_MIRROR ?= "http://download.automotivelinux.org" + +PREMIRRORS = " \ +git://.*/.* ${AGL_HOST_PREMIRROR}/AGL/mirror/ \n \ +ftp://.*/.* ${AGL_HOST_PREMIRROR}/AGL/mirror/ \n \ +http://.*/.* ${AGL_HOST_PREMIRROR}/AGL/mirror/ \n \ +https://.*/.* ${AGL_HOST_PREMIRROR}/AGL/mirror/ \n \ +" + +SSTATE_MIRRORS = " file://.* ${AGL_HOST_SSTATE_MIRROR}/sstate-mirror/master/${DEFAULTTUNE}/PATH;downloadfilename=PATH \n " + +#INHERIT += "packagefeed-stability" +INHERIT += "buildhistory" +INHERIT += "buildstats" +INHERIT += "buildstats-summary" + +# setup for PRSERV and HASHSERV +AGL_HOST_PRSERV ?= "10.30.72.18" +AGL_HOST_HASHSERV ?= "10.30.72.18" + +BB_HASHSERVE = "${AGL_HOST_HASHSERV}:8686" +BB_SIGNATURE_HANDLER = "OEEquivHash" + +PRSERV_HOST = "${AGL_HOST_PRSERV}:8585" + |