mirror of
https://github.com/agherzan/meta-raspberrypi.git
synced 2025-12-06 06:19:11 +00:00
Compare commits
34 Commits
ag/builds
...
aaf976a665
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aaf976a665 | ||
|
|
8d786f646e | ||
|
|
2597651049 | ||
|
|
3afc9728b1 | ||
|
|
de443f6986 | ||
|
|
5f942bc479 | ||
|
|
fceeefa9f0 | ||
|
|
884b8b424f | ||
|
|
c62176e5ff | ||
|
|
41a6240492 | ||
|
|
849919de47 | ||
|
|
cdf5a8ae49 | ||
|
|
1f2045321a | ||
|
|
8e9ec2685a | ||
|
|
48452445d7 | ||
|
|
9e89558cb8 | ||
|
|
8c916b683d | ||
|
|
4597c80b12 | ||
|
|
bae1bac2e7 | ||
|
|
1091bde25e | ||
|
|
acc1e1e9f2 | ||
|
|
bce7b3acd2 | ||
|
|
c06ccd1897 | ||
|
|
37975104a6 | ||
|
|
a56d87d4e6 | ||
|
|
1467f18a49 | ||
|
|
3b27c95c16 | ||
|
|
c153c694bd | ||
|
|
e9cc26c9c7 | ||
|
|
fa2bcfcf0e | ||
|
|
e124d8284c | ||
|
|
3209d98660 | ||
|
|
6df7e028a2 | ||
|
|
1918a27419 |
2
.github/actions/docker-build/action.yml
vendored
2
.github/actions/docker-build/action.yml
vendored
@@ -32,7 +32,7 @@ runs:
|
||||
n=1
|
||||
until [ "$n" -gt "$tries" ]; do
|
||||
echo "Building the docker image ${{ inputs.docker_image }}-${{ inputs.id }}... try $n..."
|
||||
if docker build . -f "${{ inputs.docker_image }}/Dockerfile" -t "${{ inputs.docker_image }}-${{ inputs.id }}"; then
|
||||
if docker build --no-cache . -f "${{ inputs.docker_image }}/Dockerfile" -t "${{ inputs.docker_image }}-${{ inputs.id }}"; then
|
||||
# This can fail if a dangling images cleaning job runs in
|
||||
# parallel. So we try this a couple of times to minimize
|
||||
# conflict. This is because while building, docker creates a
|
||||
|
||||
4
.github/workflows/compliance.yml
vendored
4
.github/workflows/compliance.yml
vendored
@@ -23,7 +23,9 @@ jobs:
|
||||
id: ${{ github.event.number }}
|
||||
- name: Do DCO check
|
||||
run: |
|
||||
docker run --rm -v "$GITHUB_WORKSPACE:/work:ro" \
|
||||
docker run --rm --security-opt apparmor=unconfined \
|
||||
--security-opt seccomp=unconfined \
|
||||
-v "$GITHUB_WORKSPACE:/work:ro" \
|
||||
--env "BASE_REF=$GITHUB_BASE_REF" \
|
||||
"dco-check-${{ github.event.number }}"
|
||||
- name: Cleanup temporary docker image
|
||||
|
||||
2
.github/workflows/docker-images/README.md
vendored
2
.github/workflows/docker-images/README.md
vendored
@@ -17,5 +17,5 @@ passing the appropriate `-f` argument.
|
||||
Here is an example for building the `dco-check` image:
|
||||
|
||||
```
|
||||
docker build . -f dco-check/Dockerfile -t dco-check
|
||||
docker build --no-cache . -f dco-check/Dockerfile -t dco-check
|
||||
```
|
||||
|
||||
@@ -2,20 +2,21 @@
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
FROM ubuntu:20.04
|
||||
FROM ubuntu:22.04
|
||||
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
RUN apt-get update -qq
|
||||
RUN apt-get update -q -y
|
||||
RUN apt-get install -y eatmydata
|
||||
|
||||
# Yocto/OE build host dependencies
|
||||
# Keep this in sync with
|
||||
# https://git.yoctoproject.org/poky/tree/documentation/poky.yaml
|
||||
# https://git.yoctoproject.org/poky/tree/documentation/poky.yaml.in
|
||||
# https://git.yoctoproject.org/poky/tree/documentation/tools/host_packages_scripts/ubuntu_essential.sh
|
||||
RUN eatmydata apt-get install -qq -y \
|
||||
gawk wget git diffstat unzip texinfo gcc build-essential chrpath \
|
||||
socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \
|
||||
iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
|
||||
pylint3 xterm python3-subunit mesa-common-dev zstd liblz4-tool
|
||||
build-essential chrpath cpio debianutils diffstat file gawk gcc \
|
||||
git iputils-ping libacl1 liblz4-tool locales python3 python3-git \
|
||||
python3-jinja2 python3-pexpect python3-pip python3-subunit socat \
|
||||
texinfo unzip wget xz-utils zstd
|
||||
|
||||
# en_US.UTF-8 is required by the build system
|
||||
RUN eatmydata apt-get install -qq -y locales \
|
||||
@@ -29,6 +30,9 @@ RUN eatmydata apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
RUN echo "dash dash/sh boolean false" | debconf-set-selections \
|
||||
&& dpkg-reconfigure dash
|
||||
|
||||
# Fix the resource exhaustion problem on the build infrastructure
|
||||
RUN echo 'vm.max_map_count = 4048576' >> /etc/sysctl.conf
|
||||
|
||||
# Run under normal user called 'ci'
|
||||
RUN useradd --create-home --uid 1000 --shell /usr/bin/bash ci
|
||||
USER ci
|
||||
|
||||
4
.github/workflows/yocto-builds.yml
vendored
4
.github/workflows/yocto-builds.yml
vendored
@@ -66,7 +66,8 @@ jobs:
|
||||
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||
- name: Build the image
|
||||
run: |
|
||||
docker run --rm \
|
||||
docker run --rm --security-opt apparmor=unconfined \
|
||||
--security-opt seccomp=unconfined \
|
||||
-v "$GITHUB_WORKSPACE:/work:ro" \
|
||||
-v "$DL_DIR:$DL_DIR:rw" \
|
||||
-v "$SSTATE_DIR:$SSTATE_DIR:rw" \
|
||||
@@ -76,6 +77,7 @@ jobs:
|
||||
--env "IMAGE=${{ matrix.image }}" \
|
||||
--env "DL_DIR=$DL_DIR" \
|
||||
--env "SSTATE_DIR=$SSTATE_DIR" \
|
||||
--ulimit "nofile=1024:1048576" \
|
||||
"yocto-builder-${{ github.event.number }}" \
|
||||
/entrypoint-build.sh
|
||||
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||
|
||||
3
.github/workflows/yocto-layer.yml
vendored
3
.github/workflows/yocto-layer.yml
vendored
@@ -42,7 +42,8 @@ jobs:
|
||||
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||
- name: Run yocto-check-layer
|
||||
run: |
|
||||
docker run --rm -v "$GITHUB_WORKSPACE:/work:ro" \
|
||||
docker run --rm --security-opt apparmor=unconfined \
|
||||
-v "$GITHUB_WORKSPACE:/work:ro" \
|
||||
--env "BASE_REF=$GITHUB_BASE_REF" \
|
||||
"yocto-builder-${{ github.event.number }}" \
|
||||
/entrypoint-yocto-check-layer.sh
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
version: 2
|
||||
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
||||
build:
|
||||
os: ubuntu-22.04
|
||||
tools:
|
||||
|
||||
@@ -58,15 +58,28 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
||||
overlays/pps-gpio.dtbo \
|
||||
overlays/rpi-ft5406.dtbo \
|
||||
overlays/rpi-poe.dtbo \
|
||||
overlays/uart0.dtbo \
|
||||
overlays/uart0-pi5.dtbo \
|
||||
overlays/uart1.dtbo \
|
||||
overlays/uart1-pi5.dtbo \
|
||||
overlays/uart2.dtbo \
|
||||
overlays/uart2-pi5.dtbo \
|
||||
overlays/uart3.dtbo \
|
||||
overlays/uart3-pi5.dtbo \
|
||||
overlays/uart4.dtbo \
|
||||
overlays/uart4-pi5.dtbo \
|
||||
overlays/uart5.dtbo \
|
||||
overlays/vc4-fkms-v3d.dtbo \
|
||||
overlays/vc4-fkms-v3d-pi4.dtbo \
|
||||
overlays/vc4-kms-v3d.dtbo \
|
||||
overlays/vc4-kms-v3d-pi4.dtbo \
|
||||
overlays/vc4-kms-v3d-pi5.dtbo \
|
||||
overlays/vc4-kms-dsi-7inch.dtbo \
|
||||
overlays/vc4-kms-dsi-ili9881-7inch.dtbo \
|
||||
overlays/w1-gpio.dtbo \
|
||||
overlays/w1-gpio-pullup.dtbo \
|
||||
overlays/wm8960-soundcard.dtbo \
|
||||
overlays/bcm2712d0.dtbo \
|
||||
"
|
||||
|
||||
RPI_KERNEL_DEVICETREE ?= " \
|
||||
@@ -86,7 +99,6 @@ RPI_KERNEL_DEVICETREE ?= " \
|
||||
broadcom/bcm2710-rpi-cm3.dtb \
|
||||
broadcom/bcm2711-rpi-cm4.dtb \
|
||||
broadcom/bcm2711-rpi-cm4s.dtb \
|
||||
broadcom/bcm2712-rpi-5-b.dtb \
|
||||
"
|
||||
|
||||
KERNEL_DEVICETREE ??= " \
|
||||
|
||||
@@ -33,6 +33,10 @@ RPI_KERNEL_DEVICETREE = " \
|
||||
broadcom/bcm2711-rpi-cm4.dtb \
|
||||
broadcom/bcm2711-rpi-cm4s.dtb \
|
||||
broadcom/bcm2712-rpi-5-b.dtb \
|
||||
broadcom/bcm2712-rpi-cm5-cm5io.dtb \
|
||||
broadcom/bcm2712-rpi-cm5-cm4io.dtb \
|
||||
broadcom/bcm2712-rpi-cm5l-cm5io.dtb \
|
||||
broadcom/bcm2712-rpi-cm5l-cm4io.dtb \
|
||||
"
|
||||
|
||||
SDIMG_KERNELIMAGE ?= "kernel8.img"
|
||||
|
||||
@@ -15,6 +15,10 @@ MACHINE_EXTRA_RRECOMMENDS += "\
|
||||
|
||||
RPI_KERNEL_DEVICETREE = " \
|
||||
broadcom/bcm2712-rpi-5-b.dtb \
|
||||
broadcom/bcm2712-rpi-cm5-cm5io.dtb \
|
||||
broadcom/bcm2712-rpi-cm5-cm4io.dtb \
|
||||
broadcom/bcm2712-rpi-cm5l-cm5io.dtb \
|
||||
broadcom/bcm2712-rpi-cm5l-cm4io.dtb \
|
||||
"
|
||||
|
||||
SDIMG_KERNELIMAGE ?= "kernel_2712.img"
|
||||
|
||||
@@ -5,14 +5,14 @@ LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d
|
||||
|
||||
inherit deploy nopackages
|
||||
|
||||
RPIFW_DATE ?= "20240319"
|
||||
SRCREV = "9f24f4bc2bdd07ffd158cfbb4bce88a2efc4c1f5"
|
||||
RPIFW_DATE ?= "20250430"
|
||||
SRCREV = "bc7f439c234e19371115e07b57c366df59cc1bc7"
|
||||
SHORTREV = "${@d.getVar("SRCREV", False).__str__()[:7]}"
|
||||
RPIFW_SRC_URI ?= "https://api.github.com/repos/raspberrypi/firmware/tarball/9f24f4bc2bdd07ffd158cfbb4bce88a2efc4c1f5;downloadfilename=raspberrypi-firmware-${SHORTREV}.tar.gz"
|
||||
RPIFW_SRC_URI ?= "https://api.github.com/repos/raspberrypi/firmware/tarball/${SRCREV};downloadfilename=raspberrypi-firmware-${SHORTREV}.tar.gz"
|
||||
RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-${SHORTREV}"
|
||||
|
||||
SRC_URI = "${RPIFW_SRC_URI}"
|
||||
SRC_URI[sha256sum] = "4b436f8946b139c6a1202375ef55d4848e3bcd8c1a9cb47000e06d7ecec828f7"
|
||||
SRC_URI[sha256sum] = "2c027debbef53c86c9ff9197d056d501b95f6ad214ad4db00a8a59b947574eb1"
|
||||
|
||||
PV = "${RPIFW_DATE}"
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
SUMMARY = "Installation scripts and binaries for the Raspberry Pi 4 EEPROM"
|
||||
DESCRIPTION = "This repository contains the rpi4 bootloader and scripts \
|
||||
DESCRIPTION = "This repository contains the rpi4/rpi5 bootloader and scripts \
|
||||
for updating it in the spi eeprom"
|
||||
LICENSE = "BSD-3-Clause & Broadcom-RPi"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=f546ed4f47e9d4c1fe954ecc9d3ef4f3"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=a6c5149578a16272119f3f9c13d6549b"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/raspberrypi/rpi-eeprom.git;protocol=https;branch=master \
|
||||
"
|
||||
|
||||
SRCREV = "36e58db5c2a2656e553441f4f48f32227809105d"
|
||||
PV = "v.2024.02.16-2712"
|
||||
SRCREV = "1bd0a1052b2e74d7af04de18d30b5edb12d8a423"
|
||||
PV = "v2025.03.10-2712"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
||||
1
recipes-bsp/u-boot/files/maxsize.cfg
Normal file
1
recipes-bsp/u-boot/files/maxsize.cfg
Normal file
@@ -0,0 +1 @@
|
||||
CONFIG_SYS_BOOTM_LEN=0x1000000
|
||||
@@ -5,6 +5,7 @@ SRC_URI:append:rpi = " \
|
||||
"
|
||||
|
||||
SRC_URI:append:rpi = " file://0001-rpi-always-set-fdt_addr-with-firmware-provided-FDT-address.patch"
|
||||
SRC_URI:append:raspberrypi4 = " file://maxsize.cfg"
|
||||
|
||||
DEPENDS:append:rpi = " u-boot-default-script"
|
||||
|
||||
|
||||
53
recipes-devtools/raspi-utils/raspi-utils_git.bb
Normal file
53
recipes-devtools/raspi-utils/raspi-utils_git.bb
Normal file
@@ -0,0 +1,53 @@
|
||||
SUMMARY = "A collection of scripts and simple applications"
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENCE;md5=4c01239e5c3a3d133858dedacdbca63c"
|
||||
|
||||
RCONFLICTS:${PN} = "userland"
|
||||
DEPENDS:append = " dtc"
|
||||
PACKAGES =+ " ${PN}-raspinfo"
|
||||
PACKAGES =+ " ${PN}-ovmerge"
|
||||
RDEPENDS:${PN}-raspinfo += " bash"
|
||||
RDEPENDS:${PN}-ovmerge += " perl"
|
||||
|
||||
PV = "1.0+git"
|
||||
|
||||
SRC_URI = "git://github.com/raspberrypi/utils;protocol=https;branch=master"
|
||||
|
||||
SRCREV = "b9c63214c535d7df2b0fa6743b7b3e508363c25a"
|
||||
|
||||
FILES:${PN}:append = " \
|
||||
${datadir}/bash-completion/completions/pinctrl \
|
||||
${datadir}/bash-completion/completions/vcgencmd \
|
||||
"
|
||||
FILES:${PN}-raspinfo += "${bindir}/raspinfo"
|
||||
FILES:${PN}-ovmerge += "${bindir}/ovmerge"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
OECMAKE_TARGET_COMPILE = "\
|
||||
dtmerge/all \
|
||||
eeptools/all \
|
||||
otpset/all \
|
||||
overlaycheck/all \
|
||||
ovmerge/all \
|
||||
pinctrl/all \
|
||||
raspinfo/all \
|
||||
vcgencmd/all \
|
||||
vclog/all \
|
||||
vcmailbox/all \
|
||||
"
|
||||
|
||||
OECMAKE_TARGET_INSTALL = "\
|
||||
dtmerge/install \
|
||||
eeptools/install \
|
||||
otpset/install \
|
||||
overlaycheck/install \
|
||||
ovmerge/install \
|
||||
pinctrl/install \
|
||||
raspinfo/install \
|
||||
vcgencmd/install \
|
||||
vclog/install \
|
||||
vcmailbox/install \
|
||||
"
|
||||
|
||||
inherit cmake
|
||||
@@ -0,0 +1,29 @@
|
||||
From: Markus Volk <f_l_k@t-online.de>
|
||||
Date: Sun, 19 Mai 2025 15:34:46 +0100
|
||||
Subject: [PATCH] dont build clover frontend
|
||||
|
||||
The clover frontend is deprecated and is always built with opencl, even if
|
||||
using rusticl. Additionally it adds a reproducibility issue.
|
||||
|
||||
Upstream-Status: Inappropriate [oe-specific]
|
||||
Signed-off-by: Markus Volk <f_l_k@t-online.de>
|
||||
|
||||
--- a/src/gallium/meson.build 2025-05-07 18:35:10.000000000 +0200
|
||||
+++ b/src/gallium/meson.build 2025-05-18 17:05:23.677694272 +0200
|
||||
@@ -195,15 +195,11 @@
|
||||
else
|
||||
driver_d3d12 = declare_dependency()
|
||||
endif
|
||||
-if with_gallium_clover or with_tests
|
||||
+if with_tests
|
||||
# At the moment, clover and gallium/tests are the only two consumers
|
||||
# for pipe-loader
|
||||
subdir('targets/pipe-loader')
|
||||
endif
|
||||
-if with_gallium_clover
|
||||
- subdir('frontends/clover')
|
||||
- subdir('targets/opencl')
|
||||
-endif
|
||||
if with_gallium_rusticl
|
||||
subdir('frontends/rusticl')
|
||||
subdir('targets/rusticl')
|
||||
@@ -0,0 +1,39 @@
|
||||
From 531c6696d42953cd642dea7bf70153285c7949ae Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Kai=20Wasserb=C3=A4ch?= <kai@dev.carbon-project.org>
|
||||
Date: Tue, 6 May 2025 14:36:57 +0200
|
||||
Subject: [PATCH] fix(FTBFS): clc: switch to new non-owned `TargetOptions` for
|
||||
LLVM 21
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream hid the `TargetOptions` in commit 985410f87f2d19910a8d327527fd30062b042b63
|
||||
|
||||
Use the new `getTargetOpts()` to obtain the `TargetOptions` for
|
||||
`setTarget()`.
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34835]
|
||||
|
||||
Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13079
|
||||
Reference: https://github.com/llvm/llvm-project/commit/985410f87f2d19910a8d327527fd30062b042b63
|
||||
Reviewed-by: Karol Herbst <kherbst@redhat.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34835>
|
||||
---
|
||||
src/compiler/clc/clc_helpers.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
--- a/src/compiler/clc/clc_helpers.cpp
|
||||
+++ b/src/compiler/clc/clc_helpers.cpp
|
||||
@@ -874,7 +874,11 @@ clc_compile_to_llvm_module(LLVMContext &
|
||||
diag_opts));
|
||||
|
||||
c->setTarget(clang::TargetInfo::CreateTargetInfo(
|
||||
+#if LLVM_VERSION_MAJOR >= 21
|
||||
+ c->getDiagnostics(), c->getInvocation().getTargetOpts()));
|
||||
+#else
|
||||
c->getDiagnostics(), c->getInvocation().TargetOpts));
|
||||
+#endif
|
||||
|
||||
c->getFrontendOpts().ProgramAction = clang::frontend::EmitLLVMOnly;
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
From 027ac36756cc75eea9ed4fee135a351af30b35fd Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
||||
Date: Tue, 16 Jul 2024 12:32:47 +0300
|
||||
Subject: [PATCH] freedreno: don't encode build path into binaries
|
||||
|
||||
Encoding build-specific path into installed binaries is generally
|
||||
frowned upon. It harms the reproducibility of the build and e.g.
|
||||
OpenEmbedded now considers that to be an error.
|
||||
|
||||
Instead of hardcoding rnn_src_path into the RNN_DEF_PATH define specify
|
||||
it manually when running the tests.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30206]
|
||||
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
||||
---
|
||||
src/freedreno/afuc/meson.build | 4 ++++
|
||||
src/freedreno/decode/meson.build | 4 +++-
|
||||
src/freedreno/meson.build | 2 +-
|
||||
3 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/freedreno/afuc/meson.build b/src/freedreno/afuc/meson.build
|
||||
index bb7cebf5a748..351cc31ef2de 100644
|
||||
--- a/src/freedreno/afuc/meson.build
|
||||
+++ b/src/freedreno/afuc/meson.build
|
||||
@@ -56,10 +56,12 @@ if with_tests
|
||||
asm_fw = custom_target('afuc_test.fw',
|
||||
output: 'afuc_test.fw',
|
||||
command: [asm, files('../.gitlab-ci/traces/afuc_test.asm'), '@OUTPUT@'],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
)
|
||||
asm_fw_a7xx = custom_target('afuc_test_a7xx.fw',
|
||||
output: 'afuc_test_a7xx.fw',
|
||||
command: [asm, files('../.gitlab-ci/traces/afuc_test_a7xx.asm'), '@OUTPUT@'],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
)
|
||||
test('afuc-asm',
|
||||
diff,
|
||||
@@ -120,11 +122,13 @@ if cc.sizeof('size_t') > 4
|
||||
disasm_fw = custom_target('afuc_test.asm',
|
||||
output: 'afuc_test.asm',
|
||||
command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test.fw')],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
capture: true
|
||||
)
|
||||
disasm_fw_a7xx = custom_target('afuc_test_a7xx.asm',
|
||||
output: 'afuc_test_a7xx.asm',
|
||||
command: [disasm, '-u', files('../.gitlab-ci/reference/afuc_test_a7xx.fw')],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
capture: true
|
||||
)
|
||||
test('afuc-disasm',
|
||||
diff --git a/src/freedreno/decode/meson.build b/src/freedreno/decode/meson.build
|
||||
index 469eeb4eb597..dfa1c12d0d9f 100644
|
||||
--- a/src/freedreno/decode/meson.build
|
||||
+++ b/src/freedreno/decode/meson.build
|
||||
@@ -194,6 +194,7 @@ if dep_lua.found() and dep_libarchive.found()
|
||||
log = custom_target(name + '.log',
|
||||
output: name + '.log',
|
||||
command: [cffdump, '--unit-test', args, files('../.gitlab-ci/traces/' + name + '.rd.gz')],
|
||||
+ env: {'RNN_PATH': rnn_src_path},
|
||||
capture: true,
|
||||
)
|
||||
test('cffdump-' + name,
|
||||
@@ -247,7 +248,8 @@ if with_tests
|
||||
output: name + '.log',
|
||||
command: [crashdec, args, files('../.gitlab-ci/traces/' + name + '.devcore')],
|
||||
capture: true,
|
||||
- env: {'GALLIUM_DUMP_CPU': 'false'},
|
||||
+ env: {'GALLIUM_DUMP_CPU': 'false',
|
||||
+ 'RNN_PATH': rnn_src_path},
|
||||
)
|
||||
|
||||
test('crashdec-' + name,
|
||||
diff --git a/src/freedreno/meson.build b/src/freedreno/meson.build
|
||||
index 98e49b8fcf0e..145e72597eb9 100644
|
||||
--- a/src/freedreno/meson.build
|
||||
+++ b/src/freedreno/meson.build
|
||||
@@ -6,7 +6,7 @@ inc_freedreno_rnn = include_directories('rnn')
|
||||
|
||||
rnn_src_path = dir_source_root + '/src/freedreno/registers'
|
||||
rnn_install_path = get_option('datadir') + '/freedreno/registers'
|
||||
-rnn_path = rnn_src_path + ':' + get_option('prefix') + '/' + rnn_install_path
|
||||
+rnn_path = get_option('prefix') + '/' + rnn_install_path
|
||||
|
||||
dep_libarchive = dependency('libarchive', allow_fallback: true, required: false)
|
||||
dep_libxml2 = dependency('libxml-2.0', allow_fallback: true, required: false)
|
||||
diff --git a/src/freedreno/registers/gen_header.py b/src/freedreno/registers/gen_header.py
|
||||
--- a/src/freedreno/registers/gen_header.py
|
||||
+++ b/src/freedreno/registers/gen_header.py
|
||||
@@ -885,13 +885,14 @@ The rules-ng-ng source files this header
|
||||
""")
|
||||
maxlen = 0
|
||||
for filepath in p.xml_files:
|
||||
- maxlen = max(maxlen, len(filepath))
|
||||
+ maxlen = max(maxlen, len(os.path.basename(filepath)))
|
||||
for filepath in p.xml_files:
|
||||
- pad = " " * (maxlen - len(filepath))
|
||||
+ filename = os.path.basename(filepath)
|
||||
+ pad = " " * (maxlen - len(filename))
|
||||
filesize = str(os.path.getsize(filepath))
|
||||
filesize = " " * (7 - len(filesize)) + filesize
|
||||
filetime = time.ctime(os.path.getmtime(filepath))
|
||||
- print("- " + filepath + pad + " (" + filesize + " bytes, from " + filetime + ")")
|
||||
+ print("- " + filename + pad + " (" + filesize + " bytes, from " + filetime + ")")
|
||||
if p.copyright_year:
|
||||
current_year = str(datetime.date.today().year)
|
||||
print()
|
||||
---
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From 02cc21800fe29f566add525e63f619c0536d6e7b Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 13 Jan 2020 15:23:47 -0800
|
||||
Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/util/u_atomic.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
|
||||
index 5a5eab4..e499516 100644
|
||||
--- a/src/util/u_atomic.c
|
||||
+++ b/src/util/u_atomic.c
|
||||
@@ -21,7 +21,7 @@
|
||||
* IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
|
||||
+#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
|
||||
|
||||
#include <stdint.h>
|
||||
#include <pthread.h>
|
||||
383
recipes-graphics/mesa/mesa_25.1.6.bb
Normal file
383
recipes-graphics/mesa/mesa_25.1.6.bb
Normal file
@@ -0,0 +1,383 @@
|
||||
SUMMARY = "A free implementation of the OpenGL API"
|
||||
DESCRIPTION = "Mesa is an open-source implementation of the OpenGL specification - \
|
||||
a system for rendering interactive 3D graphics. \
|
||||
A variety of device drivers allows Mesa to be used in many different environments \
|
||||
ranging from software emulation to complete hardware acceleration for modern GPUs. \
|
||||
Mesa is used as part of the overall Direct Rendering Infrastructure and X.org \
|
||||
environment."
|
||||
|
||||
HOMEPAGE = "http://mesa3d.org"
|
||||
BUGTRACKER = "https://bugs.freedesktop.org"
|
||||
SECTION = "x11"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11"
|
||||
|
||||
PE = "2"
|
||||
|
||||
SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \
|
||||
file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
|
||||
file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \
|
||||
file://0001-dont-build-clover-frontend.patch \
|
||||
file://0001-fix-FTBFS-clc-switch-to-new-non-owned-TargetOptions-.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "9f2b69eb39d2d8717d30a9868fdda3e0c0d3708ba32778bbac8ddb044538ce84"
|
||||
PV = "25.1.6"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
|
||||
|
||||
#because we cannot rely on the fact that all apps will use pkgconfig,
|
||||
#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
|
||||
do_install:append() {
|
||||
# sed can't find EGL/eglplatform.h as it doesn't get installed when glvnd enabled.
|
||||
# So, check if EGL/eglplatform.h exists before running sed.
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then
|
||||
sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
|
||||
fi
|
||||
# These are ICDs, apps are not supposed to link against them
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', 'true', 'false', d)} ; then
|
||||
rm -f ${D}${libdir}/libEGL_mesa.so ${D}${libdir}/libGLX_mesa.so
|
||||
fi
|
||||
}
|
||||
|
||||
DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native"
|
||||
EXTRANATIVEPATH += "chrpath-native"
|
||||
GLPROVIDES = " \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \
|
||||
"
|
||||
PROVIDES = " \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'glvnd', '', d.getVar('GLPROVIDES'), d)} \
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \
|
||||
virtual/mesa \
|
||||
"
|
||||
|
||||
inherit meson pkgconfig python3native gettext features_check rust
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
ANY_OF_DISTRO_FEATURES = "opengl vulkan"
|
||||
|
||||
PLATFORMS ??= "${@bb.utils.filter('PACKAGECONFIG', 'x11 wayland', d)}"
|
||||
|
||||
# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug'
|
||||
# by default the upstream mesa sources build a debug release
|
||||
# here we assume the user will want a release build by default
|
||||
MESA_BUILD_TYPE ?= "release"
|
||||
def check_buildtype(d):
|
||||
_buildtype = d.getVar('MESA_BUILD_TYPE')
|
||||
if _buildtype not in ['release', 'debug']:
|
||||
bb.fatal("unknown build type (%s), please set MESA_BUILD_TYPE to either 'release' or 'debug'" % _buildtype)
|
||||
if _buildtype == 'debug':
|
||||
return 'debugoptimized'
|
||||
return 'plain'
|
||||
MESON_BUILDTYPE = "${@check_buildtype(d)}"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dglx-read-only-text=true \
|
||||
-Dplatforms='${@",".join("${PLATFORMS}".split())}' \
|
||||
"
|
||||
|
||||
def strip_comma(s):
|
||||
return s.strip(',')
|
||||
|
||||
PACKAGECONFIG = " \
|
||||
gallium \
|
||||
video-codecs \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
|
||||
"
|
||||
|
||||
# skip all Rust dependencies if we are not building OpenCL"
|
||||
INHIBIT_DEFAULT_RUST_DEPS = "${@bb.utils.contains('PACKAGECONFIG', 'opencl', '', '1', d)}"
|
||||
|
||||
PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga"
|
||||
PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga"
|
||||
PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga"
|
||||
PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau svga"
|
||||
|
||||
# "gbm" requires "opengl"
|
||||
PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled"
|
||||
|
||||
X11_DEPS = "xorgproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes xrandr xorgproto libxshmfence"
|
||||
# "x11" requires "opengl"
|
||||
PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}"
|
||||
PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
|
||||
|
||||
VULKAN_DRIVERS_AMD = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',amd', '', d)}"
|
||||
VULKAN_DRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}"
|
||||
VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',intel', '', d)}"
|
||||
VULKAN_DRIVERS_SWRAST = ",swrast"
|
||||
# Crashes on x32
|
||||
VULKAN_DRIVERS_SWRAST:x86-x32 = ""
|
||||
VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_SWRAST}${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_ASAHI}${VULKAN_DRIVERS_INTEL}"
|
||||
|
||||
VULKAN_DRIVERS = ""
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'broadcom', ',broadcom', '', d)}"
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${VULKAN_DRIVERS_LLVM}', '', d)}"
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination-experimental', '', d)}"
|
||||
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
|
||||
PACKAGECONFIG[vulkan] = "-Dvulkan-drivers=${@strip_comma('${VULKAN_DRIVERS}')}, -Dvulkan-drivers='',glslang-native vulkan-loader vulkan-headers"
|
||||
|
||||
# mesa development and testing tools support, per driver
|
||||
TOOLS = ""
|
||||
TOOLS_DEPS = ""
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
|
||||
TOOLS:append = "${@bb.utils.contains('PACKAGECONFIG', 'imagination', ',imagination', '', d)}"
|
||||
|
||||
# dependencies for tools.
|
||||
TOOLS_DEPS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ' ncurses libxml2 ', '', d)}"
|
||||
|
||||
# the fdperf tool requires libconfig (a part of meta-oe) so it needs special
|
||||
# treatment in addition to the usual 'freedreno tools'.
|
||||
PACKAGECONFIG[freedreno-fdperf] = ",,libconfig"
|
||||
|
||||
PACKAGECONFIG[tools] = "-Dtools=${@strip_comma('${TOOLS}')}, -Dtools='', ${TOOLS_DEPS}"
|
||||
|
||||
PACKAGECONFIG[opengl] = "-Dopengl=true, -Dopengl=false"
|
||||
PACKAGECONFIG[glvnd] = "-Dglvnd=enabled, -Dglvnd=disabled, libglvnd"
|
||||
|
||||
# "gles" requires "opengl"
|
||||
PACKAGECONFIG[gles] = "-Dgles1=enabled -Dgles2=enabled, -Dgles1=disabled -Dgles2=disabled"
|
||||
|
||||
# "egl" requires "opengl"
|
||||
PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled"
|
||||
|
||||
# "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG!
|
||||
# Be sure to enable them both for the target and for the native build.
|
||||
PACKAGECONFIG[opencl] = "-Dgallium-rusticl=true, -Dgallium-rusticl=false, bindgen-cli-native"
|
||||
|
||||
PACKAGECONFIG[broadcom] = ""
|
||||
PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native"
|
||||
PACKAGECONFIG[freedreno] = ""
|
||||
PACKAGECONFIG[vc4] = ""
|
||||
PACKAGECONFIG[v3d] = ""
|
||||
PACKAGECONFIG[zink] = ""
|
||||
|
||||
GALLIUMDRIVERS = "softpipe"
|
||||
# gallium swrast was found to crash Xorg on startup in x32 qemu
|
||||
GALLIUMDRIVERS:x86-x32 = ""
|
||||
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'etnaviv', ',etnaviv', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
|
||||
|
||||
GALLIUMDRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}"
|
||||
GALLIUMDRIVERS_AMD = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',r300', '', d)}"
|
||||
GALLIUMDRIVERS_IRIS = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',iris', '', d)}"
|
||||
GALLIUMDRIVERS_NOUVEAU = "${@bb.utils.contains('PACKAGECONFIG', 'nouveau', ',nouveau', '', d)}"
|
||||
GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',radeonsi', '', d)}"
|
||||
GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe"
|
||||
# llvmpipe crashes on x32
|
||||
GALLIUMDRIVERS_LLVMPIPE:x86-x32 = ""
|
||||
GALLIUMDRIVERS_SVGA = "${@bb.utils.contains('PACKAGECONFIG', 'svga', ',svga', '', d)}"
|
||||
GALLIUMDRIVERS_LLVM = "${GALLIUMDRIVERS_LLVMPIPE}${GALLIUMDRIVERS_AMD}${GALLIUMDRIVERS_ASAHI}${GALLIUMDRIVERS_IRIS}${GALLIUMDRIVERS_NOUVEAU}${GALLIUMDRIVERS_RADEONSI}${GALLIUMDRIVERS_SVGA}"
|
||||
|
||||
PACKAGECONFIG[amd] = ""
|
||||
PACKAGECONFIG[nouveau] = ""
|
||||
PACKAGECONFIG[svga] = ""
|
||||
PACKAGECONFIG[virgl] = ""
|
||||
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', '${GALLIUMDRIVERS_LLVM}', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',r600', '', d)}"
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}"
|
||||
|
||||
MESA_CLC = "system"
|
||||
MESA_CLC:class-native = "enabled"
|
||||
INSTALL_MESA_CLC = "false"
|
||||
INSTALL_MESA_CLC:class-native = "true"
|
||||
MESA_NATIVE = "mesa-native"
|
||||
MESA_NATIVE:class-native = ""
|
||||
|
||||
PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm"
|
||||
PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils"
|
||||
PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}"
|
||||
PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
|
||||
PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
|
||||
|
||||
PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
|
||||
|
||||
PACKAGECONFIG[asahi] = ""
|
||||
|
||||
PACKAGECONFIG[intel] = ""
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',i915,crocus', '', d)}"
|
||||
|
||||
PACKAGECONFIG[lima] = ""
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}"
|
||||
|
||||
PACKAGECONFIG[panfrost] = ""
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'panfrost', ',panfrost', '', d)}"
|
||||
|
||||
PACKAGECONFIG[tegra] = ""
|
||||
GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra,nouveau', '', d)}"
|
||||
|
||||
PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
|
||||
|
||||
PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"
|
||||
|
||||
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
|
||||
|
||||
PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
|
||||
|
||||
VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}"
|
||||
PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''"
|
||||
|
||||
PACKAGECONFIG[teflon] = "-Dteflon=true, -Dteflon=false"
|
||||
|
||||
# llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2)
|
||||
FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer"
|
||||
|
||||
CFLAGS:append:armv5 = " -DMISSING_64BIT_ATOMICS"
|
||||
CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
|
||||
|
||||
# Remove the mesa dependency on mesa-dev, as mesa is empty
|
||||
DEV_PKG_DEPENDENCY = ""
|
||||
|
||||
# GLES2 and GLES3 implementations are packaged in a single library in libgles2-mesa.
|
||||
# Add a dependency so the GLES3 dev package is associated with its implementation.
|
||||
RPROVIDES:libgles2-mesa += "libgles3-mesa"
|
||||
RPROVIDES:libgles2-mesa-dev += "libgles3-mesa-dev"
|
||||
|
||||
RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools spirv-llvm-translator', '', d)}"
|
||||
|
||||
PACKAGES =+ "libegl-mesa libegl-mesa-dev \
|
||||
libgallium \
|
||||
libgl-mesa libgl-mesa-dev \
|
||||
libglx-mesa libglx-mesa-dev \
|
||||
libglapi libglapi-dev \
|
||||
libgbm libgbm-dev \
|
||||
libgles1-mesa libgles1-mesa-dev \
|
||||
libgles2-mesa libgles2-mesa-dev \
|
||||
libopencl-mesa \
|
||||
libteflon \
|
||||
mesa-megadriver mesa-vulkan-drivers \
|
||||
mesa-vdpau-drivers mesa-tools \
|
||||
"
|
||||
|
||||
do_install:append () {
|
||||
# libwayland-egl has been moved to wayland 1.15+
|
||||
rm -f ${D}${libdir}/libwayland-egl*
|
||||
rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
|
||||
}
|
||||
|
||||
# For the packages that make up the OpenGL interfaces, inject variables so that
|
||||
# they don't get Debian-renamed (which would remove the -mesa suffix), and
|
||||
# RPROVIDEs/RCONFLICTs on the generic libgl name.
|
||||
python __anonymous() {
|
||||
pkgconfig = (d.getVar('PACKAGECONFIG') or "").split()
|
||||
mlprefix = d.getVar("MLPREFIX")
|
||||
suffix = ""
|
||||
if "-native" in d.getVar("PN"):
|
||||
suffix = "-native"
|
||||
|
||||
for p in ("libegl", "libgl", "libglx", "libgles1", "libgles2", "libgles3", "libopencl"):
|
||||
fullp = mlprefix + p + "-mesa" + suffix
|
||||
d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix)
|
||||
|
||||
d.setVar("DEBIAN_NOAUTONAME:%slibopencl-mesa%s" % (mlprefix, suffix), "1")
|
||||
|
||||
if 'glvnd' in pkgconfig:
|
||||
for p in ("libegl", "libglx"):
|
||||
fullp = mlprefix + p + "-mesa" + suffix
|
||||
d.appendVar("RPROVIDES:" + fullp, ' virtual-%s-icd' % p)
|
||||
else:
|
||||
for p in (("egl", "libegl", "libegl1"),
|
||||
("opengl", "libgl", "libgl1"),
|
||||
("gles", "libgles1", "libglesv1-cm1"),
|
||||
("gles", "libgles2", "libglesv2-2", "libgles3")):
|
||||
if not p[0] in pkgconfig:
|
||||
continue
|
||||
fullp = mlprefix + p[1] + "-mesa" + suffix
|
||||
pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
|
||||
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
|
||||
d.appendVar("RREPLACES:" + fullp, pkgs)
|
||||
d.appendVar("RPROVIDES:" + fullp, pkgs)
|
||||
d.appendVar("RCONFLICTS:" + fullp, pkgs)
|
||||
|
||||
# For -dev, the first element is both the Debian and original name
|
||||
fullp = mlprefix + p[1] + "-mesa-dev" + suffix
|
||||
pkgs = " " + mlprefix + p[1] + "-dev" + suffix
|
||||
d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
|
||||
d.appendVar("RREPLACES:" + fullp, pkgs)
|
||||
d.appendVar("RPROVIDES:" + fullp, pkgs)
|
||||
d.appendVar("RCONFLICTS:" + fullp, pkgs)
|
||||
}
|
||||
|
||||
python mesa_populate_packages() {
|
||||
pkgs = ['mesa', 'mesa-dev', 'mesa-dbg']
|
||||
for pkg in pkgs:
|
||||
d.setVar("RPROVIDES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
|
||||
d.setVar("RCONFLICTS:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
|
||||
d.setVar("RREPLACES:%s" % pkg, pkg.replace("mesa", "mesa-dri", 1))
|
||||
|
||||
import re
|
||||
dri_drivers_root = oe.path.join(d.getVar('PKGD'), d.getVar('libdir'), "dri")
|
||||
if os.path.isdir(dri_drivers_root):
|
||||
dri_pkgs = sorted(os.listdir(dri_drivers_root))
|
||||
lib_name = d.expand("${MLPREFIX}mesa-megadriver")
|
||||
for p in dri_pkgs:
|
||||
m = re.match(r'^(.*)_dri\.so$', p)
|
||||
if m:
|
||||
pkg_name = " ${MLPREFIX}mesa-driver-%s" % legitimize_package_name(m.group(1))
|
||||
d.appendVar("RPROVIDES:%s" % lib_name, pkg_name)
|
||||
d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name)
|
||||
d.appendVar("RREPLACES:%s" % lib_name, pkg_name)
|
||||
}
|
||||
|
||||
PACKAGESPLITFUNCS =+ "mesa_populate_packages"
|
||||
|
||||
PACKAGES_DYNAMIC += "^mesa-driver-.*"
|
||||
PACKAGES_DYNAMIC:class-native = "^mesa-driver-.*-native"
|
||||
|
||||
FILES:mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d"
|
||||
FILES:mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${libdir}/libpowervr_rogue.so ${datadir}/vulkan"
|
||||
FILES:${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*"
|
||||
FILES:libegl-mesa = "${libdir}/libEGL*.so.* ${datadir}/glvnd/egl_vendor.d"
|
||||
FILES:libgbm = "${libdir}/libgbm.so.* ${libdir}/gbm/*_gbm.so"
|
||||
FILES:libgallium = "${libdir}/libgallium-*.so"
|
||||
FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
|
||||
FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
|
||||
FILES:libgl-mesa = "${libdir}/libGL.so.*"
|
||||
FILES:libglx-mesa = "${libdir}/libGLX*.so.*"
|
||||
FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so* ${sysconfdir}/OpenCL/vendors/*.icd"
|
||||
FILES:libglapi = "${libdir}/libglapi.so.*"
|
||||
|
||||
FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/GL/internal/dri_interface.h ${includedir}/vulkan ${libdir}/vdpau/*.so"
|
||||
FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
|
||||
FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${includedir}/gbm_backend_abi.h"
|
||||
FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL/*.h ${libdir}/pkgconfig/gl.pc"
|
||||
FILES:libglapi-dev = "${libdir}/libglapi.*"
|
||||
FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
|
||||
FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${includedir}/GLES3 ${libdir}/pkgconfig/glesv2.pc"
|
||||
FILES:libteflon = "${libdir}/libteflon.so"
|
||||
# catch all to get all the tools and data
|
||||
FILES:${PN}-tools = "${bindir} ${datadir}"
|
||||
ALLOW_EMPTY:${PN}-tools = "1"
|
||||
|
||||
# All DRI drivers are symlinks to libdril_dri.so
|
||||
INSANE_SKIP:${PN}-megadriver += "dev-so"
|
||||
|
||||
# OpenCL ICDs package also ship correspondig .so files, there is no -dev package
|
||||
INSANE_SKIP:libopencl-mesa += "dev-so"
|
||||
|
||||
# Fix upgrade path from mesa to mesa-megadriver
|
||||
RREPLACES:mesa-megadriver = "mesa"
|
||||
RCONFLICTS:mesa-megadriver = "mesa"
|
||||
RPROVIDES:mesa-megadriver = "mesa"
|
||||
|
||||
# Use this newer version only for rpi MACHINEs
|
||||
COMPATIBLE_MACHINE = "^rpi$"
|
||||
# This version doesn't have kmsro and dri3 added by
|
||||
# recipes-graphics/mesa/mesa_%.bbappend
|
||||
# already removed in master branch with:
|
||||
# https://github.com/agherzan/meta-raspberrypi/pull/1456
|
||||
# https://github.com/agherzan/meta-raspberrypi/pull/1472
|
||||
PACKAGECONFIG:remove:rpi = "kmsro dri3"
|
||||
27
recipes-graphics/wayland/wayland-protocols_1.45.bb
Normal file
27
recipes-graphics/wayland/wayland-protocols_1.45.bb
Normal file
@@ -0,0 +1,27 @@
|
||||
SUMMARY = "Collection of additional Wayland protocols"
|
||||
DESCRIPTION = "Wayland protocols that add functionality not \
|
||||
available in the Wayland core protocol. Such protocols either add \
|
||||
completely new functionality, or extend the functionality of some other \
|
||||
protocol either in Wayland core, or some other protocol in \
|
||||
wayland-protocols."
|
||||
HOMEPAGE = "http://wayland.freedesktop.org"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \
|
||||
file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53"
|
||||
|
||||
SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz"
|
||||
SRC_URI[sha256sum] = "4d2b2a9e3e099d017dc8107bf1c334d27bb87d9e4aff19a0c8d856d17cd41ef0"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags"
|
||||
UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)"
|
||||
|
||||
DEPENDS += "wayland-native"
|
||||
|
||||
inherit meson pkgconfig allarch
|
||||
|
||||
EXTRA_OEMESON += "-Dtests=false"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
# Use this newer version only for rpi MACHINEs
|
||||
COMPATIBLE_MACHINE = "^rpi$"
|
||||
@@ -1,28 +0,0 @@
|
||||
From b9db43e36ad0942d33cb4db5b394abd722862568 Mon Sep 17 00:00:00 2001
|
||||
From: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||
Date: Fri, 9 Sep 2022 20:28:06 +0200
|
||||
Subject: [PATCH] Default 43455 firmware to standard variant
|
||||
|
||||
The firmware for 43455 is loaded as a symlink: brcmfmac43455-sdio.bin.
|
||||
This symlink is now broken as the debian package handles the right
|
||||
target of this symlink through a postinstall. We don't have that logic
|
||||
here so we default to the standard variant.
|
||||
|
||||
Upstream-Status: Inappropriate [issue reported at https://github.com/RPi-Distro/firmware-nonfree/issues/26]
|
||||
Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||
---
|
||||
debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin
|
||||
index 9c39208..b914838 120000
|
||||
--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin
|
||||
+++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.bin
|
||||
@@ -1 +1 @@
|
||||
-../cypress/cyfmac43455-sdio.bin
|
||||
\ No newline at end of file
|
||||
+../cypress/cyfmac43455-sdio-standard.bin
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From 20741d848c32e0fb2e4841cf8bbc9ec3d198bb6b Mon Sep 17 00:00:00 2001
|
||||
From: Omri Sarig <omri.sarig@prevas.dk>
|
||||
Date: Thu, 9 Jan 2025 19:00:10 +0100
|
||||
Subject: [PATCH 2/2] Default all RPi 43455 boards to standard variant
|
||||
|
||||
As the patch above explains, the symlink that is being used by the
|
||||
brcmfmac43455-sdio.* files is one that is created by the Debian system,
|
||||
which we do not have in our implementation. Therefore, when the system
|
||||
tries to load these files, an error message is generated.
|
||||
|
||||
By changing the symlinks to be to the standard variant, the problem is
|
||||
solved for the build.
|
||||
|
||||
The code is also working without this patch - when the driver is unable
|
||||
to load the board-specific file (such as
|
||||
brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin), it reverts to using
|
||||
the base file (brcmfmac43455-sdio.bin), which is a correct link (as it
|
||||
is fixed in the patch above). However, the driver is still generating an
|
||||
error message in this case, which is being solved by linking the
|
||||
board-specific files to the standard variant as well.
|
||||
|
||||
Upstream-Status: Inappropriate [issue reported at https://github.com/RPi-Distro/firmware-nonfree/issues/26]
|
||||
Signed-off-by: Omri Sarig <omri.sarig@prevas.dk>
|
||||
---
|
||||
.../brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin | 2 +-
|
||||
.../brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin | 2 +-
|
||||
.../brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin | 2 +-
|
||||
.../brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin | 2 +-
|
||||
.../brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin | 2 +-
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin
|
||||
index 9c39208..b914838 120000
|
||||
--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin
|
||||
+++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin
|
||||
@@ -1 +1 @@
|
||||
-../cypress/cyfmac43455-sdio.bin
|
||||
\ No newline at end of file
|
||||
+../cypress/cyfmac43455-sdio-standard.bin
|
||||
\ No newline at end of file
|
||||
diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin
|
||||
index 9c39208..b914838 120000
|
||||
--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin
|
||||
+++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin
|
||||
@@ -1 +1 @@
|
||||
-../cypress/cyfmac43455-sdio.bin
|
||||
\ No newline at end of file
|
||||
+../cypress/cyfmac43455-sdio-standard.bin
|
||||
\ No newline at end of file
|
||||
diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin
|
||||
index 9c39208..b914838 120000
|
||||
--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin
|
||||
+++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin
|
||||
@@ -1 +1 @@
|
||||
-../cypress/cyfmac43455-sdio.bin
|
||||
\ No newline at end of file
|
||||
+../cypress/cyfmac43455-sdio-standard.bin
|
||||
\ No newline at end of file
|
||||
diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin
|
||||
index 9c39208..b914838 120000
|
||||
--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin
|
||||
+++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin
|
||||
@@ -1 +1 @@
|
||||
-../cypress/cyfmac43455-sdio.bin
|
||||
\ No newline at end of file
|
||||
+../cypress/cyfmac43455-sdio-standard.bin
|
||||
\ No newline at end of file
|
||||
diff --git a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin
|
||||
index 9c39208..b914838 120000
|
||||
--- a/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin
|
||||
+++ b/debian/config/brcm80211/brcm/brcmfmac43455-sdio.raspberrypi,5-model-b.bin
|
||||
@@ -1 +1 @@
|
||||
-../cypress/cyfmac43455-sdio.bin
|
||||
\ No newline at end of file
|
||||
+../cypress/cyfmac43455-sdio-standard.bin
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -7,7 +7,7 @@ SECTION = "kernel"
|
||||
|
||||
LICENSE = "GPL-2.0-only & binary-redist-Cypress-rpidistro & Synaptics-rpidistro"
|
||||
LIC_FILES_CHKSUM = "\
|
||||
file://debian/copyright;md5=291ee5385b4cf74b10c5fb5a46a7bbc6 \
|
||||
file://debian/copyright;md5=454e44c688dc909e16223e4aee63568c \
|
||||
"
|
||||
# Where these are no common licenses, set NO_GENERIC_LICENSE so that the
|
||||
# license files will be copied from the fetched source.
|
||||
@@ -16,10 +16,10 @@ NO_GENERIC_LICENSE[Synaptics-rpidistro] = "debian/copyright"
|
||||
LICENSE_FLAGS = "synaptics-killswitch"
|
||||
|
||||
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bookworm;protocol=https \
|
||||
file://0001-Default-43455-firmware-to-standard-variant.patch \
|
||||
file://0002-Default-all-RPi-43455-boards-to-standard-variant.patch \
|
||||
"
|
||||
SRCREV = "223ccf3a3ddb11b3ea829749fbbba4d65b380897"
|
||||
PV = "20230625-2+rpt2"
|
||||
SRCREV = "c9d3ae6584ab79d19a4f94ccf701e888f9f87a53"
|
||||
PV = "20240709-2~bpo12+1+rpt3"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit allarch
|
||||
@@ -27,6 +27,11 @@ inherit allarch
|
||||
do_configure[noexec] = "1"
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
# The minimal firmware doesn't work with Raspberry Pi 5, so default to the
|
||||
# standard firmware
|
||||
CYFMAC43455_SDIO_FIRMWARE ??= "minimal"
|
||||
CYFMAC43455_SDIO_FIRMWARE:raspberrypi5 ??= "standard"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/brcm ${D}${nonarch_base_libdir}/firmware/cypress
|
||||
|
||||
@@ -34,6 +39,7 @@ do_install() {
|
||||
|
||||
for fw in \
|
||||
brcmfmac43430-sdio \
|
||||
brcmfmac43430b0-sdio \
|
||||
brcmfmac43436-sdio \
|
||||
brcmfmac43436s-sdio \
|
||||
brcmfmac43455-sdio \
|
||||
@@ -42,8 +48,12 @@ do_install() {
|
||||
done
|
||||
|
||||
cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/cypress/* ${D}${nonarch_base_libdir}/firmware/cypress/
|
||||
ln -s cyfmac43455-sdio-${CYFMAC43455_SDIO_FIRMWARE}.bin ${D}${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.bin
|
||||
|
||||
rm ${D}${nonarch_base_libdir}/firmware/cypress/README.txt
|
||||
|
||||
install -d ${D}${sysconfdir}/modprobe.d
|
||||
install -m 0644 debian/rpi-brcmfmac.conf ${D}${sysconfdir}/modprobe.d/
|
||||
}
|
||||
|
||||
PACKAGES = "\
|
||||
@@ -54,6 +64,7 @@ PACKAGES = "\
|
||||
${PN}-bcm43455 \
|
||||
${PN}-bcm43456 \
|
||||
${PN}-license \
|
||||
${PN}-module-conf \
|
||||
"
|
||||
|
||||
LICENSE:${PN}-bcm43430 = "binary-redist-Cypress-rpidistro"
|
||||
@@ -69,7 +80,10 @@ FILES:${PN}-bcm43430 = " \
|
||||
${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.bin \
|
||||
${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.clm_blob \
|
||||
"
|
||||
FILES:${PN}-bcm43436 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-*"
|
||||
FILES:${PN}-bcm43436 = " \
|
||||
${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-* \
|
||||
${nonarch_base_libdir}/firmware/brcm/brcmfmac43430b0-* \
|
||||
"
|
||||
FILES:${PN}-bcm43436s = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436s*"
|
||||
FILES:${PN}-bcm43439 = " \
|
||||
${nonarch_base_libdir}/firmware/cypress/43439A0-7.95.49.00.combined \
|
||||
@@ -81,13 +95,14 @@ FILES:${PN}-bcm43455 = " \
|
||||
"
|
||||
FILES:${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
|
||||
FILES:${PN}-license = "${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro"
|
||||
FILES:${PN}-module-conf = "${sysconfdir}/modprobe.d"
|
||||
|
||||
RDEPENDS:${PN}-bcm43430 += "${PN}-license"
|
||||
RDEPENDS:${PN}-bcm43436 += "${PN}-license"
|
||||
RDEPENDS:${PN}-bcm43436s += "${PN}-license"
|
||||
RDEPENDS:${PN}-bcm43439 += "${PN}-license"
|
||||
RDEPENDS:${PN}-bcm43455 += "${PN}-license"
|
||||
RDEPENDS:${PN}-bcm43456 += "${PN}-license"
|
||||
RDEPENDS:${PN}-bcm43430 += "${PN}-license ${PN}-module-conf"
|
||||
RDEPENDS:${PN}-bcm43436 += "${PN}-license ${PN}-module-conf"
|
||||
RDEPENDS:${PN}-bcm43436s += "${PN}-license ${PN}-module-conf"
|
||||
RDEPENDS:${PN}-bcm43439 += "${PN}-license ${PN}-module-conf"
|
||||
RDEPENDS:${PN}-bcm43455 += "${PN}-license ${PN}-module-conf"
|
||||
RDEPENDS:${PN}-bcm43456 += "${PN}-license ${PN}-module-conf"
|
||||
|
||||
RCONFLICTS:${PN}-bcm43430 = "linux-firmware-raspbian-bcm43430"
|
||||
RCONFLICTS:${PN}-bcm43436 = "linux-firmware-bcm43436"
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
CONFIG_ANDROID=y
|
||||
|
||||
#CONFIG_ANDROID_BINDERFS is not set
|
||||
CONFIG_ANDROID_BINDER_IPC=y
|
||||
CONFIG_ANDROID_BINDER_DEVICES="binder"
|
||||
|
||||
CONFIG_ASHMEM=y
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
CONFIG_I2C_BCM2835=y
|
||||
CONFIG_I2C_BRCMSTB=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_FBDEV_EMULATION=y
|
||||
CONFIG_DRM_VC4=y
|
||||
|
||||
6
recipes-kernel/linux/linux-raspberrypi-v7_6.12.bb
Normal file
6
recipes-kernel/linux/linux-raspberrypi-v7_6.12.bb
Normal file
@@ -0,0 +1,6 @@
|
||||
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
require linux-raspberrypi-v7.inc
|
||||
require linux-raspberrypi_6.12.bb
|
||||
@@ -28,7 +28,7 @@ KBUILD_DEFCONFIG:raspberrypi ?= "bcmrpi_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi-cm3 ?= "bcm2709_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi2 ?= "bcm2709_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi3 ?= "bcm2709_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi3-64 ?= "bcmrpi3_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi3-64 ?= "bcm2711_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi4 ?= "bcm2711_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi4-64 ?= "bcm2711_defconfig"
|
||||
KBUILD_DEFCONFIG:raspberrypi-armv7 ?= "bcm2711_defconfig"
|
||||
|
||||
31
recipes-kernel/linux/linux-raspberrypi_6.12.bb
Normal file
31
recipes-kernel/linux/linux-raspberrypi_6.12.bb
Normal file
@@ -0,0 +1,31 @@
|
||||
LINUX_VERSION ?= "6.12.25"
|
||||
LINUX_RPI_BRANCH ?= "rpi-6.12.y"
|
||||
LINUX_RPI_KMETA_BRANCH ?= "yocto-6.12"
|
||||
|
||||
SRCREV_machine = "3dd2c2c507c271d411fab2e82a2b3b7e0b6d3f16"
|
||||
SRCREV_meta = "1f6ab68a1d86836bf1b82b791df03da3cfeacb3f"
|
||||
|
||||
KMETA = "kernel-meta"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH};protocol=https \
|
||||
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \
|
||||
file://powersave.cfg \
|
||||
file://android-drivers.cfg \
|
||||
"
|
||||
|
||||
require linux-raspberrypi.inc
|
||||
|
||||
KERNEL_DTC_FLAGS += "-@ -H epapr"
|
||||
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-base:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-base"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-image:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-image"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-dev:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dev"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-vmlinux:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-vmlinux"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-modules:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-modules"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-dbg:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dbg"
|
||||
|
||||
DEPLOYDEP = ""
|
||||
DEPLOYDEP:raspberrypi-armv7 = "${RASPBERRYPI_v7_KERNEL}:do_deploy"
|
||||
do_deploy[depends] += "${DEPLOYDEP}"
|
||||
@@ -1,9 +1,9 @@
|
||||
LINUX_VERSION ?= "6.6.22"
|
||||
LINUX_VERSION ?= "6.6.63"
|
||||
LINUX_RPI_BRANCH ?= "rpi-6.6.y"
|
||||
LINUX_RPI_KMETA_BRANCH ?= "yocto-6.6"
|
||||
|
||||
SRCREV_machine = "c04af98514c26014a4f29ec87b3ece95626059bd"
|
||||
SRCREV_meta = "6a24861d6504575a4a9f92366285332d47c7e111"
|
||||
SRCREV_machine = "e442e5c1ab6bff5b5460b4fc949beb72aaf77970"
|
||||
SRCREV_meta = "52ff0d75713ce61962b325a2090bd55e216f0cf3"
|
||||
|
||||
KMETA = "kernel-meta"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user