Fix
https://github.com/agherzan/meta-raspberrypi/pull/1484
Avoid llvm runtime dependency to avoid issues in builds with meta-clang:
ERROR: Multiple .bb files are due to be built which each provide llvm:
meta-clang/recipes-devtools/clang/clang_git.bb
oe-core/meta/recipes-devtools/llvm/llvm_18.1.6.bb
A list of tasks depending on these providers is shown and may help explain where the dependency comes from.
meta-clang/recipes-devtools/clang/clang_git.bb has unique dependees:
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_prepare_recipe_sysroot
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_package
meta-atlas/meta-atlas/recipes-core/images/atlas-image-video.bb:do_populate_lic_deploy
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_collect_spdx_deps
meta-atlas/meta-atlas/recipes-core/images/atlas-image-video.bb:do_populate_interfaces_deploy
oe-core/meta/recipes-devtools/llvm/llvm_18.1.6.bb has unique dependees:
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_package_qa
oe-core/meta/recipes-graphics/mesa/mesa_24.0.7.bb:do_create_runtime_spdx
It could be that one recipe provides something the other doesn't and should. The following provider and runtime provider differences may be helpful.
meta-clang/recipes-devtools/clang/clang_git.bb has unique provides:
clang
meta-clang/recipes-devtools/clang/clang_git.bb has unique rprovides:
clang-dbg
clang-libclang-cpp
liblldb
llvm-linker-tools
^clang-locale-.*
clang-libllvm
lldb
clang-format
clang
clang-dev
clang-locale
clang-lldb-python
libclang
clang-src
clang-doc
clang-staticdev
lldb-server
clang-tidy
clang-tools
oe-core/meta/recipes-devtools/llvm/llvm_18.1.6.bb has unique provides:
oe-core/meta/recipes-devtools/llvm/llvm_18.1.6.bb has unique rprovides:
llvm
llvm-dbg
llvm-libllvm
llvm-src
llvm-dev
llvm-liboptremarks
llvm-locale
llvm-llvmhello
llvm-liblto
llvm-staticdev
llvm-bugpointpasses
llvm-doc
^llvm-locale-.*
check_data_file_clashes: Package clang-libllvm wants to install file rootfs/usr/lib/libLLVM.so.18.1
But that file is already provided by package * llvm
Also avoid:
python __anonymous() {
if d.getVar('SOC_FAMILY') == 'rpi' and d.getVar("PN") == d.getVar("BPN"):
d.setVarFlag("SRC_URI", "sha256sum", "4d2b2a9e3e099d017dc8107bf1c334d27bb87d9e4aff19a0c8d856d17cd41ef0")
}
This doesn't work for multilib builds where PN != BPN (e.g. lib32-wayland-protocols)
It is easier to just add separate recipes with COMPATIBLE_MACHINE
restriction instead of modifying the recipes for all MACHINEs with
bbappend and then trying to limit it to rpi MACHINEs with overrides
(e.g. why is whole recipe duplicated in wayland-protocols bbappend
doesn't make any sense to me).
breakage like this in stable branches is bad, these bbappends are hard
to avoid (without BBMASKing them and then reintroducing the necessary
part of original mesa bbappend). Now with separate recipes people can
at least opt-out by setting P_V to original scarthgap versions:
PREFERRED_VERSION_mesa:rpi = "24.%"
PREFERRED_VERSION_wayland-protocols:rpi = "1.33"
Signed-off-by: Martin Jansa <martin2.jansa@lgepartner.com>
Make the upgrade bbappends conditional for Raspberry Pi to fix
issues with signatures. This way the layer passes successfully
test_signatures from:
yocto-check-layer --with-software-layer-signature-check
This work was sponsored by GOVCERT.LU.
Suggested-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Conditionally add wayland-protocols to DEPENDS and RDEPENDS if
variable DISTRO_FEATURES includes wayland.
This work was sponsored by GOVCERT.LU.
Suggested-by: Daniel F. Dickinson <daniel@d-f-d.ca>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Upgrade to release 25.1.6:
- v3dv: regression in vkAllocateMemory importing gbm bo
- Vulkan WSI (and zink) use threads on X11 even when the X
connection isn't thread-safe
- sddm-greeter-qt segfault when using nvk+zink
- [regression][bisected] [FirePro W4100]: crashing/rebooting
- Descriptor set layout with binding flags fails due to indices
not matching bindings
- piglit bindless texture tests crash
- [radeonsi] Artifacts in Team Fortress 2 (bisected)
- eglgears_wayland segfault on zink+nvk with PRIME
- vn_renderer_virtgpu.c:13:10: fatal error: 'xf86drm.h' file not
found
- brw: mad instruction printing broken on Gfx11
- radv: RGB9E5 rendering does not ignore alpha write mask
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Upgrade to release 25.1.3:
- A bug fix release which fixes bugs found since the 25.1.2 release
- Implements the OpenGL 4.6 API, but the version reported by
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver
being used. Some drivers don't support all the features required
in OpenGL 4.6. OpenGL 4.6 is only available if requested at
context creation. Compatibility contexts may report a lower
version depending on each driver.
- Implements the Vulkan 1.4 API, but the version reported by the
apiVersion property of the VkPhysicalDeviceProperties struct
depends on the particular driver being used.
For Raspberry Pi this upgrade brings the following fixes:
- v3dv: vkcube-wayland crashes on raspberry pi 5 kernel 6.12
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Upgrade to latest official mesa release.
Fixes DRM DSI linking to missing and non exisiting library
drm-rp1-dsi_dri.so on mesa 24.0.7 from poky scarthgap
and styhead.
https://github.com/agherzan/meta-raspberrypi/issues/1389
Signed-off-by: Bassem Nomany <bassem.nomany@id8-engineering.io>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
UNPACKDIR is new contruct for do_unpack things in latest master
we should be using that instead of WORKDIR for referencing those
files
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Be aware that whole userland repo is marked as ancient and deprecated:
96a7334ae9
and explicitly says:
"If you are using code from here you should rethink your solution."
But even if your build is using vc4graphics in MACHINE_FEATURES
to avoid most of userland, this issue with multilib was preventing
do_install:append to actually remove those libraries provided by
lib32-mesa when building lib32-userland (e.g. to provide
virtual/libomxil or as dependency of raspidmx or runtime dependency
of omxplayer).
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
* mesa-demos can be built fine if both gles1 and egl options are
disabled. This allows to have utilities like glxinfo or glxgears
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
* 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>
* 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>
After the commit [1] introduced in openembedded-core layer,
some configure options is't carried over include xshmfence
option, so remove the xshmfence configure option to silence
the below warning.
WARNING: xserver-xorg-2_21.1.1-r0 do_configure: QA Issue: xserver-xorg: invalid PACKAGECONFIG: xshmfence [invalid-packageconfig]
[1] https://git.openembedded.org/openembedded-core/commit/?id=e05abd87ee5d23750c641d0129d9c83db68ee2e8
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
When updating FILES:${PN} based on an override you must use
FILES:${PN}:append:OVERRIDE as the syntax otherwise you will end up
replacing the contents of FILES:${PN} entirely. Update to use this
syntax correctly and then only add "${sysconfdir}/X11/xorg.conf.d/*"
Reported-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
* last userland upgrade in:
2a25b7ef8b
brings this upstream commit:
45a0022ac6
which results in:
ERROR: userland-20210623-r0 do_package: QA Issue: userland: Files/directories were installed but not shipped in any package:
/usr/man
/usr/man/man1
/usr/man/man7
/usr/man/man1/raspistill.1
/usr/man/man1/raspividyuv.1
/usr/man/man1/dtparam.1
/usr/man/man1/raspivid.1
/usr/man/man1/tvservice.1
/usr/man/man1/vcmailbox.1
/usr/man/man1/raspiyuv.1
/usr/man/man1/dtoverlay.1
/usr/man/man1/vcgencmd.1
/usr/man/man1/dtmerge.1
/usr/man/man7/raspicam.7
/usr/man/man7/raspirev.7
/usr/man/man7/raspiotp.7
/usr/man/man7/vcmailbox.7
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
userland: 17 installed and not shipped files. [installed-vs-shipped]
it's incorrectly installed in /usr/man by CMake as discussed in upstream
move it to /usr/share/man where it's picked by default FILES:${PN}-doc
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
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>
Currently its only disabled when vc4graphics is in use but this recipe
actually needs userland and therefore can not be used for non-rpi
machines as well.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
After mesa switched build system to meson, the logic to generate dri
related artifacts changed too, which means when no dri backend is
enabled then dri drivers and corresponding headers dont get generated
and hence we end up with missing pkgconfig files e.g. dri.pc which
usually will come from full mesa3d package, but in rpi when userland is
used we only build GL pieces of mesa.
This patch therefore enables swrast dri backend when using userland,
which gives us the needed header and .pc files to build packages like
Xorg server, since EGL driver will come from userland, the dri backend
would be unused and hence should not be effective at runtime.
Addresses issue report with https://github.com/agherzan/meta-raspberrypi/pull/773
there is no need to check for graphics stack since mesa-gl is only used
with userland graphics
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Trevor Woerner <twoerner@gmail.com>
The userland sources include a bunch of sample applications. Add an "allapps"
PACKAGECONFIG to allow the user to build the additional optional applications.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
This warning is gcc specific and causes build failures when building
with clang, lets therefore remove it when build is using clang compiler
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This helps in getting right headers, we have made a choice to let
userland provide KHR/khrplatform.h when using it instead of mesa-gl
which could have been another provider, xserver-xorg's glx
implementation depends on virtual/libgl which in case of rpi-without-vc4
driver is provided by mesa-gl, as a result, compilation fails since no
one is providing this header in this case.
Fixes errors like
usr/include/GL/glext.h:56:10: fatal error: KHR/khrplatform.h: No such file or directory
| 56 | #include <KHR/khrplatform.h>
| | ^~~~~~~~~~~~~~~~~~~
Fixes issue #391
Signed-off-by: Khem Raj <raj.khem@gmail.com>
- Refresh patches
- userland now needs to create symlinks for egl.pc,glesv2.pc and vg.pc
when vc4 is not used
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>