Commit Graph

32 Commits

Author SHA1 Message Date
Martin Jansa 3afc9728b1 mesa, wayland-protocols: use separate recipe instead of bbappend
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>
2025-08-10 09:52:38 -07:00
Leon Anavi fceeefa9f0 mesa: wayland-protocols: Fix signatures
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>
2025-08-05 18:34:07 -07:00
Leon Anavi 884b8b424f mesa_%.bbappend: DISTRO_FEATURES for wayland
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>
2025-08-05 18:34:07 -07:00
Leon Anavi c62176e5ff mesa: Upgrade 25.1.3 -> 25.1.6
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>
2025-08-05 18:34:07 -07:00
Leon Anavi 41a6240492 mesa: Upgrade 24.3.1 -> 25.1.3
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>
2025-08-05 18:34:07 -07:00
Bassem Nomany cdf5a8ae49 mesa: update to 24.3.1
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>
2025-08-05 18:34:07 -07:00
Carlos Alberto Lopez Perez 15206a15b4 mesa-demos: enable build with userland graphics drivers.
* 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>
2023-03-07 01:09:06 +00:00
Joel Winarske 836755370f mesa: Enable building vulkan driver
Support to enable building Mesa Broadcom v3d Vulkan Driver

Upstream support Merged in master 2021-11-07
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=ddcaf3596227a32628b436f4130f4c0b1541a4be

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
2021-12-03 21:33:06 +00:00
Martin Jansa 9ea7aa2cd2 Convert to new override syntax
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-08-04 12:30:12 +03:00
Khem Raj de51de5ca0 mesa-gl: Use GALLIUMDRIVERS instead of DRIDRIVERS for passing swrast
latest mesa errors out
../mesa-21.0.0/meson.build:21:0: ERROR: Options "swrast" are not in allowed choices: "auto, i915, i965, r100, r200, nouveau"

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-04-03 17:07:25 +01:00
Khem Raj 1ae52a743c libglu: Fix build with userland graphics
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-12-04 11:18:40 +00:00
Khem Raj 6c1c9ff4ee mesa-gl: Enable swrast dri backend for rpi/userland
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>
2020-12-02 22:10:03 +00:00
Luis Alfredo da Silva c5633df788 Revert "mesa: querying dma_buf modifiers for specific formats"
This reverts commit 84cb8538cd.

Fixes:
    - https://gitlab.gnome.org/GNOME/mutter/-/issues/1421
    - #711
2020-09-17 15:25:39 +01:00
Khem Raj ac5e346167 mesa: Fix patch fuzz
Fixes
ERROR: mesa-2_20.0.1-r0 do_patch: Fuzz detected:

Applying patch 0001-dri2-query-dma-buf-modifiers.patch
patching file src/gallium/state_trackers/dri/dri2.c
Hunk #1 succeeded at 1366 with fuzz 1 (offset -2 lines).

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-03-12 16:57:44 +00:00
rkhan467 84cb8538cd mesa: querying dma_buf modifiers for specific formats
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>
2020-03-10 17:49:23 +00:00
Khem Raj d7cd633b75 mesa: Enable vc4, v3d, kmsro gallium drivers
This enables new v3d driver which needs kmsro as dependency

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-08-28 20:08:55 +01:00
Andrei Gherzan c6e0a7e467 mesa: Add v3d and kmsro driver as well
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>
2019-08-15 16:50:50 +01:00
Khem Raj 7e5fb3fca8 mesa-gl: Delete only KHR/khrplatform.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-03-05 12:19:25 +00:00
Khem Raj 52d0031c57 mesa-gl: Provide virtual/libgbm
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>
2019-02-24 11:04:38 +00:00
Khem Raj 2c8b2f6c6b mesa-gl: Let userland provide libEGL and GLESv2 when vc4 graphics is not used
When vc4graphics is not used then useland graphics provides these
libraries

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-02-24 11:04:38 +00:00
Khem Raj 0b10f248d0 mesa: Build swrast gallium driver along with vc4
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>
2018-10-02 14:14:54 +01:00
Khem Raj a0beccee73 mesa-demos,piglit,packagegroup-core-tools-testapps: Remove dependency on mesa-demos
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>
2018-07-16 16:57:38 +01:00
Andreas Müller 963761aac3 mesa: enable dri3 explicitly
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>
2018-04-06 12:33:40 +01:00
Khem Raj d9e94b87a7 mesa-gl: Enable gbm for rpi
weston needs gbm support which is not
in userland

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-05-11 18:18:08 +01:00
Andreas Müller 3b9aebd6ae mesa: align for vc4
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
2016-10-14 14:49:04 +02:00
Carlos Alberto Lopez Perez ed84c2c8a2 vc4graphics: Support X11 with the VC4 driver.
* 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>
2016-09-21 17:14:59 +01:00
Herve Jourdain 6b4de2bb90 mesa_%.bbappend: new file to add the correct configuration options to support vc4graphics
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-09-21 16:51:25 +01:00
Andrei Gherzan bdb6b72284 mesa: Replace ugly fix for gles/egl
Use instead, the special created recipe mesa-gl which provides on libgl.

Change-Id: I5ed3c50a0a794f8ea63cc1906f0139ec47459fa6
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-25 17:45:00 +02:00
Jonathan Liu fcf5cb333e mesa: rename .bbappend to match new version from oe-core
Change-Id: Ie3c7bc3e70bfd46cea64ef813c3875d1ba8d07fc
Signed-off-by: Jonathan Liu <net147@gmail.com>
2014-02-21 22:05:47 +11:00
Andrei Gherzan 40267fd013 mesa: Remove egl and gles only for raspberrypi machine
Change-Id: I25fab6e100546cfffdd901383f76de76cd7763ed
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-12 00:19:55 +02:00
Andrei Gherzan c52d4b3da1 mesa: Modify version to match the one from oe-core
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-11 11:59:45 +02:00
Andrei Gherzan caf5f88c65 mesa: Use libgl from mesa for raspberrypi
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>
2013-08-21 15:54:58 +03:00