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>
* 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>
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>
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>
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>
Videocore 5/6 support was added as a separate driver in mesa: v3d. Enable
this so we can have it available for Raspberry Pi 4. Also, this driver
depends on kmsro.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
We specificially enable building libgbm via packageconfig but then the
PROVIDES is hardcoded in main recipes, we make that change here so when
using userland as graphics driver, we can build wayland apps
Signed-off-by: Khem Raj <raj.khem@gmail.com>
when running -ctestimage target, it fails because of errors it finds in
Xorg logs
| Log:
/mnt/a/yoe/build/tmp/work/raspberrypi3-yoe-linux-gnueabi/core-image-sato/1.0-r0/target_logs/Xorg.0.log
| -----------------------
| Central error: [ 14.760] (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
Therefore we enable swrast gallium drivers to make xorg happy
Signed-off-by: Khem Raj <raj.khem@gmail.com>
mesa-demos demand libgles1 and userland driver does not have it, therefore make it
conditional on choice of graphics driver, remove it when using userland driver and
keep it when using vc4 graphics driver.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Currently oe-core enables dri3 only for x11 AND vulcan. Although patch enabling
dri3 by default in oe-core was sent out, make sure here dri3 is enabled -
whatever oe-core suggest in the future.
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
* We need to use the X11 modesetting driver with VC4.
* We need to build at least the mesa swrast DRI driver.
(its already the default so don't overwrite it to empty)
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Use instead, the special created recipe mesa-gl which provides on libgl.
Change-Id: I5ed3c50a0a794f8ea63cc1906f0139ec47459fa6
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
The graphics libraries provided by userland does not include libgl. So compile
mesa with libgl support and remove gles and egl from it as these are provided
by userland.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>