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>
COMPATIBLE_MACHINE is expected to be overridden by
linux-raspberrypi-v7.inc for linux-raspberrypi-v7 machine this however
does not work because linux-raspberrypi-v7_5.15.bb includes
linux-raspberrypi-v7.inc and linux-raspberrypi.inc ( via
linux-raspberrypi_5.15.bb) and setting from linux-raspberrypi.inc takes
precedence over one coming from linux-raspberrypi-v7.inc as a result
linux-raspberrypi-v7 kernel recipe becomes available for raspberrypi4
machine as well, this recipe however needs certain defines
e.g.RASPBERRYPI_v7_KERNEL which are only available in
raspberrypi-armv7.conf
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Weston 10 (Yocto Langdale) fails to build with userland drivers
when the packageconfig options 'egl' or 'clients' are enabled, and
those are enabled by default. So disable them by default when
building with DISABLE_VC4GRAPHICS=1
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
* updated in:
https://git.openembedded.org/openembedded-core/commit/?id=45686afe96bb42c24bfd4ab540ea44423a0f57c3
* 0004-Move-the-43xx-firmware-into-lib-firmware.patch didn't apply and needed to be rebased
maybe we should just set FIRMWARE_DIR in rpi builds instead of
changing the default in the source, but I'll leave that to someone
else
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
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>
ERROR: Multiple .bb files are due to be built which each provide
libav/libpostproc:
/../../meta-raspberrypi/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.4.bb
/../../openembedded-core/meta/recipes-multimedia/ffmpeg/ffmpeg_5.1.2.bb
Ensures bitbake understands which recipe to select first.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Update is also meant to fix bug where if x11
isn't define in DISTRO_FEATURES builds will
fail to compile.
Upgrades version of VLC to 3.0.17
* Reason for update with version 3.0.12 compiling
using GLESv2 and without x11/wayland defined in
DISTRO_FEATURES it was proven to be difficult.
Newer version of VLC appears to have better support
for GLESv2 as there was far less hurdles.
* SRCREV set to b276eb0d7bc3213363e97dbb681ef7c927be6c73
Updates to PACKAGECONFIG
* Only include GLESv2 if opengl defined in DISTRO_FEATURES
* Only include libnotify is x11 included in DISTRO_FEATURES.
Not checking for wayland as well because wayland integration
requires a separate MR.
* remove ability to set certain flags as they require
significant more development time to integrate. Probably
best to include in separate MR.
Flags for:
- opencv
- freerdp
- samba
- dvdread
- vdpau
- wayland
- dca
Removal of
--------------------------------------------------------
TARGET_CFLAGS:append = " -fcommon"
TARGET_CXXFLAGS:append = " -fcommon"
--------------------------------------------------------
as define in configure.ac via the
3001-configure.ac-setup-for-OE-usage.patch patch
Removes extraneous sed operations in the do_configure
takes. Appears to nolonger be required.
Adds required flags to build that couldn't be set in configure.ac
------------------------------------------------------------------
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES',
'opengl', '-lGLESv2', '', d)}"
------------------------------------------------------------------
Replaces patches with updated patches used in actual commit.
Prepend patches that are from meta-openembedded/meta-multimedia
to 2XXX-<PATCH NAME>.patch. Adds nine new patches to fix ./configure,
compile, runtime bugs.
PATCHES:
- 3001-configure.ac-setup-for-OE-usage.patch
* Used to ensure crossed compilted OE libraries are used during
compilation. Specifically for the mmal and omxil libraries.
- 3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch
* Appears to be missing EGL preprocesor directives patch
defines them. The function createImageKHR also appears
to return EGLImageKHR not EGLImage patch updates. To
accommodate for change.
- 3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch
* Configures omxil_core.c for OE usages as libbcm_host.so
and libopenmaxil.so are located in a different location.
- 3004-use-GLESv2-headers-over-GL-headers.patch
* Ensures GLESv2 headers are used over OpenGL headers.
- 3005-modules-remove-glspectrum-usage.patch
* Removes glspectrum plugin as it appears to require
normal OpenGL and not GLESv2 for usage.
- 3006-codec-omxil_core.h-fix-multiple-definition-of.patch
* Removes compile error due to function pointer in omxil_core.h
header being defined multiple times as the header is included
in multiple c source files.
- 3007-remove-xorg-related-link-libs.patch
* Removes xorg related flags if x11 isn't defined in
DISTRO_FEATURES variable.
- 3008-vo-Makefile.am-exclude-libgl_plugin.patch
* Removes the libgl_plugin from being built if opengl
not defined in DISTRO_FEATURES variable.
- 3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch
* Appears to be missing EGL preprocesor directives patch
defines them.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
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>
* it matches the default from tune-cortexa72.inc:
$ grep DEFAULTTUNE openembedded-core/meta/conf/machine/include/arm/armv8a/tune-cortexa72.inc
DEFAULTTUNE ?= "cortexa72"
* the assignment was introduced in:
cd234925fa
to switch to cortexa72-crc, but this change was effectively reverted in:
42ef0f5046
by setting it back to default "cortexa72".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Due to https://nvd.nist.gov/vuln/detail/cve-2022-24765, git introduced a
feature where without explicitly allowing it, it won't parse or consider
hooks that are owned by another git user while erroring out with:
fatal: detected dubious ownership in repository at [...]
This won't be an issue in our setup due to how we guard the code via PRs
so we configure git to avoid this check.
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
This addresses warnings like:
Node.js 12 actions are deprecated. [...] Please update the following
actions to use Node.js 16: actions/checkout, actions/checkout
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
This patch is based on an analog patch from Christopher Boyd <xpboyd@gmail.com> committed at meta-freescale.
(see 954d7a7d7a)
Signed-off-by: Oliver Lang <quantenkeks@gmail.com>
Add Raspberry Pi pipeline handler and Image
Processing Algorithms.
Work around clang 14/15 build error:
field within 'v4l2_ext_control' is less aligned.
See
https://github.com/kbingham/libcamera/pull/40.
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
Fixes#1095 where setting cma to a lower value affects the ability of
libcamera-apps to capture higher resolution images.
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
The new raspberrypi-armv8.conf aims at supporting all the ARMv8
Raspberry Pi boards.
This initial support was tested on:
* Raspberry Pi 4 Model B
* Raspberry Pi 3 Model B
* Raspberry Pi 0 2 WiFi
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
The new raspberrypi-armv7.conf aims at supporting all the ARMv7
Raspberry Pi boards.
This initial support was tested on:
* Raspberry Pi 4 Model B
* Raspberry Pi 3 Model B
* Raspberry Pi 0 2 WiFi
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
The kernel image deployment is now defined in IMAGE_BOOT_FILES as a
separate variable: RPI_EXTRA_IMAGE_BOOT_FILES. This allows a custom
kernel image deployment by redefining this variable when needed.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
All 32-bit machines are sharing the list of machine dtbs with the
exception of raspberrypi0-2w. Move this away too to unify the
machine configurations.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Explains that PREFERRED_PROVIDER_ffmpeg/vlc
can be used to select an implementation of ffmpeg
or vlc. Also adds information on how vlc mmal_vout
plugin could be utilized. As well as how to expose
rpidistro-vlc.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
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>
Adds ability to select rpidistro version of vlc and ffmpeg over oe-core version.
via the PREFERRED_PROVIDER_vlc & PREFERRED_PROVIDER_ffmpeg
variables.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
This adds support for building rpidistro version of VLC with hardware
acceleration through MMAL. The version of VLC located in
meta-openembedded/meta-multimedia/recipes-multimedia/vlc uses mainline
VLC and doesn't give all the proper flags. The series of patches attached
to commit gives necessarly vlc mmal flags.
* https://code.videolan.org/videolan/vlc/-/issues/24617
* https://bugs.gentoo.org/723006
The build fails with errors such as "multiple definition of `pf_enable_graphic_buffers'"
when omxil is enabled. The issue seems to be due to compiler flags. Adding -fcommon to
both cflags and cxxflags yields a full compile.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
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>
Otherwise the shell snippet fails with `bad syntax` when `CMDLINE`
contains special characters like `${...}` (useful to insert a U-Boot
variable in `cmdline.txt`).
Signed-off-by: Lluis Campos <lluis.campos@northern.tech>
We do this as a result of an upstream issue[1].
Some of the firmware blobs are provided under the 'Synapse' license
including a clause that can (at least theoretically) be used as a
'killswitch'. To make sure users are aware of this, we guard this
behind a license flag.
Users of this recipe will need to add to their configuration:
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
[1] https://github.com/RPi-Distro/firmware-nonfree/issues/29
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
Besides general cleanup and formatting (for example dropping the
conflicts and replaces on the raspbian packages which was deprecated
long ago) this also cleans up the license of the package as per the
updated upstream copyright file. This recipe now provides firmware files
of two different licenses.
bcm43430 bcm43455 - binary-redist-Cypress
bcm43436 bcm43436s bcm43456 - Synaptics
The license file itself is GPLv2 as other debian files.
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>