aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-multimedia
AgeCommit message (Collapse)Author
2024-03-18raspberrypi-firmware: Fetch using git URIKhem Raj
This brings the matching binary blobs to latest kernel Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-20rpidistro-ffmpeg: Fix old override syntaxKevin Hao
Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
2023-08-29omxplayer: fix an error caused by new srcrev fetcher APISangmo Kang
Fail to parse omxplayer_git.bb after using new srcrev fetcher API * https://git.yoctoproject.org/poky/commit/?id=c9400d01575c2a93762b71bf790d0edd6e2acb6f * https://git.yoctoproject.org/poky/commit/?id=62afa02d01794376efab75623f42e7e08af08526 Error message: ERROR: ExpansionError during parsing /tmp/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb Traceback (most recent call last): File "Var <fetcher_hashes_dummyfunc[vardepvalue]>", line 1, in <module> File "/tmp/poky/bitbake/lib/bb/fetch2/__init__.py", line 834, in get_hashvalue(d=<bb.data_smart.DataSmart object at 0x7fdac34c1130>, method_name='sortable_revision'): def get_hashvalue(d, method_name='sortable_revision'): > pkgv, revs = _get_srcrev(d, method_name=method_name) return " ".join(revs) File "/tmp/poky/bitbake/lib/bb/fetch2/__init__.py", line 804, in _get_srcrev(d=<bb.data_smart.DataSmart object at 0x7fdac34c1130>, method_name='sortable_revision'): if not format: > raise FetchError("The SRCREV_FORMAT variable must be set when multiple SCMs are used.\n"\ "The SCMs are:\n%s" % '\n'.join(scms)) bb.data_smart.ExpansionError: Failure expanding variable fetcher_hashes_dummyfunc[vardepvalue], expression was ${@bb.fetch.get_hashvalue(d)} which triggered exception FetchError: Fetcher failure: The SRCREV_FORMAT variable must be set when multiple SCMs are used. The SCMs are: git://github.com/popcornmix/omxplayer.git;protocol=https;branch=master git://github.com/FFmpeg/FFmpeg;branch=release/4.0;protocol=https;depth=1;name=ffmpeg;destsuffix=git/ffmpeg The variable dependency chain for the failure is: fetcher_hashes_dummyfunc[vardepvalue] ERROR: Parsing halted due to errors, see error messages above Signed-off-by: Sangmo Kang <sangmo.kang@lge.com>
2023-08-08libcamera-apps: move recipe to dynamic-layersVivien Didelot
Move the libcamera-apps recipe to dynamic-layers/multimedia-layer alongside with its libcamera dependency. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08rpi-libcamera-apps: rename to libcamera-appsVivien Didelot
The libcamera-apps project is written in a hardware-agnostic manner thanks to libcamera, and thus isn't specific to the rpi SoC family. Moreover, the project is correctly named libcamera-apps and not rpi-libcamera-apps, so rename the recipe in order to reflect that. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08rpi-libcamera-apps: don't force COMPATIBLE_MACHINEVivien Didelot
Even though the libcamera apps are a rewrite of the rpicam apps and maintained by the raspberry folks, switching to libcamera makes the code hardware agnostic and thus could be compiled and used on various machines featuring a camera device supported by a libcamera pipeline. For this reason, do not enforce COMPATIBLE_MACHINE. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08rpi-libcamera-apps: replace tensorflow configVivien Didelot
The 'tensorflow-lite' PACKAGECONFIG entry was missing the corresponding build dependency. In order to be consistent with the build macros, replace the feature with a 'tflite' package config entry. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08rpi-libcamera-apps: add drm supportVivien Didelot
Add a 'drm' PACKAGECONFIG entry in order to provide support for a DRM preview window while running the libcamera apps. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08rpi-libcamera-apps: add opencv build dependencyVivien Didelot
The 'opencv' PACKAGECONFIG entry was missing the build dependency. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08rpi-libcamera-apps: fix Illegal InstructionVivien Didelot
With armv8-neon being enforced for all ARM based machines, running any libcamera app on raspberrypi (e.g. Raspberry Pi B Rev 2) results in Illegal Instruction. To fix this, set armv8-neon for 32bit raspberrypi3 and raspberrypi4 but defaults to TARGET_ARCH for other non-aarch64 machines. Fixes: f16219293ab7 ("rpi-libcamera-apps: fix flags used in aarch64 builds") Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-06-22*.patch: add Upstream-Status to all patchesMartin Jansa
There is new patch-status QA check in oe-core: https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a This is temporary work around just to hide _many_ warnings from optional patch-status (if you add it to WARN_QA). This just added Upstream-Status: Pending everywhere without actually investigating what's the proper status. This is just to hide current QA warnings and to catch new .patch files being added without Upstream-Status, but the number of Pending patches is now terrible: Patches in Pending state: 41 (57%) With recent change to enable patch-status not only for all .patch files in oe-core, but for all recipes from oe-core: https://git.openembedded.org/openembedded-core/commit/?id=61a881fdbe8b5a21c6276b8a5d06cc30486b1eb3 this causes bluez5 do_patch failures as reported in: https://lists.openembedded.org/g/openembedded-core/message/183177 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-15rpi-libcamera-apps: bump to latest SRCREV and set PVMartin Jansa
$ git log --oneline 22a52590c33a813743b4e6337478c208201c77b1..12098520a3dec36ba796655baac7efece457f8d8 1209852 (origin/main, origin/HEAD) utils: Better handling of containers in timestamp.py 213b166 encoder: Add logic to auto-detect H.264 encoder type b90f65a libav: Add libx264 support ba8d8de libav: Move codec specific options to different function 4d40e6d libav: Add buffer done callback cd9e4e1 libav: Make ALSA work with mono mic. 408f568 libav: Fix msg when opening audio device fails. 21157c5 build: install library headers 54a781d (tag: v1.1.2) image: dng: Make thumbnail less dark 8b286cc image: dng: Add support for 16-bit Bayer formats aa849e6 options: Set the custom tuning file as early as possible e90d21d preview: QtPreview: Copy source to a temporary line buffer for speed 9b609e2 core: Add header guard in libcamera_encoder.hpp 8dd7213 utils: Update the timestamp script to work with container files 88b620a image: Fix missing fclose 18b3a88 libav: Update to the new audio channel API 84a7f01 libav: Fixes for audio resampling 64be3bd encoder: H264: Trap framerate=0 to avoid division by zero error edf073f core: Minor code refactoring a5b5506 preview: QtPreview: Fix black level; optimize and tidy. 6d2ee58 image: Exif "Model" tags should store camera model, not ID 40e0012 preview: Fix QtPreview for preview width not a multiple of 4 a65682a core: pass VIDIOC_QUERYCAP as unsigned long 9f08463 (tag: v1.1.1) core: Allow info-text to display on the console 77a03d9 image: Add Subject Distance to EXIF data, to encode Lens Position eca5a3c build: Set a SONAME version in the libraries dc86fee options: Automatically set H.264 level 4.2 if needed 29f3943 libcamera-detect: Add multiple file name output generation options 4a824f1 actions: Add imx708 tests 785bfe7 actions: Switch to v3 scripts 1d91fdd options: prevent null pointer access to FrameDurationLimits 4fea2ee (tag: v1.1.0) core: Add HDR option, with a stop-gap implementation using V4L2 control bce2788 core: Tweak default AF options; AfMode now defaults typically to CAF d696979 core: Update documentation URL 9c5d319 (tag: v1.0.2) output: null_encoder: Fix bug in ordering of input/output callbacks 4068771 libcamera-still: --autofocus-on-capture: add a timeout for AfStateScanning 5a8926a libcamera_still: Add new option "--autofocus-on-capture" 57e6154 core: Add and implement LensPosition and AfTrigger controls d523dbc core: LibcameraApp::SetControls now always merges new controls 80f17be core: Add autofocus status reporting in FrameInfo 35b461b core: Add libcamera autofocus options 187fcf8 options: Define buffer count overwrite 114c8ae Add YUV save to stdout on "-" path 73ab09f (tag: v1.0.1) libav: Add option to choose the audio source (alsa/pulseaudio) 51bfa73 core: Use automatic mode selection for framerate baaed33 options: Switch to std::optional for framerate b89cc36 (tag: v1.0.0) libav: Fix fps reporting for avi contaners 05daa79 libav: Simplify audio timestamping d8330a4 libav: Fix mkv container framerate edac99b libcamera-vid: Add SIGINT handler cfc54c5 libav: Allow adjusting of the audio sample rate for encoding 891c8fa libav: Correctly pipe to stdout * the libraries are now correctly versioned, remove SOLIBS setting to package them Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-15rpi-libcamera-apps: fix version generation on hosts with older pythonMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-15rpi-libcamera-apps: fix flags used in aarch64 buildsMartin Jansa
* the CMakeLists.txt recognizes only 2 values: IF (NOT ENABLE_COMPILE_FLAGS_FOR_TARGET) # On a Pi this will give us armhf or arm64. execute_process(COMMAND dpkg-architecture -qDEB_HOST_ARCH OUTPUT_VARIABLE ENABLE_COMPILE_FLAGS_FOR_TARGET OUTPUT_STRIP_TRAILING_WHITESPACE) endif() message(STATUS "Platform: ${ENABLE_COMPILE_FLAGS_FOR_TARGET}") if ("${ENABLE_COMPILE_FLAGS_FOR_TARGET}" STREQUAL "arm64") # 64-bit binaries can be fully optimised. add_definitions(-ftree-vectorize) elseif ("${ENABLE_COMPILE_FLAGS_FOR_TARGET}" STREQUAL "armv8-neon") # Only build with 32-bit Pi 3/4 specific optimisations if requested on the command line. add_definitions(-mfpu=neon-fp-armv8 -ftree-vectorize) endif() the value from dpkg-architecture on host is useless when cross-compiling, so we always need to pass something for raspberrypi4-64 we were passing "armv8-neon" which results in: aarch64-oe-linux-g++: error: unrecognized command-line option '-mfpu=neon-fp-armv8' as all -mfpu options are rejected in aarch64 builds, pass better ENABLE_COMPILE_FLAGS_FOR_TARGET value for all MACHINEs Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-03-27rpidistro-ffmpeg: Pin to use gcc alwaysKhem Raj
When using clang some .S files are not clang friendly Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-27gstreamer1.0-plugins-bad: Drop gpl packageconfigKhem Raj
This packageconfig has been removed from oe-core via commit 3ec1f30ebba498566d4b266168e1faf182a38fb8 therefore adjust Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-16gstreamer1.0-plugins-good: rename bbappend, drop versionMartin Jansa
* the PACKAGECONFIG[rpi] isn't version specific, use versionless bbappend as other gstreamer1.0*.bbappend files here * oe-core upgrade 1.20.5 -> 1.22.0: https://git.openembedded.org/openembedded-core/commit/?id=fb2d28e0315ece6180c87c7047587673024a09f7 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-02-03raspidmx, userland, omxplayer: Fix Upstream-Status formattingMartin Jansa
* now I've used the right tool to hopefully find them all in one go: ../openembedded-core/scripts/contrib/patchreview.py . Total patches found: 70 Patches missing Signed-off-by: 17 (24%) Patches with malformed Signed-off-by: 0 (0%) Patches missing CVE: 1 (1%) Patches missing Upstream-Status: 32 (46%) Patches with malformed Upstream-Status: 0 (0%) Patches in Pending state: 8 (11%) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-01-26gstreamer1.0-omx: fix Upstream-Status formatMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-01-12rpidistro-ffmpeg: remove --enable-v4l2-request flagVincent Davis Jr
When building with latest OE-Core master. Running into bellow issue. After further research issue appears to be similar to https://github.com/bootlin/libva-v4l2-request/issues/35 | src/libavcodec/hevc-ctrls-v2.h:59:8: error: redefinition of 'struct v4l2_ctrl_hevc_sps' | 59 | struct v4l2_ctrl_hevc_sps { | | ^~~~~~~~~~~~~~~~~~ | In file included from /../../../recipe-sysroot/usr/include/linux/videodev2.h:65, | from src/libavcodec/hevc-ctrls-v2.h:14: Disable ffmpeg libva-v4l2-request so that master builds and until better investigation can be done to fix issue. Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-12-13rpidistro-ffmpeg: upgrade 4.3.2 -> 4.3.4Vincent Davis Jr
Upgrades version of ffmpeg to 4.3.4 * Reason for not upgrading to 4.3.5 all ported raspberrypi team patches may not be included in that version/commit. * SRCREV set to 246e1a55a0eca931537d8706acd8b133c07beb05 Updates to PACKAGECONFIG * Only include --enable-opengl flag when opengl is set in DISTRO_FEATURES * Add new flag --enable-epoxy required by vout-egl * vout-egl requires both libepoxy and x11. Only enable vout-egl if x11 contained in DISTRO_FEATURES. * The remaining RPI-Distro related flags added through patches. Are only enabled if vc4graphics is disabled and userland graphics enabled. As an attempt to keep ffmpeg ./configure generic unless specified other wise. Removes TARGET_CFLAGS:append as include flags are set in ./configure via the 2001-configure-setup-for-OE-core-usage.patch patch. Replaces patches with updated patches used in actual commit. Adds four new patches to fix ./configure, compile, runtime bugs. PATCHES: - 2001-configure-setup-for-OE-core-usage.patch * The ./configure stage fails if neither x11 or wayland defined in DISTRO_FEATURES. When opengl enabled ./configure checks for relevant headers. The last header it checks for is ES2/gl.h which doesn't exists. Neither do the others if certain perameters are not meet. Patch addes check for GLES2/gl2.h which does exists. We use utilize GLESv2 to compile and link with. Patch also replaces where compiler find mmal and omx headers and libs. - 2002-libavdevice-opengl_enc-update-dynamic-function-loader.patch * After configure stage succeeds the compile stage fails as SelectedGetProcAddress isn't defined. It can't be define as if x11 isn't enabled. Patch defines SelectedGetProcAddress if x11 not enabled, but sdl2 enabled to SDL_GL_GetProcAddress. If neither sdl2 or x11 is enabled patch loads GL functions pointers at compile time versus dynamically at runtime. - 2003-libavcodec-fix-v4l2_req_devscan.patch * v412_req_devscan.h function definitions where different from v412_req_devscan.c function implementations. - 2004-libavcodec-omx-replace-opt-vc-path-with-usr-lib.patch * Fixes where libbcm_host.so and libopenmaxil.so are loaded from. Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-12-05rpidistro-vlc,rpidistro-ffmpeg: update COMPATIBLE_HOST regexVincent Davis Jr
Remove the single quotes from the COMPATIBLE_HOST variable regex as it appears to make expression invalid. Thus, leading to ERROR: Nothing PROVIDES 'rpidistro-ffmpeg' rpidistro-ffmpeg was skipped: incompatible with host arm-*-gnueabi (not in COMPATIBLE_HOST) Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-10-11rpi-libcamera-apps: add new recipeDevendra Tewari
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
2022-09-13rpidistro-vlc,rpidistro-ffmpeg: Limit scope to just rpi machinesKhem Raj
enable mmal only when using userland graphics Fixes builds on non-rpi machines e.g. ERROR: Nothing PROVIDES 'userland' (but /mnt/jenkins/workspace/yocto-world-glibc/sources/meta-raspberrypi/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.2.bb DEPENDS on or otherwise requires it) userland was skipped: incompatible with machine qemumips (not in COMPATIBLE_MACHINE) NOTE: Runtime target 'rpidistro-ffmpeg' is unbuildable, removing... Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-09-06raspidistro-ffmpeg: add support for building raspidistro ffmpegVincent Davis Jr
Pulls the raspidistro version of ffmpeg down and applies the necessary patches that are located in the debian/patches folder. Signed-off-by: Vincent Davis Jr <vince@underview.tech>
2022-07-31omxplayer: Bump to latest revisionAndrei Gherzan
Also, add a deprecation note as per the project's status: https://github.com/popcornmix/omxplayer/blob/master/README.md Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
2022-04-04omxplayer: Use internal version of ffmpegKhem Raj
OE-Core's ffmpeg has moved to 5.x version whose headers are not directly compatible with what omxplayer expects anymore. Therefore use captured version of ffmpeg and point the header search paths accordingly. Add missing dependency on alsa-lib for libasound headers Fixes build with master/kirkstone Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-04-04picamera-libs: Adjust sourcedirKhem Raj
After switching the SRC_URI for firmware, this adjustment was needed to let this recipe find /opt/vc path in correct place Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-22meta: update license namesMartin Jansa
* openembedded-core/scripts/contrib/convert-spdx-licenses.py . ... All files processed with version 0.01 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-02-22meta: update variable namesMartin Jansa
* openembedded-core/scripts/contrib/convert-variable-renames.py . ... All files processed with version 0.1 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-02-20gstreamer1.0-plugins-bad: remove libmms PACKAGECONFIG and add gplMartin Jansa
* libmms was removed with 1.20.0 upgrade in: https://git.openembedded.org/openembedded-core/commit/?id=76433d3628cbad311b428a57b25b4e2701ee513b * fixes: ERROR: gstreamer1.0-plugins-bad-1.20.0-r0 do_configure: QA Issue: gstreamer1.0-plugins-bad: invalid PACKAGECONFIG: libmms [invalid-packageconfig] * faad now requires gpl to be enabled: | ../gst-plugins-bad-1.20.0/ext/faad/meson.build:1:0: ERROR: Feature faad cannot be enabled: | Plugin faad explicitly required via options but GPL-licensed plugins disabled via options. | Pass option -Dgpl=enabled to Meson to allow GPL-licensed plugins to be built. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2022-02-09gstreamer1.0-plugins-good: Update bbappend to 1.20Aníbal Limón
Gstreamer upgraded to 1.20 see, https://git.openembedded.org/openembedded-core/commit/?id=75891f361f3e9df9fc3e97c720a2ae57dda75888 Signed-off-by: Aníbal Limón <anibal@rzerosystems.com> Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
2022-01-28picamera-libs,python3-picamera: Limit visibility to 32 bit rpi machinesKhem Raj
These recipes use prebuilt vc libs which are 32bit only libs They also do not work on musl https://github.com/agherzan/meta-raspberrypi/pull/983 introduced these recipes however these are not generic packages that can be used on non-rpi machines therefore mark them so. It helps in using this SOC layer with other SOC layers in a distro Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-01-25python3-picamera: Add picamera librarybhargavthriler
python3-picamera : recipe for python picamera library. picamera-libs : recipe raspberry pi firmware which are required by picamera. Closes: #959 Signed-off-by: Bhargav Das <bhargavthriler@gmail.com>
2021-11-07recipes: Update SRC_URI protocols for githubMarcel Hamer
Use protocols=https for GitHub SRC_URIs using the conversion script in openembedded-core. Signed-off-by: Marcel Hamer <marcel@solidxs.se>
2021-08-04Convert to new override syntaxMartin Jansa
This is the result of automated script conversion: oe-core/scripts/contrib/convert-overrides.py . converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-26gstreamer1.0-omx: drop config-files-path.patchJose Quaresma
gstreamer1.0-omx receipe on OE-core sets: core-name=${GSTREAMER_1_0_OMX_CORE_NAME} on the installed gstomx.conf in this case it will set: core-name="${libdir}/libopenmaxil.so" in ${sysconfdir}/xdg/gstomx.conf this is done in set_omx_core_name that is a do_install[postfuncs] Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2021-02-26gstreamer1.0-omx: consolidate the append usage and only use oneJose Quaresma
move patches from gstreamer1.0-omx-1.18 => gstreamer1.0-omx and use PN on FILESEXTRAPATHS Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2021-02-26gstreamer1.0-omx: drop custom cflagsJose Quaresma
This is not need any more to build with gstreamer 1.18 Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2020-11-30gstreamer1.0-plugins-base: drop custom cppflagsJose Quaresma
This is not need any more to build with gstreamer 1.18 Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2020-11-19Revert "gstreamer1.0-plugins-good: add package config knob to enable ↵Martin Jansa
rpicamsrc plugin" This reverts commit 0ecec6a1f9a7eca0d58acd26f51b47898a950fde. The patch as well as PACKAGECONFIG were merged to oe-core recipe in: https://git.openembedded.org/openembedded-core/commit/?id=fe828754467db0a09bbc5d6fd54bf6245bd0a747
2020-11-17gstreamer1.0-plugins-good: enable rpicamsrc pluginJose Quaresma
enable the plugin when vc4graphics is not on machine features as it needs userland. Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2020-11-17gstreamer1.0-plugins-good: add package config knob to enable rpicamsrc pluginJose Quaresma
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
2020-11-03gstreamer1.0-omx: rename bbappend to match new 1.18.0 version from oe-coreMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-03-10gstreamer: Fix the compilation issue in meta multimedia imageMadhavan Krishnan
When we tried to build the meta-multimedia-image, we faced the compilation issue with faad component. Since faad component has commercial license, we could not able to build with multimedia image. So we have modified the faad component to be included when commercial licenese is supported. Signed-off-by: Madhavan Krishnan <madhavan.krishnan@linaro.org>
2020-02-08gstreamer1.0-plugins-base: Adjust for meson conversionKhem Raj
OE-core now uses meson to build gstreamer Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-01-28omxplayer: respect virtual/libomxilMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-24gstreamer1.0-omx: let virtual/libomxil dependency to pull userlandMartin Jansa
* and adjust VIRTUAL-RUNTIME_libomxil to pull runtime provider for libomxil Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-24gstreamer1.0-plugins-base: adapt to gstreamer1.0 now using mesonMartin Jansa
* depends on oe-core changes which adds dispmanx PACKAGECONFIG to gstreamer1.0-plugins-base Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-01-13gstreamer1.0-plugins-base: respect opengl DISTRO_FEATURES when vc4graphics ↵Martin Jansa
is in MACHINE_FEATURES No virtual/egl provider is available in the default setup with vc4graphics enabled and neither opengl nor vulkan in DISTRO_FEATURES: $ bitbake -e virtual/egl | tee env.egl ERROR: Nothing PROVIDES 'virtual/egl' vc-graphics-hardfp PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp vc-graphics PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics $ bitbake -e userland 2>&1 | tee env.userland ERROR: Nothing RPROVIDES 'libegl-mesa' (but /jenkins/mjansa/build-ros/ros2-dashing-warrior/meta-raspberrypi/recipes-graphics/userland/userland_git.bb RDEPENDS on or otherwise requires it) NOTE: Runtime target 'libegl-mesa' is unbuildable, removing... Missing or unbuildable dependency chain was: ['libegl-mesa'] ERROR: Required build target 'userland' has no buildable providers. Missing or unbuildable dependency chain was: ['userland', 'libegl-mesa'] $ bitbake -e mesa 2>&1 | tee env.mesa ERROR: Nothing PROVIDES 'mesa' mesa was skipped: one of 'vulkan opengl' needs to be in DISTRO_FEATURES $ bitbake -e vc-graphics-hardfp 2>&1 | tee env.vc-graphics-hardfp ERROR: Nothing PROVIDES 'vc-graphics-hardfp' vc-graphics-hardfp was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp There is unbuildable dependency on virtual/egl from gstreamer1.0-plugins-base because: 1) gstreamer1.0-plugins-base depends on virtual/egl because of "egl" PACKAGECONFIG 2) "egl" PACKAGECONFIG is enabled by meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend PACKAGECONFIG_GL_rpi = "egl gles2" without respecting the "opengl" in DISTRO_FEATURES like the recipe in oe-core does openembedded-core/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb: PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" 3) virtual/egl is provided either by: - userland (only without vc4graphics in MACHINE_FEATURES): meta-raspberrypi/recipes-graphics/userland/userland_git.bb:PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}" - mesa (selected with vc4graphics in MACHINE_FEATURES) meta-raspberrypi/conf/machine/include/rpi-default-providers.inc:PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}" - vc-graphics(-hardfp) meta-raspberrypirecipes-graphics/vc-graphics/vc-graphics.inc:PROVIDES = "virtual/libgles2 virtual/egl" 4) vc-graphics(-hardfp) recipe are skipped in default setup, because with vc4graphics being in MACHINE_FEATURES by default since: https://github.com/agherzan/meta-raspberrypi/commit/690bdca57422447e49d4ef43862bf675e9acc28f the PREFERRED_PROVIDER_virtual/libgles2 is set to mesa in: conf/machine/include/rpi-default-providers.inc:PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}" resulting in skipping the other virtual/libgles2 providers: vc-graphics-hardfp PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp vc-graphics PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics 5) mesa is skipped when neither opengl nor vulkan are in DISTRO_FEATURES 6) userland doesn't provide virtual/egl because we have the default vc4graphics meta-raspberrypi/recipes-graphics/userland/userland_git.bb:PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}" and it cannot be built anyway, because with the default vc4graphics it depends on libegl-mesa: meta-raspberrypi/recipes-graphics/userland/userland_git.bb:RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl-mesa", "", d)}" and libegl-mesa is provided only by mesa recipe from oe-core which in turn requires either "opengl" or "vulkan" to be in DISTRO_FEATURES This causes a lot of unresolved dependencies in default setup with vc4graphics but without opengl. - with Yocto 2.6 Thud and older it worked, because vc4graphics wasn't enabled by default before: https://github.com/agherzan/meta-raspberrypi/commit/690bdca57422447e49d4ef43862bf675e9acc28f To build gstreamer1.0-plugins-base with egl PACKAGECONFIG enabled you have 2 options: A) Just add "opengl" to DISTRO_FEATURES and use the default vc4graphics with mesa providing virtual/egl B) Use DISABLE_VC4GRAPHICS added in https://github.com/agherzan/meta-raspberrypi/commit/96c8459c9363cc6bf463aedf4d24f92a1ee7d6ba to explicitly disable vc4graphics and use userland to provide virtual/egl Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>