mirror of
https://github.com/agherzan/meta-raspberrypi.git
synced 2025-12-06 06:19:11 +00:00
Compare commits
150 Commits
langdale-n
...
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 | ||
|
|
0f46a1d376 | ||
|
|
fb03b44883 | ||
|
|
6d593646ba | ||
|
|
16656a66cf | ||
|
|
6160d0d737 | ||
|
|
e7476edfcb | ||
|
|
1879cb831f | ||
|
|
d072cc8a48 | ||
|
|
ec06e94f2a | ||
|
|
bb8d5f7e9b | ||
|
|
e8d4ac24a4 | ||
|
|
d88e625cf2 | ||
|
|
1cf3dd5e5e | ||
|
|
6a7aac79ce | ||
|
|
90d4e6568a | ||
|
|
a62c7c2ca6 | ||
|
|
ba342d2a9e | ||
|
|
e9a1940bab | ||
|
|
92a9b7a012 | ||
|
|
95a9103f91 | ||
|
|
b65bff6323 | ||
|
|
8fa8d6bed7 | ||
|
|
dbf1113a82 | ||
|
|
2e1ca4ce2e | ||
|
|
54f6b3c660 | ||
|
|
6d7c2f8080 | ||
|
|
fc34bc3b86 | ||
|
|
e67feeff48 | ||
|
|
99a1b4b5fa | ||
|
|
9c901bf170 | ||
|
|
51386901d4 | ||
|
|
fe7592fe9c | ||
|
|
1f35a585ca | ||
|
|
15967d6ad9 | ||
|
|
ddb4d6652d | ||
|
|
357c85c5fb | ||
|
|
4814f09e49 | ||
|
|
df13222776 | ||
|
|
1e7750e3c8 | ||
|
|
b859bc3eca | ||
|
|
4c033eb074 | ||
|
|
fde68b24f0 | ||
|
|
8231f97534 | ||
|
|
0f6c5eab24 | ||
|
|
6008249722 | ||
|
|
eb79172bc9 | ||
|
|
08371543f7 | ||
|
|
6ef8b576b8 | ||
|
|
0a4a68dba6 | ||
|
|
3a0f6678e0 | ||
|
|
9a296d75a8 | ||
|
|
482d864b8f | ||
|
|
c0aec2f628 | ||
|
|
6f93508662 | ||
|
|
82fb510fc6 | ||
|
|
a871ecfb38 | ||
|
|
653f281c8f | ||
|
|
108f83f0e9 | ||
|
|
6501ec892c | ||
|
|
98ee0439ca | ||
|
|
a7f7272dca | ||
|
|
5e2f79a6fa | ||
|
|
5f9423e4f9 | ||
|
|
9d9f98d266 | ||
|
|
55b6e121f9 | ||
|
|
d9ffd5c828 | ||
|
|
fbf6b355a3 | ||
|
|
c0fca29ff3 | ||
|
|
83a422668c | ||
|
|
48c3cc7413 | ||
|
|
2ae93b0f9f | ||
|
|
3f12757165 | ||
|
|
be4867e494 | ||
|
|
f78b4f159d | ||
|
|
05dceed006 | ||
|
|
8585b42bd6 | ||
|
|
e3f733cadd | ||
|
|
dff85b9a9f | ||
|
|
195c7d59bc | ||
|
|
8e07f0d328 | ||
|
|
492cb5a5d9 | ||
|
|
9240ea91ca | ||
|
|
928bb234bb | ||
|
|
f528c55c1f | ||
|
|
f16219293a | ||
|
|
bf948e0aa8 | ||
|
|
56fba81e37 | ||
|
|
2ad4dd667a | ||
|
|
3afdbbf782 | ||
|
|
1e5acb9d59 | ||
|
|
9f6dfcf82c | ||
|
|
12a1187b01 | ||
|
|
98349bb367 | ||
|
|
b5753bd2ac | ||
|
|
15206a15b4 | ||
|
|
e15b876155 | ||
|
|
dac1d9245b | ||
|
|
659dd6d107 | ||
|
|
e43af1e3a6 | ||
|
|
c9d9582a23 | ||
|
|
c759b5edf3 | ||
|
|
a02173f597 | ||
|
|
3c5959ba85 | ||
|
|
1d8a12ffa7 | ||
|
|
6c57b92708 | ||
|
|
d76d59f5ac | ||
|
|
896566aa92 | ||
|
|
2e9b0c375f | ||
|
|
65d5176642 | ||
|
|
e103faeff5 | ||
|
|
2b733d53f3 | ||
|
|
9e655c6c9d | ||
|
|
1f33240549 | ||
|
|
813b299e09 | ||
|
|
e493266180 | ||
|
|
4946b8d538 |
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
|
||||
|
||||
@@ -42,7 +42,9 @@ printf "\n# ------ ci ------\n" >> conf/local.conf
|
||||
cat <<EOCONF >>conf/local.conf
|
||||
BB_NUMBER_THREADS = "6"
|
||||
PARALLEL_MAKE = "-j 6"
|
||||
DISTRO_FEATURES:append = " systemd"
|
||||
# unmerged-usr is deprecated
|
||||
# https://lore.kernel.org/all/3f2f03085301d22854e5429019fb010f27d98bc7.camel@linuxfoundation.org/t/
|
||||
DISTRO_FEATURES:append = " systemd usrmerge"
|
||||
VIRTUAL-RUNTIME_init_manager = "systemd"
|
||||
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
|
||||
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
|
||||
|
||||
5
.github/workflows/yocto-builds.yml
vendored
5
.github/workflows/yocto-builds.yml
vendored
@@ -25,6 +25,7 @@ jobs:
|
||||
- raspberrypi3
|
||||
- raspberrypi4-64
|
||||
- raspberrypi4
|
||||
- raspberrypi5
|
||||
- raspberrypi-cm3
|
||||
- raspberrypi-cm
|
||||
- raspberrypi-armv7
|
||||
@@ -65,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" \
|
||||
@@ -75,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,6 +1,11 @@
|
||||
version: 2
|
||||
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
||||
build:
|
||||
os: ubuntu-22.04
|
||||
tools:
|
||||
python: "3.7"
|
||||
python:
|
||||
version: "3.7"
|
||||
install:
|
||||
- requirements: docs/requirements.txt
|
||||
|
||||
@@ -60,7 +60,7 @@ do_image_rpi_sdimg[depends] = " \
|
||||
do_image_rpi_sdimg[recrdeps] = "do_build"
|
||||
|
||||
# SD card image name
|
||||
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.rpi-sdimg"
|
||||
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rpi-sdimg"
|
||||
|
||||
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
|
||||
FATPAYLOAD ?= ""
|
||||
|
||||
@@ -9,8 +9,11 @@ BBFILE_COLLECTIONS += "raspberrypi"
|
||||
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_raspberrypi = "9"
|
||||
|
||||
LAYERSERIES_COMPAT_raspberrypi = "kirkstone langdale"
|
||||
LAYERSERIES_COMPAT_raspberrypi = "nanbield scarthgap"
|
||||
LAYERDEPENDS_raspberrypi = "core"
|
||||
# Recommended for u-boot support for raspberrypi5
|
||||
# https://git.yoctoproject.org/meta-lts-mixins 'scarthgap/u-boot' branch
|
||||
LAYERRECOMMENDS_raspberrypi = "lts-u-boot-mixin"
|
||||
|
||||
# Additional license directories.
|
||||
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
|
||||
|
||||
@@ -18,6 +18,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
||||
overlays/overlay_map.dtb \
|
||||
overlays/at86rf233.dtbo \
|
||||
overlays/disable-bt.dtbo \
|
||||
overlays/disable-wifi.dtbo \
|
||||
overlays/dwc2.dtbo \
|
||||
overlays/gpio-ir.dtbo \
|
||||
overlays/gpio-ir-tx.dtbo \
|
||||
@@ -25,8 +26,16 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
||||
overlays/gpio-poweroff.dtbo \
|
||||
overlays/gpio-shutdown.dtbo \
|
||||
overlays/hifiberry-amp.dtbo \
|
||||
overlays/hifiberry-amp100.dtbo \
|
||||
overlays/hifiberry-amp3.dtbo \
|
||||
overlays/hifiberry-amp4pro.dtbo \
|
||||
overlays/hifiberry-dac.dtbo \
|
||||
overlays/hifiberry-dacplus.dtbo \
|
||||
overlays/hifiberry-dacplusadc.dtbo \
|
||||
overlays/hifiberry-dacplusadcpro.dtbo \
|
||||
overlays/hifiberry-dacplusdsp.dtbo \
|
||||
overlays/hifiberry-dacplushd.dtbo \
|
||||
overlays/hifiberry-digi-pro.dtbo \
|
||||
overlays/hifiberry-digi.dtbo \
|
||||
overlays/justboom-both.dtbo \
|
||||
overlays/justboom-dac.dtbo \
|
||||
@@ -35,6 +44,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
||||
overlays/i2c-rtc.dtbo \
|
||||
overlays/imx219.dtbo \
|
||||
overlays/imx477.dtbo \
|
||||
overlays/imx708.dtbo \
|
||||
overlays/iqaudio-dac.dtbo \
|
||||
overlays/iqaudio-dacplus.dtbo \
|
||||
overlays/mcp2515-can0.dtbo \
|
||||
@@ -48,33 +58,47 @@ 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 ?= " \
|
||||
bcm2708-rpi-zero.dtb \
|
||||
bcm2708-rpi-zero-w.dtb \
|
||||
bcm2708-rpi-b.dtb \
|
||||
bcm2708-rpi-b-rev1.dtb \
|
||||
bcm2708-rpi-b-plus.dtb \
|
||||
bcm2709-rpi-2-b.dtb \
|
||||
bcm2710-rpi-2-b.dtb \
|
||||
bcm2710-rpi-3-b.dtb \
|
||||
bcm2710-rpi-3-b-plus.dtb \
|
||||
bcm2710-rpi-zero-2.dtb \
|
||||
bcm2711-rpi-4-b.dtb \
|
||||
bcm2711-rpi-400.dtb \
|
||||
bcm2708-rpi-cm.dtb \
|
||||
bcm2710-rpi-cm3.dtb \
|
||||
bcm2711-rpi-cm4.dtb \
|
||||
bcm2711-rpi-cm4s.dtb \
|
||||
broadcom/bcm2708-rpi-zero.dtb \
|
||||
broadcom/bcm2708-rpi-zero-w.dtb \
|
||||
broadcom/bcm2708-rpi-b.dtb \
|
||||
broadcom/bcm2708-rpi-b-rev1.dtb \
|
||||
broadcom/bcm2708-rpi-b-plus.dtb \
|
||||
broadcom/bcm2709-rpi-2-b.dtb \
|
||||
broadcom/bcm2710-rpi-2-b.dtb \
|
||||
broadcom/bcm2710-rpi-3-b.dtb \
|
||||
broadcom/bcm2710-rpi-3-b-plus.dtb \
|
||||
broadcom/bcm2710-rpi-zero-2.dtb \
|
||||
broadcom/bcm2711-rpi-4-b.dtb \
|
||||
broadcom/bcm2711-rpi-400.dtb \
|
||||
broadcom/bcm2708-rpi-cm.dtb \
|
||||
broadcom/bcm2710-rpi-cm3.dtb \
|
||||
broadcom/bcm2711-rpi-cm4.dtb \
|
||||
broadcom/bcm2711-rpi-cm4s.dtb \
|
||||
"
|
||||
|
||||
KERNEL_DEVICETREE ??= " \
|
||||
@@ -111,9 +135,6 @@ SERIAL_CONSOLES_CHECK ??= "${SERIAL_CONSOLES}"
|
||||
# This variable is referred to by recipes fetching / generating the files.
|
||||
BOOTFILES_DIR_NAME ?= "bootfiles"
|
||||
|
||||
# Set Raspberrypi splash image
|
||||
SPLASH ?= "psplash-raspberrypi"
|
||||
|
||||
def make_dtb_boot_files(d):
|
||||
# Generate IMAGE_BOOT_FILES entries for device tree files listed in
|
||||
# KERNEL_DEVICETREE.
|
||||
@@ -149,7 +170,11 @@ IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \
|
||||
${@make_dtb_boot_files(d)} \
|
||||
${RPI_EXTRA_IMAGE_BOOT_FILES} \
|
||||
"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "rpi-bootfiles"
|
||||
|
||||
do_image_wic[depends] += " \
|
||||
virtual/kernel:do_deploy \
|
||||
rpi-bootfiles:do_deploy \
|
||||
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
|
||||
"
|
||||
|
||||
@@ -9,6 +9,8 @@ PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc
|
||||
PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
||||
PREFERRED_PROVIDER_vlc ?= "rpidistro-vlc"
|
||||
PREFERRED_PROVIDER_ffmpeg ?= "rpidistro-ffmpeg"
|
||||
PREFERRED_PROVIDER_libav ?= "rpidistro-ffmpeg"
|
||||
PREFERRED_PROVIDER_libpostproc ?= "rpidistro-ffmpeg"
|
||||
PREFERRED_PROVIDER_jpeg ?= "jpeg"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/libomxil ?= "userland"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# RaspberryPi BSP default versions
|
||||
|
||||
PREFERRED_VERSION_linux-raspberrypi ??= "5.15.%"
|
||||
PREFERRED_VERSION_linux-raspberrypi ??= "6.6.%"
|
||||
PREFERRED_VERSION_linux-raspberrypi-v7 ??= "${PREFERRED_VERSION_linux-raspberrypi}"
|
||||
|
||||
@@ -32,6 +32,11 @@ RPI_KERNEL_DEVICETREE = " \
|
||||
broadcom/bcm2711-rpi-400.dtb \
|
||||
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"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#@NAME: RaspberryPi Compute Module (CM1)
|
||||
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1)
|
||||
|
||||
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
|
||||
MACHINEOVERRIDES =. "raspberrypi:"
|
||||
include conf/machine/raspberrypi.conf
|
||||
|
||||
ARMSTUB ?= "armstub.bin"
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
#@NAME: RaspberryPi0 2 Wifi Development Board
|
||||
#@DESCRIPTION: Machine configuration for the RaspberryPi0 2 Wifi in 64 bits mode
|
||||
|
||||
include conf/machine/raspberrypi3-64.conf
|
||||
MACHINEOVERRIDES =. "raspberrypi3-64:"
|
||||
|
||||
MACHINEOVERRIDES := "${@'${MACHINEOVERRIDES}'.replace(':${MACHINE}',':raspberrypi3-64:${MACHINE}')}"
|
||||
include conf/machine/raspberrypi3-64.conf
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||
linux-firmware-rpidistro-bcm43436 \
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
#@NAME: RaspberryPi0 2 Wifi Development Board
|
||||
#@DESCRIPTION: Machine configuration for the RaspberryPi0 2 Wifi in 32 bits mode
|
||||
|
||||
include conf/machine/raspberrypi3.conf
|
||||
MACHINEOVERRIDES =. "raspberrypi3:"
|
||||
|
||||
MACHINEOVERRIDES := "${@'${MACHINEOVERRIDES}'.replace(':${MACHINE}',':raspberrypi3:${MACHINE}')}"
|
||||
include conf/machine/raspberrypi3.conf
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||
linux-firmware-rpidistro-bcm43436 \
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#@NAME: RaspberryPi Zero Development Board
|
||||
#@DESCRIPTION: Machine configuration for the RaspberryPi Zero board (https://www.raspberrypi.org/blog/raspberry-pi-zero)
|
||||
|
||||
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
|
||||
MACHINEOVERRIDES =. "raspberrypi:"
|
||||
include conf/machine/raspberrypi.conf
|
||||
|
||||
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#@NAME: RaspberryPi 3 Development Board
|
||||
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
|
||||
|
||||
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
|
||||
MACHINEOVERRIDES =. "raspberrypi3:"
|
||||
|
||||
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||
linux-firmware-rpidistro-bcm43430 \
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#@NAME: RaspberryPi 4 Development Board (64bit)
|
||||
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
|
||||
|
||||
MACHINEOVERRIDES = "raspberrypi4:${MACHINE}"
|
||||
MACHINEOVERRIDES =. "raspberrypi4:"
|
||||
|
||||
MACHINE_FEATURES += "pci"
|
||||
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||
|
||||
36
conf/machine/raspberrypi5.conf
Normal file
36
conf/machine/raspberrypi5.conf
Normal file
@@ -0,0 +1,36 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: RaspberryPi 5 Development Board (64bit)
|
||||
#@DESCRIPTION: Machine configuration for the RaspberryPi 5 in 64 bits mode
|
||||
|
||||
require conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
|
||||
include conf/machine/include/rpi-base.inc
|
||||
|
||||
MACHINE_FEATURES += "pci"
|
||||
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||
linux-firmware-rpidistro-bcm43455 \
|
||||
bluez-firmware-rpidistro-bcm4345c0-hcd \
|
||||
linux-firmware-rpidistro-bcm43456 \
|
||||
bluez-firmware-rpidistro-bcm4345c5-hcd \
|
||||
"
|
||||
|
||||
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"
|
||||
SERIAL_CONSOLES ?= "115200;ttyAMA10"
|
||||
|
||||
VC4DTBO ?= "vc4-kms-v3d"
|
||||
|
||||
# When u-boot is enabled we need to use the "Image" format and the "booti"
|
||||
# command to load the kernel
|
||||
KERNEL_IMAGETYPE_UBOOT ?= "Image"
|
||||
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
|
||||
KERNEL_IMAGETYPE_DIRECT ?= "Image"
|
||||
KERNEL_BOOTCMD ?= "booti"
|
||||
|
||||
UBOOT_MACHINE = "rpi_arm64_config"
|
||||
@@ -30,7 +30,10 @@
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = ['myst_parser']
|
||||
extensions = [
|
||||
'myst_parser',
|
||||
'sphinx_rtd_theme'
|
||||
]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
@@ -121,6 +124,7 @@ todo_include_todos = False
|
||||
# a list of builtin themes.
|
||||
#
|
||||
# html_theme = 'alabaster'
|
||||
html_theme = "sphinx_rtd_theme"
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
|
||||
@@ -74,6 +74,22 @@ To remove (or adjust) this delay set these variables in local.conf:
|
||||
BOOT_DELAY = "0"
|
||||
BOOT_DELAY_MS = "0"
|
||||
|
||||
## Boot media
|
||||
|
||||
The Raspberry Pi 4 board can load the boot image files from SD card and USB memory.
|
||||
By default SD card media is used as boot media.
|
||||
|
||||
To switch the boot media from SD card to USB memory, the following variables are supported
|
||||
in local.conf: `CMDLINE_ROOT_PARTITION` and `BOOT_MEDIA`.
|
||||
The default value of `CMDLINE_ROOT_PARTITION` is "/dev/mmcblk0p2" to mount SD card. If you want to mount USB memory partition, set CMDLINE_ROOT_PARTITION to "/dev/sda2".
|
||||
`BOOT_MEDIA` allows `mmc` and `usb`. The "mmc" is required to load an image from the SD card, following the u-boot specification. Similarly, if you want to load a boot image file from USB memory, set BOOT_MEDIA to "usb".
|
||||
|
||||
For example, if you want to use USB boot, please define
|
||||
the following parameters in your local.conf file.
|
||||
|
||||
CMDLINE_ROOT_PARTITION = "/dev/sda2"
|
||||
BOOT_MEDIA = "usb"
|
||||
|
||||
## Set overclocking options
|
||||
|
||||
The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo
|
||||
@@ -155,6 +171,16 @@ For further customisation the KERNEL_IMAGETYPE and KERNEL_BOOTCMD variables can
|
||||
be overridden to select the exact kernel image type (eg. zImage) and u-boot
|
||||
command (eg. bootz) to be used.
|
||||
|
||||
To operate correctly, U-Boot requires `enable_uart=1` in `config.txt` file for
|
||||
the following boards:
|
||||
* Raspberry Pi Zero W
|
||||
* Raspberry Pi 3 32-bit
|
||||
* Raspberry Pi 3 64-bit
|
||||
* Raspberry Pi 4 32-bit
|
||||
* Raspberry Pi 4 64-bit
|
||||
It means that, for those boards, `RPI_USE_U_BOOT = "1"` is not compatible with
|
||||
`ENABLE_UART = "0"`.
|
||||
|
||||
## Image with Initramfs
|
||||
|
||||
To build an initramfs image:
|
||||
@@ -170,7 +196,7 @@ To build an initramfs image:
|
||||
- `INITRAMFS_IMAGE_BUNDLE = "1"`
|
||||
- `BOOT_SPACE = "1073741"`
|
||||
- `INITRAMFS_MAXSIZE = "315400"`
|
||||
- `IMAGE_FSTYPES_pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
|
||||
- `IMAGE_FSTYPES:pn-${INITRAMFS_IMAGE} = "${INITRAMFS_FSTYPES}"`
|
||||
|
||||
## Including additional files in the SD card image boot partition
|
||||
|
||||
@@ -314,6 +340,13 @@ Some modules may require setting the frequency of the crystal oscillator used on
|
||||
|
||||
CAN_OSCILLATOR="8000000"
|
||||
|
||||
Configure the interrupt pin to the one connected to the CAN module. By default,
|
||||
the pins are set to 25 for can0 and 24 for can1. To change them to 12 and 16,
|
||||
the following variables also have to be set:
|
||||
|
||||
CAN0_INTERRUPT_PIN = "12"
|
||||
CAN1_INTERRUPT_PIN = "16"
|
||||
|
||||
Tested modules:
|
||||
|
||||
* PiCAN2 (16 MHz crystal): <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html>
|
||||
@@ -379,19 +412,27 @@ option:
|
||||
# Raspberry Pi 7\" display/touch screen \n \
|
||||
lcd_rotate=2 \n \
|
||||
'
|
||||
## Enable Raspberrypi Camera V2
|
||||
## Enable Raspberry Pi Camera Module
|
||||
|
||||
RaspberryPi does not have the unicam device ( RaspberryPi Camera ) enabled by default.
|
||||
Raspberry Pi does not have the unicam device ( Raspberry Pi Camera ) enabled by default.
|
||||
Because this unicam device ( bcm2835-unicam ) as of now is used by libcamera opensource.
|
||||
So we have to explicitly set in local.conf.
|
||||
So we have to explicitly enable it in local.conf.
|
||||
|
||||
RASPBERRYPI_CAMERA_V2 = "1"
|
||||
|
||||
This will add the device tree overlays imx219 ( RaspberryPi Camera sensor V2 driver ) to config.txt.
|
||||
Also, this will enable adding Contiguous Memory Allocation value in the cmdline.txt.
|
||||
This will add the device tree overlay imx219 ( Raspberry Pi Camera Module V2 sensor driver
|
||||
) to config.txt. Also, this will enable adding Contiguous Memory Allocation value in the
|
||||
cmdline.txt.
|
||||
|
||||
Ref.:
|
||||
* <https://github.com/raspberrypi/documentation/blob/master/linux/software/libcamera/README.md>
|
||||
Similarly, the Raspberry Pi Camera Module v3 also has to be explicitly enabled in local.conf.
|
||||
|
||||
RASPBERRYPI_CAMERA_V3 = "1"
|
||||
|
||||
This will add the device tree overlay imx708 ( Raspberry Pi Camera Module V3 sensor driver )
|
||||
to config.txt.
|
||||
|
||||
See:
|
||||
* <https://www.raspberrypi.com/documentation/computers/camera_software.html>
|
||||
* <https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/>
|
||||
|
||||
## WM8960 soundcard support
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
myst_parser
|
||||
sphinx_rtd_theme
|
||||
|
||||
@@ -1,175 +0,0 @@
|
||||
diff -ruN lirc-0.10.1.orig/lib/config_file.c lirc-0.10.1/lib/config_file.c
|
||||
--- lirc-0.10.1.orig/lib/config_file.c 2017-09-10 17:52:19.000000000 +0900
|
||||
+++ lirc-0.10.1/lib/config_file.c 2019-06-26 00:39:45.734320696 +0900
|
||||
@@ -71,7 +71,7 @@
|
||||
typedef void* (*array_guest_func)(void* item, void* arg);
|
||||
|
||||
|
||||
-#define LINE_LEN 1024
|
||||
+#define LINE_LEN 4096
|
||||
#define MAX_INCLUDES 10
|
||||
|
||||
const char* whitespace = " \t";
|
||||
diff -ruN lirc-0.10.1.orig/lib/ir_remote.h lirc-0.10.1/lib/ir_remote.h
|
||||
--- lirc-0.10.1.orig/lib/ir_remote.h 2017-09-10 17:52:19.000000000 +0900
|
||||
+++ lirc-0.10.1/lib/ir_remote.h 2019-06-26 00:39:45.714321224 +0900
|
||||
@@ -110,12 +110,17 @@
|
||||
|
||||
static inline int is_pulse(lirc_t data)
|
||||
{
|
||||
- return data & PULSE_BIT ? 1 : 0;
|
||||
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_PULSE) ? 1 : 0;
|
||||
}
|
||||
|
||||
static inline int is_space(lirc_t data)
|
||||
{
|
||||
- return !is_pulse(data);
|
||||
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_SPACE) ? 1 : 0;
|
||||
+}
|
||||
+
|
||||
+static inline int is_timeout(lirc_t data)
|
||||
+{
|
||||
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_TIMEOUT) ? 1 : 0;
|
||||
}
|
||||
|
||||
static inline int has_repeat(const struct ir_remote* remote)
|
||||
diff -ruN lirc-0.10.1.orig/lib/irrecord.c lirc-0.10.1/lib/irrecord.c
|
||||
--- lirc-0.10.1.orig/lib/irrecord.c 2017-09-10 17:52:19.000000000 +0900
|
||||
+++ lirc-0.10.1/lib/irrecord.c 2019-06-26 00:39:45.724320960 +0900
|
||||
@@ -1398,9 +1398,16 @@
|
||||
state->retval = 0;
|
||||
return STS_LEN_TIMEOUT;
|
||||
}
|
||||
+ if (is_timeout(state->data)) {
|
||||
+ return STS_LEN_AGAIN;
|
||||
+ }
|
||||
state->count++;
|
||||
if (state->mode == MODE_GET_GAP) {
|
||||
- state->sum += state->data & PULSE_MASK;
|
||||
+ if (state->sum != 0 || is_pulse(state->data)) {
|
||||
+ state->sum += state->data & PULSE_MASK;
|
||||
+ }else{
|
||||
+ return STS_LEN_AGAIN;
|
||||
+ }
|
||||
if (state->average == 0 && is_space(state->data)) {
|
||||
if (state->data > 100000) {
|
||||
state->sum = 0;
|
||||
@@ -1472,6 +1479,10 @@
|
||||
state->keypresses = lastmaxcount;
|
||||
return STS_LEN_AGAIN;
|
||||
} else if (state->mode == MODE_HAVE_GAP) {
|
||||
+ if (state->count==1 && is_space(state->data)) {
|
||||
+ state->count = 0;
|
||||
+ return STS_LEN_AGAIN;
|
||||
+ }
|
||||
if (state->count <= MAX_SIGNALS) {
|
||||
signals[state->count - 1] = state->data & PULSE_MASK;
|
||||
} else {
|
||||
@@ -1510,7 +1521,7 @@
|
||||
/* such long pulses may appear with
|
||||
* crappy hardware (receiver? / remote?)
|
||||
*/
|
||||
- else {
|
||||
+ else if(is_pulse(state->data)) {
|
||||
remote->gap = 0;
|
||||
return STS_LEN_NO_GAP_FOUND;
|
||||
}
|
||||
@@ -1811,22 +1822,24 @@
|
||||
|
||||
static int raw_data_ok(struct button_state* btn_state)
|
||||
{
|
||||
- int r;
|
||||
+ int r = 0;
|
||||
int ref;
|
||||
|
||||
- if (!is_space(btn_state->data)) {
|
||||
+ if (is_pulse(btn_state->data)) {
|
||||
r = 0;
|
||||
- } else if (is_const(&remote)) {
|
||||
- if (remote.gap > btn_state->sum) {
|
||||
- ref = (remote.gap - btn_state->sum);
|
||||
- ref *= (100 - remote.eps);
|
||||
- ref /= 100;
|
||||
+ } else if (is_space(btn_state->data)) {
|
||||
+ if (is_const(&remote)) {
|
||||
+ if (remote.gap > btn_state->sum) {
|
||||
+ ref = (remote.gap - btn_state->sum);
|
||||
+ ref *= (100 - remote.eps);
|
||||
+ ref /= 100;
|
||||
+ } else {
|
||||
+ ref = 0;
|
||||
+ }
|
||||
+ r = btn_state->data > ref;
|
||||
} else {
|
||||
- ref = 0;
|
||||
+ r = btn_state->data > (remote.gap * (100 - remote.eps)) / 100;
|
||||
}
|
||||
- r = btn_state->data > ref;
|
||||
- } else {
|
||||
- r = btn_state->data > (remote.gap * (100 - remote.eps)) / 100;
|
||||
}
|
||||
return r;
|
||||
}
|
||||
@@ -1970,7 +1983,7 @@
|
||||
btn_state->data = remote.gap;
|
||||
}
|
||||
if (btn_state->count == 0) {
|
||||
- if (!is_space(btn_state->data)
|
||||
+ if (is_pulse(btn_state->data)
|
||||
|| btn_state->data <
|
||||
remote.gap - remote.gap * remote.eps /
|
||||
100) {
|
||||
diff -ruN lirc-0.10.1.orig/lib/lirc/ir_remote.h lirc-0.10.1/lib/lirc/ir_remote.h
|
||||
--- lirc-0.10.1.orig/lib/lirc/ir_remote.h 2017-09-10 17:52:58.000000000 +0900
|
||||
+++ lirc-0.10.1/lib/lirc/ir_remote.h 2019-06-26 00:39:45.724320960 +0900
|
||||
@@ -110,12 +110,17 @@
|
||||
|
||||
static inline int is_pulse(lirc_t data)
|
||||
{
|
||||
- return data & PULSE_BIT ? 1 : 0;
|
||||
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_PULSE) ? 1 : 0;
|
||||
}
|
||||
|
||||
static inline int is_space(lirc_t data)
|
||||
{
|
||||
- return !is_pulse(data);
|
||||
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_SPACE) ? 1 : 0;
|
||||
+}
|
||||
+
|
||||
+static inline int is_timeout(lirc_t data)
|
||||
+{
|
||||
+ return ((data & LIRC_MODE2_MASK)==LIRC_MODE2_TIMEOUT) ? 1 : 0;
|
||||
}
|
||||
|
||||
static inline int has_repeat(const struct ir_remote* remote)
|
||||
diff -ruN lirc-0.10.1.orig/tools/mode2.cpp lirc-0.10.1/tools/mode2.cpp
|
||||
--- lirc-0.10.1.orig/tools/mode2.cpp 2017-09-10 17:52:19.000000000 +0900
|
||||
+++ lirc-0.10.1/tools/mode2.cpp 2019-06-26 00:45:38.840404976 +0900
|
||||
@@ -326,12 +326,24 @@
|
||||
void print_mode2_data(unsigned int data)
|
||||
{
|
||||
static int bitno = 1;
|
||||
+ static bool leading_space = true;
|
||||
+ unsigned int msg = data & LIRC_MODE2_MASK;
|
||||
|
||||
switch (opt_dmode) {
|
||||
case 0:
|
||||
- printf("%s %u\n", (
|
||||
- data & PULSE_BIT) ? "pulse" : "space",
|
||||
- (uint32_t)(data & PULSE_MASK));
|
||||
+ if (leading_space && msg == LIRC_MODE2_SPACE ) {
|
||||
+ break;
|
||||
+ } else {
|
||||
+ leading_space = false;
|
||||
+ }
|
||||
+ if (msg == LIRC_MODE2_PULSE) {
|
||||
+ printf("pulse %u\n", (__u32)(data & PULSE_MASK));
|
||||
+ } else if (msg == LIRC_MODE2_SPACE) {
|
||||
+ printf("space %u\n", (__u32)(data & PULSE_MASK));
|
||||
+ } else if (msg == LIRC_MODE2_TIMEOUT) {
|
||||
+ printf("timeout %u\n", (__u32)(data & PULSE_MASK));
|
||||
+ leading_space = true;
|
||||
+ }
|
||||
break;
|
||||
case 1: {
|
||||
/* print output like irrecord raw config file data */
|
||||
@@ -1,6 +1,5 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
SRC_URI:append:rpi = " \
|
||||
file://lirc-gpio-ir-0.10.patch \
|
||||
file://lircd.service \
|
||||
"
|
||||
|
||||
@@ -18,7 +18,7 @@ DEPENDS += " \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
${PYTHON_PN}-numpy \
|
||||
${PYTHON_PN}-rtimu \
|
||||
${PYTHON_PN}-pillow \
|
||||
python3-numpy \
|
||||
python3-rtimu \
|
||||
python3-pillow \
|
||||
"
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From bbc1ea3e4119c665723cfd1c5a364bc8c7cbb464 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Date: Thu, 4 May 2023 18:07:16 +0000
|
||||
Subject: [PATCH] utils/version.py: use /usr/bin/env in shebang
|
||||
|
||||
* it uses subprocess text=True which is available only since python-3.7
|
||||
when running on host with python-3.6 it fails with:
|
||||
Traceback (most recent call last):
|
||||
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 19, in generate_version
|
||||
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, text=True)
|
||||
File "/usr/lib/python3.6/subprocess.py", line 423, in run
|
||||
with Popen(*popenargs, **kwargs) as process:
|
||||
TypeError: __init__() got an unexpected keyword argument 'text'
|
||||
|
||||
During handling of the above exception, another exception occurred:
|
||||
|
||||
Traceback (most recent call last):
|
||||
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 52, in <module>
|
||||
generate_version()
|
||||
File "TOPDIR/BUILD/work/raspberrypi4_64-oe-linux/rpi-libcamera-apps/git-r0/git/utils/version.py", line 48, in generate_version
|
||||
print(f'{commit} {datetime.now().strftime("%d-%m-%Y (%H:%M:%S)")}', end="")
|
||||
UnboundLocalError: local variable 'commit' referenced before assignment
|
||||
Generating version string:
|
||||
|
||||
even when newer python3 is in PATH (either from buildtools or from python3native)
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
utils/version.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/utils/version.py b/utils/version.py
|
||||
index 48d7e05..4a5e35c 100755
|
||||
--- a/utils/version.py
|
||||
+++ b/utils/version.py
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/python3
|
||||
+#!/usr/bin/env python3
|
||||
|
||||
# Copyright (C) 2021, Raspberry Pi (Trading) Limited
|
||||
# Generate version information for rpicam-apps
|
||||
@@ -0,0 +1,271 @@
|
||||
From 500f1e9eaeca29b255d0364e1383d70ade1d1177 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Jansa <martin.jansa@gmail.com>
|
||||
Date: Tue, 30 Jan 2024 12:02:09 +0000
|
||||
Subject: [PATCH] Revert "Support compressed pixel formats when saving DNGs"
|
||||
|
||||
This reverts commit a85aed7603a0b69a6685d3f81ee860246d5b1621.
|
||||
|
||||
This requires rpi specific fork of libcamera to provide e.g.
|
||||
formats::RGGB16_PISP_COMP1
|
||||
added in:
|
||||
https://github.com/raspberrypi/libcamera/commit/fb3cb844f2117f30d3eeece99d6ce4d02624e492
|
||||
but not included in libcamera from meta-oe:
|
||||
https://git.openembedded.org/meta-openembedded/commit/?id=711c6fbce39df685225bca081c5f42bae2de658b
|
||||
|
||||
See https://github.com/raspberrypi/rpicam-apps/issues/627
|
||||
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
image/dng.cpp | 205 ++++++++------------------------------------------
|
||||
1 file changed, 33 insertions(+), 172 deletions(-)
|
||||
|
||||
diff --git a/image/dng.cpp b/image/dng.cpp
|
||||
index 7692f92..fc10439 100644
|
||||
--- a/image/dng.cpp
|
||||
+++ b/image/dng.cpp
|
||||
@@ -33,47 +33,40 @@ struct BayerFormat
|
||||
int bits;
|
||||
char const *order;
|
||||
bool packed;
|
||||
- bool compressed;
|
||||
};
|
||||
|
||||
static const std::map<PixelFormat, BayerFormat> bayer_formats =
|
||||
{
|
||||
- { formats::SRGGB10_CSI2P, { "RGGB-10", 10, TIFF_RGGB, true, false } },
|
||||
- { formats::SGRBG10_CSI2P, { "GRBG-10", 10, TIFF_GRBG, true, false } },
|
||||
- { formats::SBGGR10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true, false } },
|
||||
- { formats::SGBRG10_CSI2P, { "GBRG-10", 10, TIFF_GBRG, true, false } },
|
||||
-
|
||||
- { formats::SRGGB10, { "RGGB-10", 10, TIFF_RGGB, false, false } },
|
||||
- { formats::SGRBG10, { "GRBG-10", 10, TIFF_GRBG, false, false } },
|
||||
- { formats::SBGGR10, { "BGGR-10", 10, TIFF_BGGR, false, false } },
|
||||
- { formats::SGBRG10, { "GBRG-10", 10, TIFF_GBRG, false, false } },
|
||||
-
|
||||
- { formats::SRGGB12_CSI2P, { "RGGB-12", 12, TIFF_RGGB, true, false } },
|
||||
- { formats::SGRBG12_CSI2P, { "GRBG-12", 12, TIFF_GRBG, true, false } },
|
||||
- { formats::SBGGR12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true, false } },
|
||||
- { formats::SGBRG12_CSI2P, { "GBRG-12", 12, TIFF_GBRG, true, false } },
|
||||
-
|
||||
- { formats::SRGGB12, { "RGGB-12", 12, TIFF_RGGB, false, false } },
|
||||
- { formats::SGRBG12, { "GRBG-12", 12, TIFF_GRBG, false, false } },
|
||||
- { formats::SBGGR12, { "BGGR-12", 12, TIFF_BGGR, false, false } },
|
||||
- { formats::SGBRG12, { "GBRG-12", 12, TIFF_GBRG, false, false } },
|
||||
-
|
||||
- { formats::SRGGB16, { "RGGB-16", 16, TIFF_RGGB, false, false } },
|
||||
- { formats::SGRBG16, { "GRBG-16", 16, TIFF_GRBG, false, false } },
|
||||
- { formats::SBGGR16, { "BGGR-16", 16, TIFF_BGGR, false, false } },
|
||||
- { formats::SGBRG16, { "GBRG-16", 16, TIFF_GBRG, false, false } },
|
||||
-
|
||||
- { formats::R10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true, false } },
|
||||
- { formats::R10, { "BGGR-10", 10, TIFF_BGGR, false, false } },
|
||||
+ { formats::SRGGB10_CSI2P, { "RGGB-10", 10, TIFF_RGGB, true } },
|
||||
+ { formats::SGRBG10_CSI2P, { "GRBG-10", 10, TIFF_GRBG, true } },
|
||||
+ { formats::SBGGR10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true } },
|
||||
+ { formats::SGBRG10_CSI2P, { "GBRG-10", 10, TIFF_GBRG, true } },
|
||||
+
|
||||
+ { formats::SRGGB10, { "RGGB-10", 10, TIFF_RGGB, false } },
|
||||
+ { formats::SGRBG10, { "GRBG-10", 10, TIFF_GRBG, false } },
|
||||
+ { formats::SBGGR10, { "BGGR-10", 10, TIFF_BGGR, false } },
|
||||
+ { formats::SGBRG10, { "GBRG-10", 10, TIFF_GBRG, false } },
|
||||
+
|
||||
+ { formats::SRGGB12_CSI2P, { "RGGB-12", 12, TIFF_RGGB, true } },
|
||||
+ { formats::SGRBG12_CSI2P, { "GRBG-12", 12, TIFF_GRBG, true } },
|
||||
+ { formats::SBGGR12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true } },
|
||||
+ { formats::SGBRG12_CSI2P, { "GBRG-12", 12, TIFF_GBRG, true } },
|
||||
+
|
||||
+ { formats::SRGGB12, { "RGGB-12", 12, TIFF_RGGB, false } },
|
||||
+ { formats::SGRBG12, { "GRBG-12", 12, TIFF_GRBG, false } },
|
||||
+ { formats::SBGGR12, { "BGGR-12", 12, TIFF_BGGR, false } },
|
||||
+ { formats::SGBRG12, { "GBRG-12", 12, TIFF_GBRG, false } },
|
||||
+
|
||||
+ { formats::SRGGB16, { "RGGB-16", 16, TIFF_RGGB, false } },
|
||||
+ { formats::SGRBG16, { "GRBG-16", 16, TIFF_GRBG, false } },
|
||||
+ { formats::SBGGR16, { "BGGR-16", 16, TIFF_BGGR, false } },
|
||||
+ { formats::SGBRG16, { "GBRG-16", 16, TIFF_GBRG, false } },
|
||||
+
|
||||
+ { formats::R10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true } },
|
||||
+ { formats::R10, { "BGGR-10", 10, TIFF_BGGR, false } },
|
||||
// Currently not in the main libcamera branch
|
||||
//{ formats::R12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true } },
|
||||
- { formats::R12, { "BGGR-12", 12, TIFF_BGGR, false, false } },
|
||||
-
|
||||
- /* PiSP compressed formats. */
|
||||
- { formats::RGGB16_PISP_COMP1, { "RGGB-16-PISP", 16, TIFF_RGGB, false, true } },
|
||||
- { formats::GRBG16_PISP_COMP1, { "GRBG-16-PISP", 16, TIFF_GRBG, false, true } },
|
||||
- { formats::GBRG16_PISP_COMP1, { "GBRG-16-PISP", 16, TIFF_GBRG, false, true } },
|
||||
- { formats::BGGR16_PISP_COMP1, { "BGGR-16-PISP", 16, TIFF_BGGR, false, true } },
|
||||
+ { formats::R12, { "BGGR-12", 12, TIFF_BGGR, false } },
|
||||
};
|
||||
|
||||
static void unpack_10bit(uint8_t const *src, StreamInfo const &info, uint16_t *dest)
|
||||
@@ -124,129 +117,6 @@ static void unpack_16bit(uint8_t const *src, StreamInfo const &info, uint16_t *d
|
||||
}
|
||||
}
|
||||
|
||||
-// We always use these compression parameters.
|
||||
-#define COMPRESS_OFFSET 2048
|
||||
-#define COMPRESS_MODE 1
|
||||
-
|
||||
-static uint16_t postprocess(uint16_t a)
|
||||
-{
|
||||
- if (COMPRESS_MODE & 2)
|
||||
- {
|
||||
- if (COMPRESS_MODE == 3 && a < 0x4000)
|
||||
- a = a >> 2;
|
||||
- else if (a < 0x1000)
|
||||
- a = a >> 4;
|
||||
- else if (a < 0x1800)
|
||||
- a = (a - 0x800) >> 3;
|
||||
- else if (a < 0x3000)
|
||||
- a = (a - 0x1000) >> 2;
|
||||
- else if (a < 0x6000)
|
||||
- a = (a - 0x2000) >> 1;
|
||||
- else if (a < 0xC000)
|
||||
- a = (a - 0x4000);
|
||||
- else
|
||||
- a = 2 * (a - 0x8000);
|
||||
- }
|
||||
-
|
||||
- return std::min(0xFFFF, a + COMPRESS_OFFSET);
|
||||
-}
|
||||
-
|
||||
-static uint16_t dequantize(uint16_t q, int qmode)
|
||||
-{
|
||||
- switch (qmode)
|
||||
- {
|
||||
- case 0:
|
||||
- return (q < 320) ? 16 * q : 32 * (q - 160);
|
||||
-
|
||||
- case 1:
|
||||
- return 64 * q;
|
||||
-
|
||||
- case 2:
|
||||
- return 128 * q;
|
||||
-
|
||||
- default:
|
||||
- return (q < 94) ? 256 * q : std::min(0xFFFF, 512 * (q - 47));
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-static void subBlockFunction(uint16_t *d, uint32_t w)
|
||||
-{
|
||||
- int q[4];
|
||||
-
|
||||
- int qmode = (w & 3);
|
||||
- if (qmode < 3)
|
||||
- {
|
||||
- int field0 = (w >> 2) & 511;
|
||||
- int field1 = (w >> 11) & 127;
|
||||
- int field2 = (w >> 18) & 127;
|
||||
- int field3 = (w >> 25) & 127;
|
||||
- if (qmode == 2 && field0 >= 384)
|
||||
- {
|
||||
- q[1] = field0;
|
||||
- q[2] = field1 + 384;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- q[1] = (field1 >= 64) ? field0 : field0 + 64 - field1;
|
||||
- q[2] = (field1 >= 64) ? field0 + field1 - 64 : field0;
|
||||
- }
|
||||
- int p1 = std::max(0, q[1] - 64);
|
||||
- if (qmode == 2)
|
||||
- p1 = std::min(384, p1);
|
||||
- int p2 = std::max(0, q[2] - 64);
|
||||
- if (qmode == 2)
|
||||
- p2 = std::min(384, p2);
|
||||
- q[0] = p1 + field2;
|
||||
- q[3] = p2 + field3;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- int pack0 = (w >> 2) & 32767;
|
||||
- int pack1 = (w >> 17) & 32767;
|
||||
- q[0] = (pack0 & 15) + 16 * ((pack0 >> 8) / 11);
|
||||
- q[1] = (pack0 >> 4) % 176;
|
||||
- q[2] = (pack1 & 15) + 16 * ((pack1 >> 8) / 11);
|
||||
- q[3] = (pack1 >> 4) % 176;
|
||||
- }
|
||||
-
|
||||
- d[0] = dequantize(q[0], qmode);
|
||||
- d[2] = dequantize(q[1], qmode);
|
||||
- d[4] = dequantize(q[2], qmode);
|
||||
- d[6] = dequantize(q[3], qmode);
|
||||
-}
|
||||
-
|
||||
-static void uncompress(uint8_t const *src, StreamInfo const &info, uint16_t *dest)
|
||||
-{
|
||||
- // In all cases, the *decompressed* image must be a multiple of 8 columns wide.
|
||||
- unsigned int buf_stride_pixels = (info.width + 7) & ~7;
|
||||
- for (unsigned int y = 0; y < info.height; ++y)
|
||||
- {
|
||||
- uint16_t *dp = dest + y * buf_stride_pixels;
|
||||
- uint8_t const *sp = src + y * info.stride;
|
||||
-
|
||||
- for (unsigned int x = 0; x < info.width; x+=8)
|
||||
- {
|
||||
- if (COMPRESS_MODE & 1)
|
||||
- {
|
||||
- uint32_t w0 = 0, w1 = 0;
|
||||
- for (int b = 0; b < 4; ++b)
|
||||
- w0 |= (*sp++) << (b * 8);
|
||||
- for (int b = 0; b < 4; ++b)
|
||||
- w1 |= (*sp++) << (b * 8);
|
||||
- subBlockFunction(dp, w0);
|
||||
- subBlockFunction(dp + 1, w1);
|
||||
- for (int i = 0; i < 8; ++i, ++dp)
|
||||
- *dp = postprocess(*dp);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- for (int i = 0; i < 8; ++i)
|
||||
- *dp++ = postprocess((*sp++) << 8);
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
struct Matrix
|
||||
{
|
||||
Matrix(float m0, float m1, float m2,
|
||||
@@ -307,16 +177,8 @@ void dng_save(std::vector<libcamera::Span<uint8_t>> const &mem, StreamInfo const
|
||||
BayerFormat const &bayer_format = it->second;
|
||||
LOG(1, "Bayer format is " << bayer_format.name);
|
||||
|
||||
- // Decompression will require a buffer that's 8 pixels aligned.
|
||||
- unsigned int buf_stride_pixels = info.width;
|
||||
- unsigned int buf_stride_pixels_padded = (buf_stride_pixels + 7) & ~7;
|
||||
- std::vector<uint16_t> buf(buf_stride_pixels_padded * info.height);
|
||||
- if (bayer_format.compressed)
|
||||
- {
|
||||
- uncompress(mem[0].data(), info, &buf[0]);
|
||||
- buf_stride_pixels = buf_stride_pixels_padded;
|
||||
- }
|
||||
- else if (bayer_format.packed)
|
||||
+ std::vector<uint16_t> buf(info.width * info.height);
|
||||
+ if (bayer_format.packed)
|
||||
{
|
||||
switch (bayer_format.bits)
|
||||
{
|
||||
@@ -444,9 +306,8 @@ void dng_save(std::vector<libcamera::Span<uint8_t>> const &mem, StreamInfo const
|
||||
{
|
||||
for (unsigned int x = 0; x < (info.width >> 4); x++)
|
||||
{
|
||||
- unsigned int off = (y * buf_stride_pixels + x) << 4;
|
||||
- uint32_t grey =
|
||||
- buf[off] + buf[off + 1] + buf[off + buf_stride_pixels] + buf[off + buf_stride_pixels + 1];
|
||||
+ unsigned int off = (y * info.width + x) << 4;
|
||||
+ uint32_t grey = buf[off] + buf[off + 1] + buf[off + info.width] + buf[off + info.width + 1];
|
||||
grey = (grey << 14) >> bayer_format.bits;
|
||||
grey = sqrt((double)grey); // simple "gamma correction"
|
||||
thumb_buf[3 * x] = thumb_buf[3 * x + 1] = thumb_buf[3 * x + 2] = grey;
|
||||
@@ -478,7 +339,7 @@ void dng_save(std::vector<libcamera::Span<uint8_t>> const &mem, StreamInfo const
|
||||
|
||||
for (unsigned int y = 0; y < info.height; y++)
|
||||
{
|
||||
- if (TIFFWriteScanline(tif, &buf[buf_stride_pixels * y], y, 0) != 1)
|
||||
+ if (TIFFWriteScanline(tif, &buf[info.width * y], y, 0) != 1)
|
||||
throw std::runtime_error("error writing DNG image data");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
SUMMARY = "A suite of libcamera-based apps"
|
||||
DESCRIPTION = "This is a small suite of libcamera-based apps that aim to \
|
||||
copy the functionality of the existing \"raspicam\" apps."
|
||||
HOMEPAGE = "https://github.com/raspberrypi/libcamera-apps"
|
||||
SECTION = "console/utils"
|
||||
|
||||
LICENSE = "BSD-2-Clause"
|
||||
LIC_FILES_CHKSUM = "file://license.txt;md5=a0013d1b383d72ba4bdc5b750e7d1d77"
|
||||
|
||||
SRC_URI = "\
|
||||
git://github.com/raspberrypi/libcamera-apps.git;protocol=https;branch=main \
|
||||
file://0001-utils-version.py-use-usr-bin-env-in-shebang.patch \
|
||||
file://0002-Revert-Support-compressed-pixel-formats-when-saving-.patch \
|
||||
"
|
||||
PV = "1.4.2+git${SRCPV}"
|
||||
SRCREV = "9ae39f85ae6bee9761c36b9b5b80d675bc1fa369"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEPENDS = "libcamera libexif jpeg tiff libpng boost"
|
||||
|
||||
PACKAGECONFIG ??= "drm"
|
||||
PACKAGECONFIG[libav] = "-Denable_libav=true, -Denable_libav=false, libav"
|
||||
PACKAGECONFIG[drm] = "-Denable_drm=true, -Denable_drm=false, libdrm"
|
||||
PACKAGECONFIG[egl] = "-Denable_egl=true, -Denable_egl=false, virtual/egl"
|
||||
PACKAGECONFIG[qt] = "-Denable_qt=true, -Denable_qt=false, qtbase"
|
||||
PACKAGECONFIG[opencv] = "-Denable_opencv=true, -Denable_opencv=false, opencv"
|
||||
PACKAGECONFIG[tflite] = "-Denable_tflite=true, -Denable_tflite=false, tensorflow-lite"
|
||||
|
||||
inherit meson pkgconfig
|
||||
|
||||
NEON_FLAGS = ""
|
||||
NEON_FLAGS:aarch64 = "-Dneon_flags=arm64"
|
||||
NEON_FLAGS:arm:raspberrypi3 = "-Dneon_flags=armv8-neon"
|
||||
NEON_FLAGS:arm:raspberrypi4 = "-Dneon_flags=armv8-neon"
|
||||
EXTRA_OEMESON += "${NEON_FLAGS}"
|
||||
|
||||
# QA Issue: /usr/bin/camera-bug-report contained in package libcamera-apps requires /usr/bin/python3
|
||||
do_install:append() {
|
||||
rm -v ${D}/${bindir}/camera-bug-report
|
||||
}
|
||||
|
||||
# not picked automatically, because it's missing common 'lib' prefix
|
||||
FILES:${PN}-dev += "${libdir}/rpicam_app.so"
|
||||
@@ -1,2 +1,2 @@
|
||||
PACKAGECONFIG[raspberrypi] = "-Dpipelines=raspberrypi -Dipas=raspberrypi -Dcpp_args=-Wno-unaligned-access"
|
||||
PACKAGECONFIG[raspberrypi] = "-Dpipelines=rpi/vc4 -Dipas=rpi/vc4 -Dcpp_args=-Wno-unaligned-access"
|
||||
PACKAGECONFIG:append:rpi = " raspberrypi"
|
||||
|
||||
@@ -2,11 +2,17 @@ From: =?utf-8?q?R=C3=A9mi_Denis-Courmont?= <remi@remlab.net>
|
||||
Date: Sat, 16 Jun 2018 21:31:45 +0300
|
||||
Subject: configure: fix linking on RISC-V ISA
|
||||
|
||||
Upstream-status: Pending
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
---
|
||||
configure.ac | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2037a9e..df26367 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -113,6 +113,7 @@ case "${host_os}" in
|
||||
|
||||
@@ -2,13 +2,18 @@ From: Sebastian Ramacher <sramacher@debian.org>
|
||||
Date: Mon, 19 Aug 2019 21:08:26 +0200
|
||||
Subject: Revert "configure: Require libmodplug >= 0.8.9"
|
||||
|
||||
This reverts commit 48f014768dc22ecad23d0e9f53c38805a3aff832.
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Upstream-status: Pending
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
This reverts commit 48f014768dc22ecad23d0e9f53c38805a3aff832.
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index df26367..b8580ec 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2207,7 +2207,7 @@ AC_ARG_ENABLE(mod,
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
From 4fcace61801f418786c42487c6b06b693ee87666 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Vimont <rom1v@videolabs.io>
|
||||
Date: Mon, 19 Sep 2022 17:17:01 +0200
|
||||
Subject: [PATCH] vnc: fix possible buffer overflow
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
Thanks to 0xMitsurugi [1] from Synacktiv [2] for the bug report and fix.
|
||||
|
||||
[1] https://twitter.com/0xMitsurugi
|
||||
[2] https://www.synacktiv.com/
|
||||
|
||||
Fixes #27335
|
||||
|
||||
(cherry picked from commit 5eb783fd44ed6298db3e38f7765f21c42e4405f9)
|
||||
---
|
||||
modules/access/vnc.c | 23 ++++++++++++++++-------
|
||||
1 file changed, 16 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/modules/access/vnc.c
|
||||
+++ b/modules/access/vnc.c
|
||||
@@ -33,6 +33,7 @@
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
+#include <assert.h>
|
||||
|
||||
#include <vlc_common.h>
|
||||
#include <vlc_plugin.h>
|
||||
@@ -115,7 +116,7 @@
|
||||
int i_cancel_state;
|
||||
|
||||
rfbClient* p_client;
|
||||
- int i_framebuffersize;
|
||||
+ size_t i_framebuffersize;
|
||||
block_t *p_block;
|
||||
|
||||
float f_fps;
|
||||
@@ -143,11 +144,16 @@
|
||||
p_sys->es = NULL;
|
||||
}
|
||||
|
||||
- int i_width = p_client->width;
|
||||
- int i_height = p_client->height;
|
||||
- int i_depth = p_client->format.bitsPerPixel;
|
||||
+ assert(!(p_client->width & ~0xffff)); // fits in 16 bits
|
||||
+ uint16_t i_width = p_client->width;
|
||||
|
||||
- switch( i_depth )
|
||||
+ assert(!(p_client->height & ~0xffff)); // fits in 16 bits
|
||||
+ uint16_t i_height = p_client->height;
|
||||
+
|
||||
+ uint8_t i_bits_per_pixel = p_client->format.bitsPerPixel;
|
||||
+ assert((i_bits_per_pixel & 0x7) == 0); // multiple of 8
|
||||
+
|
||||
+ switch( i_bits_per_pixel )
|
||||
{
|
||||
case 8:
|
||||
i_chroma = VLC_CODEC_RGB8;
|
||||
@@ -180,7 +186,10 @@
|
||||
}
|
||||
|
||||
/* Set up framebuffer */
|
||||
- p_sys->i_framebuffersize = i_width * i_height * i_depth / 8;
|
||||
+ if (mul_overflow(i_width, i_height * (i_bits_per_pixel / 8), &p_sys->i_framebuffersize)) {
|
||||
+ msg_Err(p_demux, "VNC framebuffersize overflow");
|
||||
+ return FALSE;
|
||||
+ }
|
||||
|
||||
/* Reuse unsent block */
|
||||
if ( p_sys->p_block )
|
||||
@@ -211,7 +220,7 @@
|
||||
fmt.video.i_frame_rate_base = 1000;
|
||||
fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
|
||||
|
||||
- fmt.video.i_bits_per_pixel = i_depth;
|
||||
+ fmt.video.i_bits_per_pixel = i_bits_per_pixel;
|
||||
fmt.video.i_rmask = p_client->format.redMax << p_client->format.redShift;
|
||||
fmt.video.i_gmask = p_client->format.greenMax << p_client->format.greenShift;
|
||||
fmt.video.i_bmask = p_client->format.blueMax << p_client->format.blueShift;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,7 @@
|
||||
Upstream-status: Pending
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
--- a/bin/vlc.c
|
||||
+++ b/bin/vlc.c
|
||||
@@ -12,5 +15,5 @@ Upstream-status: Pending
|
||||
+// signal (SIGINT, SIG_DFL);
|
||||
+ _exit(0);
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
@@ -1,56 +0,0 @@
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 07 Jan 2022 07:10:47 PM CST
|
||||
Subject: [PATCH] Use packageconfig to acquire mmal flags
|
||||
|
||||
Need to use userland graphics libraries package files as it's best to not assume /opt/vc is where
|
||||
all libs and headers are installed per distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
|
||||
AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`. Adding $BCMHOST_MMAL_LIBS uses all
|
||||
libs inside bcm_host,mmal,vcsm,openmaxil .pc files when checking for `vc_tv_unregister_callback_full`
|
||||
function.
|
||||
|
||||
Upstream-status: Pending
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index bff220510..4d487409d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3483,23 +3483,25 @@ AC_ARG_ENABLE(mmal_avcodec,
|
||||
[Use MMAL enabled avcodec libs (default disable)]))
|
||||
if test "${enable_mmal}" != "no"; then
|
||||
VLC_SAVE_FLAGS
|
||||
- LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
|
||||
- CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
|
||||
- AC_CHECK_HEADERS(interface/mmal/mmal.h,
|
||||
- [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
|
||||
+ PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
|
||||
+ HAVE_MMAL=yes
|
||||
+ AC_CHECK_HEADERS(interface/mmal/mmal.h,
|
||||
+ [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
|
||||
have_mmal="yes"
|
||||
- VLC_ADD_PLUGIN([mmal])
|
||||
- VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
|
||||
- VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
|
||||
- VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
|
||||
+ VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
|
||||
+ VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
|
||||
+ VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS]) ], [
|
||||
AS_IF([test "${enable_mmal}" = "yes"],
|
||||
[ AC_MSG_ERROR([Cannot find bcm library...]) ],
|
||||
[ AC_MSG_WARN([Cannot find bcm library...]) ])
|
||||
- ],
|
||||
- [])
|
||||
- ] , [ AS_IF([test "${enable_mmal}" = "yes"],
|
||||
- [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
|
||||
- [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
|
||||
+ ],[])
|
||||
+ ],[ AS_IF([test "${enable_mmal}" = "yes"],
|
||||
+ [ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
|
||||
+ [ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
|
||||
+ ],:[
|
||||
+ AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
|
||||
+ HAVE_MMAL=no
|
||||
+ ])
|
||||
VLC_RESTORE_FLAGS
|
||||
fi
|
||||
AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
|
||||
@@ -1,10 +1,13 @@
|
||||
Upstream-status: Pending
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
--- a/modules/video_chroma/chain.c
|
||||
+++ b/modules/video_chroma/chain.c
|
||||
@@ -280,8 +280,9 @@ static int BuildTransformChain( filter_t
|
||||
return VLC_SUCCESS;
|
||||
|
||||
|
||||
/* Lets try resize+chroma first, then transform */
|
||||
- msg_Dbg( p_filter, "Trying to build chroma+resize" );
|
||||
- EsFormatMergeSize( &fmt_mid, &p_filter->fmt_out, &p_filter->fmt_in );
|
||||
@@ -0,0 +1,53 @@
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
--- a/modules/hw/mmal/blend_rgba_neon.S
|
||||
+++ b/modules/hw/mmal/blend_rgba_neon.S
|
||||
@@ -1,10 +1,10 @@
|
||||
- .syntax unified
|
||||
- .arm
|
||||
-// .thumb
|
||||
- .text
|
||||
+#include "../../arm_neon/asm.S"
|
||||
.align 16
|
||||
.arch armv7-a
|
||||
- .fpu neon-vfpv4
|
||||
+ .syntax unified
|
||||
+#if HAVE_AS_FPU_DIRECTIVE
|
||||
+ .fpu neon-vfpv4
|
||||
+#endif
|
||||
|
||||
@ blend_rgbx_rgba_neon
|
||||
|
||||
--- a/modules/hw/mmal/codec.c
|
||||
+++ b/modules/hw/mmal/codec.c
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <stdatomic.h>
|
||||
|
||||
#include <vlc_common.h>
|
||||
+#include <vlc_cpu.h>
|
||||
#include <vlc_plugin.h>
|
||||
#include <vlc_codec.h>
|
||||
#include <vlc_filter.h>
|
||||
@@ -2311,6 +2312,9 @@ static int OpenBlendMmal(vlc_object_t *o
|
||||
filter_t * const p_filter = (filter_t *)object;
|
||||
const vlc_fourcc_t vfcc_dst = p_filter->fmt_out.video.i_chroma;
|
||||
|
||||
+ if (!vlc_CPU_ARM_NEON())
|
||||
+ return VLC_EGENERIC;
|
||||
+
|
||||
if (!hw_mmal_chroma_is_mmal(vfcc_dst) ||
|
||||
!hw_mmal_vzc_subpic_fmt_valid(&p_filter->fmt_in.video))
|
||||
{
|
||||
@@ -2421,6 +2425,9 @@ static int OpenBlendNeon(vlc_object_t *o
|
||||
MMAL_FOURCC_T mfcc_dst = vlc_to_mmal_video_fourcc(&p_filter->fmt_out.video);
|
||||
blend_neon_fn * blend_fn = (blend_neon_fn *)0;
|
||||
|
||||
+ if (!vlc_CPU_ARM_NEON())
|
||||
+ return VLC_EGENERIC;
|
||||
+
|
||||
// Non-alpha RGB only for dest
|
||||
if (vfcc_dst != VLC_CODEC_RGB32)
|
||||
return VLC_EGENERIC;
|
||||
@@ -1,18 +0,0 @@
|
||||
* tremor provides libvorbisidec, use it instead of libvorbisdec
|
||||
|
||||
Upstream-status: Pending
|
||||
|
||||
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
|
||||
|
||||
Index: vlc-2.2.1/modules/codec/Makefile.am
|
||||
===================================================================
|
||||
--- vlc-2.2.1.orig/modules/codec/Makefile.am
|
||||
+++ vlc-2.2.1/modules/codec/Makefile.am
|
||||
@@ -234,7 +234,7 @@ codec_LTLIBRARIES += $(LTLIBtheora)
|
||||
libtremor_plugin_la_SOURCES = codec/vorbis.c
|
||||
libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
|
||||
libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
|
||||
-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
|
||||
+libtremor_plugin_la_LIBADD = -lvorbisidec -logg
|
||||
EXTRA_LTLIBRARIES += libtremor_plugin.la
|
||||
codec_LTLIBRARIES += $(LTLIBtremor)
|
||||
@@ -0,0 +1,26 @@
|
||||
From 048e4fdd08ac588feb27b03e3ec1824e24f77d62 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 5 Mar 2023 14:13:25 -0800
|
||||
Subject: [PATCH 3/3] configure: Disable incompatible-function-pointer-types
|
||||
warning
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
configure.ac | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -105,6 +105,11 @@ AC_SUBST([AM_CFLAGS], [-fcommon])
|
||||
dnl Prevent clang from accepting unknown flags with a mere warning
|
||||
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
|
||||
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
|
||||
+dnl disable clang from erroring on function pointer protype mismatch, vlc seems to rely on that
|
||||
+dnl especially in modules/video_filter/deinterlace/algo_yadif.c how it interpolates 'filter` variable
|
||||
+dnl between different functions yadif_filter_line_c_16bit() and yadif_filter_line_c()
|
||||
+AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CFLAGS])
|
||||
+AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CXXFLAGS])
|
||||
|
||||
dnl
|
||||
dnl Check the operating system
|
||||
@@ -0,0 +1,30 @@
|
||||
From 6fca76ebd76bf8fce9b111e31bda64015cdc770f Mon Sep 17 00:00:00 2001
|
||||
From: Johannes Kauffmann <johanneskauffmann@hotmail.com>
|
||||
Date: Mon, 11 Jul 2022 19:35:57 +0000
|
||||
Subject: [PATCH] demux: dash: include cstdint, needed for uint64_t
|
||||
|
||||
Fixes #27077.
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
https://github.com/videolan/vlc/commit/6fca76ebd76bf8fce9b111e31bda64015cdc770f
|
||||
|
||||
---
|
||||
modules/demux/dash/mpd/TemplatedUri.hpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/modules/demux/dash/mpd/TemplatedUri.hpp b/modules/demux/dash/mpd/TemplatedUri.hpp
|
||||
index 1eeb70cbb6..7f7264a9c8 100644
|
||||
--- a/modules/demux/dash/mpd/TemplatedUri.hpp
|
||||
+++ b/modules/demux/dash/mpd/TemplatedUri.hpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#ifndef TEMPLATEDURI_HPP
|
||||
#define TEMPLATEDURI_HPP
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
namespace dash
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 07 Jan 2022 07:10:47 PM CST
|
||||
Subject: [PATCH] Fix numeric limits not a member
|
||||
|
||||
* Fixes bellow compiler issue:
|
||||
../../git/modules/demux/adaptive/playlist/SegmentInformation.cpp:397:23: error: 'numeric_limits' is not a member of 'std'
|
||||
397 | if(number == std::numeric_limits<uint64_t>::max())
|
||||
|
||||
Upstream-status: Pending
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
diff --git a/modules/demux/adaptive/playlist/SegmentInformation.cpp b/modules/demux/adaptive/playlist/SegmentInformation.cpp
|
||||
index 344e155c7..8eeb05439 100644
|
||||
--- a/modules/demux/adaptive/playlist/SegmentInformation.cpp
|
||||
+++ b/modules/demux/adaptive/playlist/SegmentInformation.cpp
|
||||
@@ -34,6 +34,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
+#include <limits>
|
||||
|
||||
using namespace adaptive::playlist;
|
||||
|
||||
diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp
|
||||
index 67110e4cd..743969922 100644
|
||||
--- a/modules/demux/hls/playlist/Parser.cpp
|
||||
+++ b/modules/demux/hls/playlist/Parser.cpp
|
||||
@@ -42,6 +42,7 @@
|
||||
#include <map>
|
||||
#include <cctype>
|
||||
#include <algorithm>
|
||||
+#include <limits>
|
||||
|
||||
using namespace adaptive;
|
||||
using namespace adaptive::playlist;
|
||||
@@ -1,7 +1,10 @@
|
||||
* luaL_checkint and luaL_optint were deprecated in lua 5.3
|
||||
* replacement functions are luaL_checkinteger and luaL_optinteger
|
||||
|
||||
Upstream-status: Pending
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches to enable
|
||||
raspiberry pi support.
|
||||
|
||||
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From d0a7ba506fd302ad195f79f287b5a5a154ac02a3 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Sun, 4 Dec 2022 16:09:51 -0600
|
||||
Subject: [PATCH] tremor provides libvorbisidec, use it instead of libvorbisdec
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches to enable
|
||||
raspiberry pi support.
|
||||
|
||||
THIS PATCHES HAS BEEN REIMPLEMENTED INORDER TO APPLY PROPERLY.
|
||||
|
||||
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
|
||||
---
|
||||
modules/codec/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
|
||||
index 3dadf1119..8b6189e92 100644
|
||||
--- a/modules/codec/Makefile.am
|
||||
+++ b/modules/codec/Makefile.am
|
||||
@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
|
||||
libtremor_plugin_la_SOURCES = codec/vorbis.c
|
||||
libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
|
||||
libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
|
||||
-libtremor_plugin_la_LIBADD = -lvorbisdec -logg
|
||||
+libtremor_plugin_la_LIBADD = -lvorbisidec -logg
|
||||
EXTRA_LTLIBRARIES += libtremor_plugin.la
|
||||
codec_LTLIBRARIES += $(LTLIBtremor)
|
||||
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
From ddc2ea76058466b45a1acf37bed0d794cd3112a3 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 9 Dec 2022 19:04:42 -0600
|
||||
Subject: [PATCH] configure.ac: setup for OE usage
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches to enable
|
||||
raspiberry pi support.
|
||||
|
||||
Need to use userland graphics libraries package files as it's best
|
||||
to not assume /opt/vc is where all libs and headers are installed per
|
||||
distro. Also, needed to include $BCMHOST_MMAL_LIBS variable as
|
||||
AC_CHECK_LIB(bcm_host) fails to find `vc_tv_unregister_callback_full`.
|
||||
Adding $BCMHOST_MMAL_LIBS uses all libs inside
|
||||
bcm_host.pc, mmal.pc, vcsm.pc, openmaxil.pc files when checking
|
||||
for `vc_tv_unregister_callback_full` function.
|
||||
|
||||
Supposed to change linked version to opengl to GLESv2
|
||||
|
||||
Ensure correct package config file is used for:
|
||||
* opencv
|
||||
* freerdp
|
||||
|
||||
Adds Workaround for modules/codec/omxil/omxil_core.h
|
||||
multiple definition of `pf_enable_graphic_buffers'
|
||||
multiple definition of `pf_get_graphic_buffer_usage'
|
||||
multiple definition of `pf_get_hal_format'
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
configure.ac | 34 ++++++++++++++++++++++------------
|
||||
1 file changed, 22 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index a72dca0b6..5b8585a26 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -95,6 +95,13 @@ AS_IF([test -n "${with_binary_version}"],[
|
||||
[Binary specific version])
|
||||
])
|
||||
|
||||
+# Workaround for modules/codec/omxil/omxil_core.h
|
||||
+# multiple definition of `pf_enable_graphic_buffers'
|
||||
+# multiple definition of `pf_get_graphic_buffer_usage'
|
||||
+# multiple definition of `pf_get_hal_format'
|
||||
+AC_SUBST([AM_CXXFLAGS], [-fcommon])
|
||||
+AC_SUBST([AM_CFLAGS], [-fcommon])
|
||||
+
|
||||
dnl Prevent clang from accepting unknown flags with a mere warning
|
||||
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
|
||||
AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
|
||||
@@ -1900,7 +1907,7 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.6.2], (libbluray f
|
||||
dnl
|
||||
dnl OpenCV wrapper and example filters
|
||||
dnl
|
||||
-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
|
||||
+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv4 >= 2.0], (OpenCV (computer vision) filter), [auto])
|
||||
|
||||
|
||||
dnl
|
||||
@@ -2077,7 +2084,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
|
||||
|
||||
dnl RDP/Remote Desktop access module
|
||||
dnl
|
||||
-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
|
||||
+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) )
|
||||
|
||||
dnl
|
||||
dnl Real RTSP plugin
|
||||
@@ -3089,14 +3096,14 @@ PKG_CHECK_MODULES([GL], [gl], [
|
||||
#ifdef _WIN32
|
||||
# include <GL/glew.h>
|
||||
#endif
|
||||
-#include <GL/gl.h>
|
||||
+#include <GLES2/gl2.h>
|
||||
]], [
|
||||
[int t0 = GL_TEXTURE0;]])
|
||||
], [
|
||||
GL_CFLAGS=""
|
||||
have_gl="yes"
|
||||
AS_IF([test "${SYS}" != "mingw32"], [
|
||||
- GL_LIBS="-lGL"
|
||||
+ GL_LIBS="-lGLESv2"
|
||||
], [
|
||||
GL_LIBS="-lopengl32"
|
||||
])
|
||||
@@ -3483,15 +3490,14 @@ AC_ARG_ENABLE(mmal_avcodec,
|
||||
[Use MMAL enabled avcodec libs (default disable)]))
|
||||
if test "${enable_mmal}" != "no"; then
|
||||
VLC_SAVE_FLAGS
|
||||
- LDFLAGS="${LDFLAGS} -L/opt/vc/lib -lvchostif"
|
||||
- CPPFLAGS="${CPPFLAGS} -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux"
|
||||
- AC_CHECK_HEADERS(interface/mmal/mmal.h,
|
||||
- [ AC_CHECK_LIB(bcm_host, vc_tv_unregister_callback_full, [
|
||||
+ PKG_CHECK_MODULES(BCMHOST_MMAL, [bcm_host mmal vcsm openmaxil egl], [
|
||||
+ HAVE_MMAL=yes
|
||||
+ AC_CHECK_HEADERS(interface/mmal/mmal.h,
|
||||
+ [ AC_CHECK_LIB(bcm_host $BCMHOST_MMAL_LIBS, vc_tv_unregister_callback_full, [
|
||||
have_mmal="yes"
|
||||
- VLC_ADD_PLUGIN([mmal])
|
||||
- VLC_ADD_LDFLAGS([mmal],[ -L/opt/vc/lib ])
|
||||
- VLC_ADD_CFLAGS([mmal],[ -isystem /opt/vc/include -isystem /opt/vc/include/interface/vcos/pthreads -isystem /opt/vc/include/interface/vmcs_host/linux ])
|
||||
- VLC_ADD_LIBS([mmal],[ -lbcm_host -lmmal -lmmal_core -lmmal_components -lmmal_util -lvchostif -lvchiq_arm -lvcsm ]) ], [
|
||||
+ VLC_ADD_PLUGIN([bcm_host mmal vcsm openmaxil egl])
|
||||
+ VLC_ADD_CFLAGS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_CFLAGS])
|
||||
+ VLC_ADD_LIBS([bcm_host mmal vcsm openmaxil egl],[$BCMHOST_MMAL_LIBS -lmmal_components]) ], [
|
||||
AS_IF([test "${enable_mmal}" = "yes"],
|
||||
[ AC_MSG_ERROR([Cannot find bcm library...]) ],
|
||||
[ AC_MSG_WARN([Cannot find bcm library...]) ])
|
||||
@@ -3500,6 +3506,10 @@ if test "${enable_mmal}" != "no"; then
|
||||
] , [ AS_IF([test "${enable_mmal}" = "yes"],
|
||||
[ AC_MSG_ERROR([Cannot find development headers for mmal...]) ],
|
||||
[ AC_MSG_WARN([Cannot find development headers for mmal...]) ]) ])
|
||||
+ ],:[
|
||||
+ AC_MSG_WARN([${BCMHOST_PKG_ERRORS}: userland graphics not available.])
|
||||
+ HAVE_MMAL=NO
|
||||
+ ])
|
||||
VLC_RESTORE_FLAGS
|
||||
fi
|
||||
AM_CONDITIONAL([HAVE_MMAL], [test "${have_mmal}" = "yes"])
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -2,11 +2,14 @@ From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 07 Jan 2022 07:01:47 PM CST
|
||||
Subject: [PATCH] Fix EGL macro undeclared and EGLImageKHR
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches to enable
|
||||
raspiberry pi support.
|
||||
|
||||
* Fixes compiler issues related to EGL macro constant/enum value type not being defined
|
||||
* Updates EGLImage to EGLImageKHR
|
||||
|
||||
Upstream-status: Pending
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
diff --git a/modules/hw/mmal/converter_mmal.c b/modules/hw/mmal/converter_mmal.c
|
||||
index f31cb81d8..426af668b 100644
|
||||
@@ -0,0 +1,43 @@
|
||||
From 85f6603aca1d174848b42e696a4cff8af57613d6 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Thu, 8 Dec 2022 23:38:36 -0600
|
||||
Subject: [PATCH] codec: omxil_core replace /opt/vc path with /usr/lib
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo clones original VLC and applies patches to enable
|
||||
raspiberry pi support.
|
||||
|
||||
Configures omxil_core.c for OE usages as libbcm_host.so
|
||||
and libopenmaxil.so are located in a different location.
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
modules/codec/omxil/omxil_core.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/omxil/omxil_core.c b/modules/codec/omxil/omxil_core.c
|
||||
index 5098f517a..5922d9034 100644
|
||||
--- a/modules/codec/omxil/omxil_core.c
|
||||
+++ b/modules/codec/omxil/omxil_core.c
|
||||
@@ -56,7 +56,7 @@ static const char *ppsz_dll_list[] =
|
||||
#if defined(USE_IOMX)
|
||||
"libiomx.so", /* Not used when using IOMX, the lib should already be loaded */
|
||||
#elif defined(RPI_OMX)
|
||||
- "/opt/vc/lib/libopenmaxil.so", /* Broadcom IL core */
|
||||
+ "/usr/lib/libopenmaxil.so", /* Broadcom IL core */
|
||||
#elif 1
|
||||
"libOMX_Core.so", /* TI OMAP IL core */
|
||||
"libOmxCore.so", /* Qualcomm IL core */
|
||||
@@ -70,7 +70,7 @@ static const char *ppsz_dll_list[] =
|
||||
#ifdef RPI_OMX
|
||||
static const char *ppsz_extra_dll_list[] =
|
||||
{
|
||||
- "/opt/vc/lib/libbcm_host.so", /* Broadcom host library */
|
||||
+ "/usr/lib/libbcm_host.so", /* Broadcom host library */
|
||||
0
|
||||
};
|
||||
#endif
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
From 377a67af6c3f7c38f6f7ba24f042ba1a6cfd3f24 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 9 Dec 2022 00:21:43 -0600
|
||||
Subject: [PATCH] use GLESv2 headers over GL headers
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches to enable
|
||||
raspiberry pi support.
|
||||
|
||||
We utilize GLESv2 during compilation. Patches ensures
|
||||
we utilize headers for it.
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
modules/video_output/opengl/converter.h | 12 +++---------
|
||||
modules/visualization/glspectrum.c | 4 +++-
|
||||
2 files changed, 6 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h
|
||||
index 7000e1f38..a3fe32671 100644
|
||||
--- a/modules/video_output/opengl/converter.h
|
||||
+++ b/modules/video_output/opengl/converter.h
|
||||
@@ -41,15 +41,9 @@
|
||||
# include <OpenGLES/ES2/glext.h>
|
||||
# endif
|
||||
#else /* !defined (__APPLE__) */
|
||||
-# if defined (USE_OPENGL_ES2)
|
||||
-# include <GLES2/gl2.h>
|
||||
-# include <GLES2/gl2ext.h>
|
||||
-# else
|
||||
-# ifdef _WIN32
|
||||
-# include <GL/glew.h>
|
||||
-# endif
|
||||
-# include <GL/gl.h>
|
||||
-# endif
|
||||
+#define USE_OPENGL_ES2
|
||||
+#include <GLES2/gl2.h>
|
||||
+#include <GLES2/gl2ext.h>
|
||||
#endif
|
||||
|
||||
#define VLCGL_PICTURE_MAX 128
|
||||
diff --git a/modules/visualization/glspectrum.c b/modules/visualization/glspectrum.c
|
||||
index 06f8d1bdf..470080b1a 100644
|
||||
--- a/modules/visualization/glspectrum.c
|
||||
+++ b/modules/visualization/glspectrum.c
|
||||
@@ -37,7 +37,9 @@
|
||||
#ifdef __APPLE__
|
||||
# include <OpenGL/gl.h>
|
||||
#else
|
||||
-# include <GL/gl.h>
|
||||
+#define USE_OPENGL_ES2
|
||||
+#include <GLES2/gl2.h>
|
||||
+#include <GLES2/gl2ext.h>
|
||||
#endif
|
||||
|
||||
#include <math.h>
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
From 5f1bb5889d838719e381350b25c00ef3a75d0e02 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 9 Dec 2022 01:07:55 -0600
|
||||
Subject: [PATCH] modules: remove glspectrum usage
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches to enable
|
||||
raspiberry pi support.
|
||||
|
||||
The glspectrum modules requries OpenGL
|
||||
while we only want to utilize GLESv2.
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
modules/Makefile.in | 24 ------------------------
|
||||
modules/visualization/Makefile.am | 10 ----------
|
||||
2 files changed, 34 deletions(-)
|
||||
|
||||
diff --git a/modules/Makefile.in b/modules/Makefile.in
|
||||
index bde45db53..c9c4342ad 100644
|
||||
--- a/modules/Makefile.in
|
||||
+++ b/modules/Makefile.in
|
||||
@@ -481,7 +481,6 @@ TESTS = hpack_test$(EXEEXT) hpackenc_test$(EXEEXT) \
|
||||
@HAVE_WIN32_FALSE@am__append_247 = $(X_LIBS) $(X_PRE_LIBS) -lX11
|
||||
@HAVE_DARWIN_FALSE@@HAVE_WIN32_FALSE@am__append_248 = $(X_LIBS) $(X_PRE_LIBS) -lX11
|
||||
@HAVE_EVAS_TRUE@am__append_249 = libevas_plugin.la
|
||||
-@HAVE_GL_TRUE@am__append_250 = libglspectrum_plugin.la
|
||||
@ENABLE_SOUT_TRUE@@HAVE_GCRYPT_TRUE@am__append_251 = libaccess_output_livehttp_plugin.la
|
||||
@ENABLE_SOUT_TRUE@am__append_252 = libaccess_output_shout_plugin.la \
|
||||
@ENABLE_SOUT_TRUE@ libaccess_output_srt_plugin.la \
|
||||
@@ -2028,13 +2027,7 @@ libgles2_plugin_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||
$(libgles2_plugin_la_CFLAGS) $(CFLAGS) \
|
||||
$(libgles2_plugin_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
-libglspectrum_plugin_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
|
||||
$(am__DEPENDENCIES_1)
|
||||
-am_libglspectrum_plugin_la_OBJECTS = visualization/glspectrum.lo \
|
||||
- visualization/visual/fft.lo visualization/visual/window.lo
|
||||
-libglspectrum_plugin_la_OBJECTS = \
|
||||
- $(am_libglspectrum_plugin_la_OBJECTS)
|
||||
-@HAVE_GL_TRUE@am_libglspectrum_plugin_la_rpath = -rpath $(visudir)
|
||||
libglwin32_plugin_la_DEPENDENCIES = libchroma_copy.la \
|
||||
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_5)
|
||||
am__objects_23 = \
|
||||
@@ -6507,7 +6500,6 @@ am__depfiles_remade = \
|
||||
video_splitter/$(DEPDIR)/clone.Plo \
|
||||
video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo \
|
||||
video_splitter/$(DEPDIR)/wall.Plo \
|
||||
- visualization/$(DEPDIR)/glspectrum.Plo \
|
||||
visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo \
|
||||
visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo \
|
||||
visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo \
|
||||
@@ -6731,7 +6723,6 @@ SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
|
||||
$(libglconv_vaapi_x11_plugin_la_SOURCES) \
|
||||
$(libglconv_vdpau_plugin_la_SOURCES) \
|
||||
$(libgles2_plugin_la_SOURCES) \
|
||||
- $(libglspectrum_plugin_la_SOURCES) \
|
||||
$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
|
||||
$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
|
||||
$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
|
||||
@@ -7130,7 +7121,6 @@ DIST_SOURCES = $(liba52_plugin_la_SOURCES) $(libaa_plugin_la_SOURCES) \
|
||||
$(libglconv_vaapi_x11_plugin_la_SOURCES) \
|
||||
$(libglconv_vdpau_plugin_la_SOURCES) \
|
||||
$(libgles2_plugin_la_SOURCES) \
|
||||
- $(libglspectrum_plugin_la_SOURCES) \
|
||||
$(libglwin32_plugin_la_SOURCES) $(libglx_plugin_la_SOURCES) \
|
||||
$(libgme_plugin_la_SOURCES) $(libgnutls_plugin_la_SOURCES) \
|
||||
$(libgoom_plugin_la_SOURCES) $(libgradfun_plugin_la_SOURCES) \
|
||||
@@ -12696,13 +12686,6 @@ libevent_thread_la_LDFLAGS = -static
|
||||
visudir = $(pluginsdir)/visualization
|
||||
visu_LTLIBRARIES = $(am__append_250) $(LTLIBgoom) $(LTLIBprojectm) \
|
||||
libvisual_plugin.la $(LTLIBvsxu)
|
||||
-libglspectrum_plugin_la_SOURCES = \
|
||||
- visualization/glspectrum.c \
|
||||
- visualization/visual/fft.c visualization/visual/fft.h \
|
||||
- visualization/visual/window.c visualization/visual/window.h \
|
||||
- visualization/visual/window_presets.h
|
||||
-
|
||||
-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
|
||||
libgoom_plugin_la_SOURCES = visualization/goom.c
|
||||
libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
|
||||
libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
|
||||
@@ -15715,8 +15698,6 @@ visualization/$(am__dirstamp):
|
||||
visualization/$(DEPDIR)/$(am__dirstamp):
|
||||
@$(MKDIR_P) visualization/$(DEPDIR)
|
||||
@: > visualization/$(DEPDIR)/$(am__dirstamp)
|
||||
-visualization/glspectrum.lo: visualization/$(am__dirstamp) \
|
||||
- visualization/$(DEPDIR)/$(am__dirstamp)
|
||||
visualization/visual/$(am__dirstamp):
|
||||
@$(MKDIR_P) visualization/visual
|
||||
@: > visualization/visual/$(am__dirstamp)
|
||||
@@ -15728,8 +15709,6 @@ visualization/visual/fft.lo: visualization/visual/$(am__dirstamp) \
|
||||
visualization/visual/window.lo: visualization/visual/$(am__dirstamp) \
|
||||
visualization/visual/$(DEPDIR)/$(am__dirstamp)
|
||||
|
||||
-libglspectrum_plugin.la: $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_DEPENDENCIES) $(EXTRA_libglspectrum_plugin_la_DEPENDENCIES)
|
||||
- $(AM_V_CCLD)$(LINK) $(am_libglspectrum_plugin_la_rpath) $(libglspectrum_plugin_la_OBJECTS) $(libglspectrum_plugin_la_LIBADD) $(LIBS)
|
||||
video_output/opengl/libglwin32_plugin_la-vout_helper.lo: \
|
||||
video_output/opengl/$(am__dirstamp) \
|
||||
video_output/opengl/$(DEPDIR)/$(am__dirstamp)
|
||||
@@ -21420,7 +21399,6 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/clone.Plo@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@video_splitter/$(DEPDIR)/wall.Plo@am__quote@ # am--include-marker
|
||||
-@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/glspectrum.Plo@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo@am__quote@ # am--include-marker
|
||||
@@ -30324,7 +30302,6 @@ distclean: distclean-recursive
|
||||
-rm -f video_splitter/$(DEPDIR)/clone.Plo
|
||||
-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
|
||||
-rm -f video_splitter/$(DEPDIR)/wall.Plo
|
||||
- -rm -f visualization/$(DEPDIR)/glspectrum.Plo
|
||||
-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
|
||||
-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
|
||||
-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
|
||||
@@ -31722,7 +31699,6 @@ maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f video_splitter/$(DEPDIR)/clone.Plo
|
||||
-rm -f video_splitter/$(DEPDIR)/libpanoramix_plugin_la-panoramix.Plo
|
||||
-rm -f video_splitter/$(DEPDIR)/wall.Plo
|
||||
- -rm -f visualization/$(DEPDIR)/glspectrum.Plo
|
||||
-rm -f visualization/$(DEPDIR)/libgoom_plugin_la-goom.Plo
|
||||
-rm -f visualization/$(DEPDIR)/libprojectm_plugin_la-projectm.Plo
|
||||
-rm -f visualization/$(DEPDIR)/libvsxu_plugin_la-vsxu.Plo
|
||||
diff --git a/modules/visualization/Makefile.am b/modules/visualization/Makefile.am
|
||||
index 10619e030..aafc97f87 100644
|
||||
--- a/modules/visualization/Makefile.am
|
||||
+++ b/modules/visualization/Makefile.am
|
||||
@@ -1,16 +1,6 @@
|
||||
visudir = $(pluginsdir)/visualization
|
||||
visu_LTLIBRARIES =
|
||||
|
||||
-libglspectrum_plugin_la_SOURCES = \
|
||||
- visualization/glspectrum.c \
|
||||
- visualization/visual/fft.c visualization/visual/fft.h \
|
||||
- visualization/visual/window.c visualization/visual/window.h \
|
||||
- visualization/visual/window_presets.h
|
||||
-libglspectrum_plugin_la_LIBADD = $(GL_LIBS) $(LIBM)
|
||||
-if HAVE_GL
|
||||
-visu_LTLIBRARIES += libglspectrum_plugin.la
|
||||
-endif
|
||||
-
|
||||
libgoom_plugin_la_SOURCES = visualization/goom.c
|
||||
libgoom_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) $(GOOM_CFLAGS)
|
||||
libgoom_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(visudir)'
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From fd4d233757cc46cd89f68b45ec4b059940dd84ae Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 9 Dec 2022 19:58:11 -0600
|
||||
Subject: [PATCH] codec: omxil_core.h fix multiple definition of
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
Issue occurs during compilation as
|
||||
* pf_enable_graphic_buffers
|
||||
* pf_get_graphic_buffer_usage
|
||||
* pf_get_hal_format
|
||||
|
||||
Apears to be defined multiple times as the omxil_core.h
|
||||
is included in multiple files.
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
modules/codec/omxil/omxil_core.h | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/modules/codec/omxil/omxil_core.h b/modules/codec/omxil/omxil_core.h
|
||||
index ac3db510b..f6e42f5ed 100644
|
||||
--- a/modules/codec/omxil/omxil_core.h
|
||||
+++ b/modules/codec/omxil/omxil_core.h
|
||||
@@ -34,9 +34,9 @@ extern OMX_ERRORTYPE (*pf_component_enum)(OMX_STRING, OMX_U32, OMX_U32);
|
||||
extern OMX_ERRORTYPE (*pf_get_roles_of_component)(OMX_STRING, OMX_U32 *, OMX_U8 **);
|
||||
|
||||
/* Extra IOMX android functions. Can be NULL if we don't link with libiomx */
|
||||
-OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
|
||||
-OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
|
||||
-OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
|
||||
+extern OMX_ERRORTYPE (*pf_enable_graphic_buffers)(OMX_HANDLETYPE, OMX_U32, OMX_BOOL);
|
||||
+extern OMX_ERRORTYPE (*pf_get_graphic_buffer_usage)(OMX_HANDLETYPE, OMX_U32, OMX_U32*);
|
||||
+extern OMX_ERRORTYPE (*pf_get_hal_format) (const char *, int *);
|
||||
|
||||
int InitOmxCore(vlc_object_t *p_this);
|
||||
void DeinitOmxCore(void);
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From 34e4f4dad923095989ccb0ab8efb883c592bdbfd Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 9 Dec 2022 20:04:27 -0600
|
||||
Subject: [PATCH] remove xorg related link libs
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
If x11 isn't defined in DISTRO_FEATURES
|
||||
required xorg related libs are not included
|
||||
in recipe-sysroot resulting in compilation
|
||||
failure.
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
modules/hw/mmal/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/hw/mmal/Makefile.am b/modules/hw/mmal/Makefile.am
|
||||
index 4abe68e2e..86dad2c2d 100644
|
||||
--- a/modules/hw/mmal/Makefile.am
|
||||
+++ b/modules/hw/mmal/Makefile.am
|
||||
@@ -8,7 +8,7 @@ libmmal_vout_plugin_la_SOURCES = vout.c mmal_cma.c mmal_picture.c subpic.c\
|
||||
mmal_cma.h mmal_picture.h subpic.h transform_ops.h\
|
||||
mmal_piccpy_neon.S
|
||||
libmmal_vout_plugin_la_CFLAGS = $(AM_CFLAGS)
|
||||
-libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm -lX11 -lXrandr
|
||||
+libmmal_vout_plugin_la_LDFLAGS = $(AM_LDFLAGS) -lm
|
||||
libmmal_vout_plugin_la_LIBADD = $(LIBS_mmal)
|
||||
mmal_LTLIBRARIES = libmmal_vout_plugin.la
|
||||
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
From 28917a258a4173af0abda0eef7faef5cbf95f123 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 9 Dec 2022 21:28:48 -0600
|
||||
Subject: [PATCH] vo: Makefile.am exclude libgl_plugin
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches
|
||||
to enable raspiberry pi support.
|
||||
|
||||
In the situation where opengl isn't included in
|
||||
DISTRO_FEATURES. We need to exclude the opengl
|
||||
vout plugin from being built.
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
modules/video_output/Makefile.am | 64 --------------------------------
|
||||
1 file changed, 64 deletions(-)
|
||||
|
||||
diff --git a/modules/video_output/Makefile.am b/modules/video_output/Makefile.am
|
||||
index 78c06cfc4..14a330e68 100644
|
||||
--- a/modules/video_output/Makefile.am
|
||||
+++ b/modules/video_output/Makefile.am
|
||||
@@ -57,70 +57,6 @@ if HAVE_TVOS
|
||||
vout_LTLIBRARIES += libvout_ios_plugin.la libglconv_cvpx_plugin.la
|
||||
endif
|
||||
|
||||
-### OpenGL ###
|
||||
-libgles2_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
|
||||
-libgles2_plugin_la_CFLAGS = $(AM_CFLAGS) $(GLES2_CFLAGS) -DUSE_OPENGL_ES2 $(OPENGL_COMMONCLFAGS)
|
||||
-libgles2_plugin_la_LIBADD = $(GLES2_LIBS) $(LIBM) $(OPENGL_COMMONLIBS)
|
||||
-libgles2_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)'
|
||||
-
|
||||
-EXTRA_LTLIBRARIES += libgles2_plugin.la
|
||||
-vout_LTLIBRARIES += $(LTLIBgles2)
|
||||
-
|
||||
-libgl_plugin_la_SOURCES = $(OPENGL_COMMONSOURCES) video_output/opengl/display.c
|
||||
-libgl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) $(OPENGL_COMMONCLFAGS)
|
||||
-libgl_plugin_la_LIBADD = $(LIBM) $(OPENGL_COMMONLIBS)
|
||||
-if HAVE_WIN32
|
||||
-libgl_plugin_la_CFLAGS += -DHAVE_GL_CORE_SYMBOLS
|
||||
-libgl_plugin_la_LIBADD += $(GL_LIBS)
|
||||
-endif
|
||||
-
|
||||
-libglconv_vaapi_wl_plugin_la_SOURCES = video_output/opengl/converter_vaapi.c \
|
||||
- video_output/opengl/converter.h \
|
||||
- hw/vaapi/vlc_vaapi.c hw/vaapi/vlc_vaapi.h
|
||||
-libglconv_vaapi_wl_plugin_la_CFLAGS = $(AM_CFLAGS) $(GL_CFLAGS) -DHAVE_VA_WL $(LIBVA_WL_CFLAGS)
|
||||
-libglconv_vaapi_wl_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
|
||||
- $(LIBVA_WL_LIBS)
|
||||
-
|
||||
-libglconv_vaapi_x11_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
|
||||
-libglconv_vaapi_x11_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_X11
|
||||
-libglconv_vaapi_x11_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
|
||||
- $(LIBVA_X11_LIBS) $(X_LIBS) $(X_PRE_LIBS) -lX11
|
||||
-
|
||||
-libglconv_vaapi_drm_plugin_la_SOURCES = $(libglconv_vaapi_wl_plugin_la_SOURCES)
|
||||
-libglconv_vaapi_drm_plugin_la_CFLAGS = $(AM_CFLAGS) -DHAVE_VA_DRM
|
||||
-libglconv_vaapi_drm_plugin_la_LIBADD = $(LIBVA_LIBS) $(LIBVA_EGL_LIBS) \
|
||||
- $(LIBVA_DRM_LIBS)
|
||||
-
|
||||
-libglconv_vdpau_plugin_la_SOURCES = video_output/opengl/converter_vdpau.c \
|
||||
- video_output/opengl/converter.h hw/vdpau/vlc_vdpau.h
|
||||
-libglconv_vdpau_plugin_la_CFLAGS = $(AM_CFLAGS) $(VDPAU_CFLAGS)
|
||||
-libglconv_vdpau_plugin_la_LIBADD = $(LIBDL) libvlc_vdpau.la $(X_LIBS) $(X_PRE_LIBS) -lX11
|
||||
-
|
||||
-if HAVE_GL
|
||||
-vout_LTLIBRARIES += libgl_plugin.la
|
||||
-if HAVE_EGL
|
||||
-if HAVE_VAAPI
|
||||
-if HAVE_WAYLAND_EGL
|
||||
-if HAVE_VAAPI_WL
|
||||
-vout_LTLIBRARIES += libglconv_vaapi_wl_plugin.la
|
||||
-endif
|
||||
-endif
|
||||
-if HAVE_XCB
|
||||
-if HAVE_VAAPI_X11
|
||||
-vout_LTLIBRARIES += libglconv_vaapi_x11_plugin.la
|
||||
-endif
|
||||
-endif
|
||||
-if HAVE_VAAPI_DRM
|
||||
-vout_LTLIBRARIES += libglconv_vaapi_drm_plugin.la
|
||||
-endif
|
||||
-endif
|
||||
-endif # HAVE_EGL
|
||||
-
|
||||
-if HAVE_VDPAU
|
||||
-vout_LTLIBRARIES += libglconv_vdpau_plugin.la
|
||||
-endif
|
||||
-endif # HAVE_GL
|
||||
-
|
||||
### XCB ###
|
||||
libvlc_xcb_events_la_SOURCES = \
|
||||
video_output/xcb/events.c video_output/xcb/events.h
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From 35276c4b02b9114436108e74727d192f1e21f239 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Fri, 9 Dec 2022 23:31:33 -0600
|
||||
Subject: [PATCH] vo: converter_vaapi Fix EGL macro undeclared
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
RPI-Distro repo forks original vlc and applies patches to enable
|
||||
raspiberry pi support.
|
||||
|
||||
Fixes compiler issues related to EGL macro constant/enum value type
|
||||
not being defined
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
modules/video_output/opengl/converter_vaapi.c | 27 +++++++++++++++++++
|
||||
1 file changed, 27 insertions(+)
|
||||
|
||||
diff --git a/modules/video_output/opengl/converter_vaapi.c b/modules/video_output/opengl/converter_vaapi.c
|
||||
index cd842f711..59245fe4c 100644
|
||||
--- a/modules/video_output/opengl/converter_vaapi.c
|
||||
+++ b/modules/video_output/opengl/converter_vaapi.c
|
||||
@@ -55,6 +55,33 @@
|
||||
|
||||
#define DRM_FORMAT_MOD_INVALID fourcc_mod_code(NONE, DRM_FORMAT_RESERVED)
|
||||
|
||||
+#define EGL_LINUX_DMA_BUF_EXT 0x3270
|
||||
+#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
|
||||
+#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
|
||||
+#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
|
||||
+#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
|
||||
+#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
|
||||
+#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
|
||||
+#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
|
||||
+#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
|
||||
+#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
|
||||
+#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
|
||||
+#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
|
||||
+#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
|
||||
+#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
|
||||
+#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
|
||||
+#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
|
||||
+#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
|
||||
+#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
|
||||
+#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
|
||||
+#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
|
||||
+#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
|
||||
+#define EGL_DMA_BUF_PLANE3_FD_EXT 0x3440
|
||||
+#define EGL_DMA_BUF_PLANE3_OFFSET_EXT 0x3441
|
||||
+#define EGL_DMA_BUF_PLANE3_PITCH_EXT 0x3442
|
||||
+#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
|
||||
+#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
|
||||
+
|
||||
struct priv
|
||||
{
|
||||
struct vlc_vaapi_instance *vainst;
|
||||
--
|
||||
2.38.1
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From 4caba7560aec54f6d944accd1a8d216e8d9b1d92 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Davis Jr <vince@underview.tech>
|
||||
Date: Tue, 14 Nov 2023 20:17:11 -0500
|
||||
Subject: [PATCH] po: Fix typos in oc.po for gettext compatibility
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Ws moved upstream, but upstream patch couldn't be applied.
|
||||
|
||||
https://code.videolan.org/videolan/vlc/-/commit/9d67e20c2edd25251b46d1780a7973b44ac5e5ba
|
||||
|
||||
gettext-0.22 became stricter and started to validate format strings. Fix
|
||||
the typos.
|
||||
|
||||
Bug: https://bugs.gentoo.org/909015
|
||||
|
||||
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
|
||||
---
|
||||
po/oc.po | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/po/oc.po b/po/oc.po
|
||||
index 86f2ed8a1..ce68c581f 100644
|
||||
--- a/po/oc.po
|
||||
+++ b/po/oc.po
|
||||
@@ -5298,18 +5298,18 @@ msgstr "Comanda+"
|
||||
#: src/misc/update.c:482
|
||||
#, c-format
|
||||
msgid "%.1f GiB"
|
||||
-msgstr "%.lf Gio"
|
||||
+msgstr "%.1f Gio"
|
||||
|
||||
#: src/misc/update.c:484
|
||||
#, c-format
|
||||
msgid "%.1f MiB"
|
||||
-msgstr "%.lf Mio"
|
||||
+msgstr "%.1f Mio"
|
||||
|
||||
#: src/misc/update.c:486 modules/gui/macosx/VLCPlaylistInfo.m:138
|
||||
#: modules/gui/macosx/VLCPlaylistInfo.m:140
|
||||
#, c-format
|
||||
msgid "%.1f KiB"
|
||||
-msgstr "%.lf Kio"
|
||||
+msgstr "%.1f Kio"
|
||||
|
||||
#: src/misc/update.c:488
|
||||
#, c-format
|
||||
@@ -33071,7 +33071,7 @@ msgstr "Lista del gestionari de mèdias"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "%.1f kB"
|
||||
-#~ msgstr "%.lf Gio"
|
||||
+#~ msgstr "%.1f Gio"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Speed"
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -9,17 +9,28 @@ SRC_URI = "\
|
||||
git://git@github.com/RPi-Distro/vlc;protocol=https;branch=buster-rpt \
|
||||
file://0001-configure-fix-linking-on-RISC-V-ISA.patch \
|
||||
file://0002-Revert-configure-Require-libmodplug-0.8.9.patch \
|
||||
file://0003-mmal_20.patch \
|
||||
file://0004-mmal_exit_fix.patch \
|
||||
file://0005-mmal_chain.patch \
|
||||
file://0006-Use-packageconfig-to-detect-mmal-support.patch \
|
||||
file://0007-use-vorbisidec.patch \
|
||||
file://0008-fix-luaL-checkint.patch \
|
||||
file://0009-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
|
||||
file://0010-fix-numeric_limits-is-not-a-member-of-std.patch \
|
||||
"
|
||||
file://0003-CVE-2022-41325.patch \
|
||||
file://0004-mmal_20.patch \
|
||||
file://0005-mmal_exit_fix.patch \
|
||||
file://0006-mmal_chain.patch \
|
||||
file://0007-armv6.patch \
|
||||
file://0008-configure-Disable-incompatible-function-pointer-type.patch \
|
||||
file://0009-demux-dash-include-cstdint-needed-for-uint64_t.patch \
|
||||
file://2001-fix-luaL-checkint.patch \
|
||||
file://2002-use-vorbisidec.patch \
|
||||
file://3001-configure.ac-setup-for-OE-usage.patch \
|
||||
file://3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
|
||||
file://3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch \
|
||||
file://3004-use-GLESv2-headers-over-GL-headers.patch \
|
||||
file://3005-modules-remove-glspectrum-usage.patch \
|
||||
file://3006-codec-omxil_core.h-fix-multiple-definition-of.patch \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://3007-remove-xorg-related-link-libs.patch', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'file://3008-vo-Makefile.am-exclude-libgl_plugin.patch', d)} \
|
||||
file://3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch \
|
||||
file://3010-po-Fix-typos-in-oc.po-for-gettext-compatibility.patch \
|
||||
"
|
||||
|
||||
SRCREV = "f7fd69f12a3b89d03768fa3bd468e8f33cd1dc7c"
|
||||
SRCREV = "b276eb0d7bc3213363e97dbb681ef7c927be6c73"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
@@ -37,24 +48,29 @@ EXTRA_OECONF = "\
|
||||
--enable-run-as-root \
|
||||
--enable-xvideo \
|
||||
--disable-lua \
|
||||
--disable-screen --disable-caca \
|
||||
--disable-screen \
|
||||
--disable-caca \
|
||||
--enable-vlm \
|
||||
--enable-tremor \
|
||||
--disable-aa --disable-faad \
|
||||
--disable-aa \
|
||||
--disable-faad \
|
||||
--enable-dbus \
|
||||
--without-contrib \
|
||||
--without-kde-solid \
|
||||
--enable-realrtsp \
|
||||
--disable-libtar \
|
||||
--enable-avcodec \
|
||||
"
|
||||
--disable-css \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ?= "\
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
|
||||
${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mmal', d)} \
|
||||
live555 dv1394 notify fontconfig fluidsynth freetype dvdread png udev \
|
||||
x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 gles2 \
|
||||
"
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)} \
|
||||
${@bb.utils.contains_any('DISTRO_FEATURES', 'x11', 'notify', '', d)} \
|
||||
live555 dv1394 fontconfig fluidsynth freetype png udev \
|
||||
x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
|
||||
PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
|
||||
@@ -65,13 +81,13 @@ PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${p
|
||||
PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
|
||||
PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
|
||||
PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
|
||||
PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
|
||||
#PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
|
||||
PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
|
||||
PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
|
||||
PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
|
||||
PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
|
||||
#PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
|
||||
PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
|
||||
PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
|
||||
#PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
|
||||
PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
|
||||
PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
|
||||
PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
|
||||
@@ -84,14 +100,14 @@ PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
|
||||
PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
|
||||
PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
|
||||
PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
|
||||
PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
|
||||
#PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
|
||||
PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
|
||||
PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
|
||||
PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
|
||||
PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
|
||||
PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
|
||||
PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
|
||||
#PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
|
||||
#PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
|
||||
PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
|
||||
PACKAGECONFIG[dca] = "--enable-dca,,"
|
||||
#PACKAGECONFIG[dca] = "--enable-dca,--disable-dca,libdca"
|
||||
PACKAGECONFIG[fribidi] = "--enable-fribidi,,fribidi"
|
||||
PACKAGECONFIG[gnutls] = "--enable-gnutls,,gnutls"
|
||||
PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,,fluidsynth"
|
||||
@@ -105,25 +121,15 @@ PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
|
||||
PACKAGECONFIG[sdl-image] = "--enable-sdl-image,,libsdl-image"
|
||||
PACKAGECONFIG[v4l2] = "--enable-v4l2,,v4l-utils"
|
||||
|
||||
# Workaround for modules/codec/omxil/omxil_core.h
|
||||
# multiple definition of `pf_enable_graphic_buffers'
|
||||
# multiple definition of `pf_get_graphic_buffer_usage'
|
||||
# multiple definition of `pf_get_hal_format'
|
||||
TARGET_CFLAGS:append = " -fcommon"
|
||||
TARGET_CXXFLAGS:append = " -fcommon"
|
||||
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
|
||||
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '-lGLESv2', '', d)}"
|
||||
|
||||
# Ensures the --enable-mmal-avcodec flag is available for usage
|
||||
do_configure:prepend() {
|
||||
olddir=`pwd`
|
||||
cd ${S}
|
||||
./bootstrap
|
||||
cd $olddir
|
||||
}
|
||||
|
||||
do_configure:append() {
|
||||
# https://forums.raspberrypi.com/viewtopic.php?p=1601535
|
||||
sed -i "/GLAPI void APIENTRY glShaderSource (/d" ${STAGING_INCDIR}/GL/glext.h
|
||||
#sed -i -e s:'${top_builddir_slash}libtool':'${top_builddir_slash}'${TARGET_SYS}-libtool:g ${B}/doltlibtool
|
||||
cd $olddir
|
||||
}
|
||||
|
||||
# This recipe packages vlc as a library as well, so qt4 dependencies
|
||||
@@ -140,20 +146,20 @@ FILES:${PN} += "\
|
||||
${datadir}/vlc \
|
||||
${datadir}/icons \
|
||||
${datadir}/metainfo/vlc.appdata.xml \
|
||||
"
|
||||
"
|
||||
|
||||
FILES:${PN}-dbg += "\
|
||||
${libdir}/vlc/*/.debug \
|
||||
${libdir}/vlc/plugins/*/.debug \
|
||||
"
|
||||
"
|
||||
|
||||
FILES:${PN}-staticdev += "\
|
||||
${libdir}/vlc/plugins/*/*.a \
|
||||
${libdir}/vlc/libcompat.a \
|
||||
"
|
||||
"
|
||||
|
||||
# Only enable it for rpi class of machines
|
||||
COMPATIBLE_HOST = "null"
|
||||
COMPATIBLE_HOST:rpi = "'(.*)'"
|
||||
COMPATIBLE_HOST:rpi = "(.*)"
|
||||
|
||||
INSANE_SKIP:${PN} = "dev-so"
|
||||
@@ -55,7 +55,7 @@ local_conf_header:
|
||||
STOPTASKS,${DL_DIR},1G,100K \
|
||||
STOPTASKS,${SSTATE_DIR},1G,100K \
|
||||
STOPTASKS,/tmp,100M,100K \
|
||||
ABORT,${TMPDIR},100M,1K \
|
||||
ABORT,${DL_DIR},100M,1K \
|
||||
ABORT,${SSTATE_DIR},100M,1K \
|
||||
ABORT,/tmp,10M,1K"
|
||||
HALT,${TMPDIR},100M,1K \
|
||||
HALT,${DL_DIR},100M,1K \
|
||||
HALT,${SSTATE_DIR},100M,1K \
|
||||
HALT,/tmp,10M,1K"
|
||||
|
||||
@@ -5,7 +5,16 @@ LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d
|
||||
|
||||
inherit deploy nopackages
|
||||
|
||||
include recipes-bsp/common/raspberrypi-firmware.inc
|
||||
RPIFW_DATE ?= "20250430"
|
||||
SRCREV = "bc7f439c234e19371115e07b57c366df59cc1bc7"
|
||||
SHORTREV = "${@d.getVar("SRCREV", False).__str__()[:7]}"
|
||||
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] = "2c027debbef53c86c9ff9197d056d501b95f6ad214ad4db00a8a59b947574eb1"
|
||||
|
||||
PV = "${RPIFW_DATE}"
|
||||
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
|
||||
|
||||
@@ -9,7 +9,9 @@ inherit deploy nopackages
|
||||
CMDLINE_DWC_OTG ?= "dwc_otg.lpm_enable=0"
|
||||
|
||||
CMDLINE_ROOT_FSTYPE ?= "rootfstype=ext4"
|
||||
CMDLINE_ROOTFS ?= "root=/dev/mmcblk0p2 ${CMDLINE_ROOT_FSTYPE} rootwait"
|
||||
CMDLINE_ROOT_PARTITION ?= "/dev/mmcblk0p2"
|
||||
|
||||
CMDLINE_ROOTFS ?= "root=${CMDLINE_ROOT_PARTITION} ${CMDLINE_ROOT_FSTYPE} rootwait"
|
||||
|
||||
CMDLINE_SERIAL ?= "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}"
|
||||
|
||||
@@ -44,6 +46,9 @@ CMDLINE_ISOL_CPUS ?= "${@setup_isolcpus(d)}"
|
||||
# if the MAC addresses are omitted, random values will be used
|
||||
CMDLINE_RNDIS ?= ""
|
||||
|
||||
# That allows to keep the traditional network interface names
|
||||
CMDLINE_IFNAMES ?= "net.ifnames=0"
|
||||
|
||||
CMDLINE = " \
|
||||
${CMDLINE_ISOL_CPUS} \
|
||||
${CMDLINE_DWC_OTG} \
|
||||
@@ -55,6 +60,7 @@ CMDLINE = " \
|
||||
${CMDLINE_PITFT} \
|
||||
${CMDLINE_DEBUG} \
|
||||
${CMDLINE_RNDIS} \
|
||||
${CMDLINE_IFNAMES} \
|
||||
"
|
||||
|
||||
do_compile() {
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
From ce27f7e22b2cd7453a425e08780a338a71301961 Mon Sep 17 00:00:00 2001
|
||||
From: Leon Anavi <leon.anavi@konsulko.com>
|
||||
Date: Mon, 20 Nov 2023 15:19:15 +0200
|
||||
Subject: [PATCH] config.txt: reintroduce start_x
|
||||
|
||||
Reintroduce configuration "start_x". Based on the experience with
|
||||
Yocto/OpenEmbedded layer meta-raspberrypi, it has been observed
|
||||
that Raspberry Pi 4B 4GB may fail to enable the camera if
|
||||
"start_x=1" is at the end of the file. Therefore, "start_x=1"
|
||||
is expected in config.txt template and it has been set to replace
|
||||
the original occurrence, which is at the middle of the file.
|
||||
Also update revision and date stamp.
|
||||
|
||||
GitHub pull request: https://github.com/Evilpaul/RPi-config/pull/8
|
||||
|
||||
Upstream-Status: Submitted
|
||||
|
||||
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
|
||||
---
|
||||
config.txt | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/config.txt b/config.txt
|
||||
index 1cf7b29..e28ed02 100644
|
||||
--- a/config.txt
|
||||
+++ b/config.txt
|
||||
@@ -1,7 +1,7 @@
|
||||
################################################################################
|
||||
## Raspberry Pi Configuration Settings
|
||||
##
|
||||
-## Revision 17, 2021/08/15
|
||||
+## Revision 18, 2023/11/20
|
||||
##
|
||||
## Details taken from the eLinux wiki and official Raspberry Pi documentation.
|
||||
## For up-to-date information please refer to links below.
|
||||
@@ -760,6 +760,16 @@
|
||||
## Camera Settings
|
||||
################################################################################
|
||||
|
||||
+## start_x
|
||||
+## Set to "1" to enable the camera module.
|
||||
+##
|
||||
+## Enabling the camera requires gpu_mem option to be specified with a value
|
||||
+## of at least 128.
|
||||
+##
|
||||
+## Default 0
|
||||
+##
|
||||
+#start_x=0
|
||||
+
|
||||
## disable_camera_led
|
||||
## Turn off the red camera led when recording video or taking a still
|
||||
## picture.
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -7,8 +7,9 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
|
||||
|
||||
COMPATIBLE_MACHINE = "^rpi$"
|
||||
|
||||
SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
|
||||
SRCREV = "6ac2d832c6c3b208e2669f50ec1abf2c20cb7ff4"
|
||||
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=https;branch=master \
|
||||
file://0001-config.txt-reintroduce-start_x.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
@@ -29,6 +30,8 @@ GPIO_IR ?= "18"
|
||||
GPIO_IR_TX ?= "17"
|
||||
|
||||
CAN_OSCILLATOR ?= "16000000"
|
||||
CAN0_INTERRUPT_PIN ?= "25"
|
||||
CAN1_INTERRUPT_PIN ?= "24"
|
||||
|
||||
ENABLE_UART ??= ""
|
||||
|
||||
@@ -178,13 +181,27 @@ do_deploy() {
|
||||
fi
|
||||
|
||||
# UART support
|
||||
if [ "${ENABLE_UART}" = "1" ] || [ "${ENABLE_UART}" = "0" ] ; then
|
||||
if [ "${ENABLE_UART}" = "1" ] || [ "${ENABLE_UART}" = "0" ]; then
|
||||
echo "# Enable UART" >>$CONFIG
|
||||
echo "enable_uart=${ENABLE_UART}" >>$CONFIG
|
||||
elif [ -n "${ENABLE_UART}" ]; then
|
||||
bbfatal "Invalid value for ENABLE_UART [${ENABLE_UART}]. The value for ENABLE_UART can be 0 or 1."
|
||||
fi
|
||||
|
||||
# U-Boot requires "enable_uart=1" for various boards to operate correctly
|
||||
# cf https://source.denx.de/u-boot/u-boot/-/blob/v2023.04/arch/arm/mach-bcm283x/Kconfig?ref_type=tags#L65
|
||||
if [ "${RPI_USE_U_BOOT}" = "1" ] && [ "${ENABLE_UART}" != "1" ]; then
|
||||
case "${UBOOT_MACHINE}" in
|
||||
rpi_0_w_defconfig|rpi_3_32b_config|rpi_4_32b_config|rpi_arm64_config)
|
||||
if [ "${ENABLE_UART}" = "0" ]; then
|
||||
bbfatal "Invalid configuration: RPI_USE_U_BOOT requires to enable the UART in config.txt for ${MACHINE}"
|
||||
fi
|
||||
echo "# U-Boot requires UART" >>$CONFIG
|
||||
echo "enable_uart=1" >>$CONFIG
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Infrared support
|
||||
if [ "${ENABLE_IR}" = "1" ]; then
|
||||
echo "# Enable infrared" >>$CONFIG
|
||||
@@ -210,6 +227,12 @@ do_deploy() {
|
||||
# echo "dtoverlay=imx477" >> $CONFIG
|
||||
#fi
|
||||
|
||||
# Choose Camera Sensor to be used, default imx708 sensor
|
||||
if [ "${RASPBERRYPI_CAMERA_V3}" = "1" ]; then
|
||||
echo "# Enable Sony RaspberryPi Camera(imx708)" >> $CONFIG
|
||||
echo "dtoverlay=imx708" >> $CONFIG
|
||||
fi
|
||||
|
||||
# Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm)
|
||||
if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then
|
||||
echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> $CONFIG
|
||||
@@ -247,12 +270,12 @@ do_deploy() {
|
||||
# ENABLE DUAL CAN
|
||||
if [ "${ENABLE_DUAL_CAN}" = "1" ]; then
|
||||
echo "# Enable DUAL CAN" >>$CONFIG
|
||||
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>$CONFIG
|
||||
echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=24" >>$CONFIG
|
||||
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=${CAN0_INTERRUPT_PIN}" >>$CONFIG
|
||||
echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=${CAN1_INTERRUPT_PIN}" >>$CONFIG
|
||||
# ENABLE CAN
|
||||
elif [ "${ENABLE_CAN}" = "1" ]; then
|
||||
echo "# Enable CAN" >>$CONFIG
|
||||
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>$CONFIG
|
||||
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=${CAN0_INTERRUPT_PIN}" >>$CONFIG
|
||||
fi
|
||||
|
||||
|
||||
@@ -296,6 +319,13 @@ do_deploy() {
|
||||
echo "# Enable One-Wire Interface" >> $CONFIG
|
||||
echo "dtoverlay=w1-gpio" >> $CONFIG
|
||||
fi
|
||||
|
||||
# Reduce config.txt file size to avoid corruption and
|
||||
# to boot successfully Raspberry Pi 5. The issue has
|
||||
# been reported to related projects:
|
||||
# https://github.com/raspberrypi/firmware/issues/1848
|
||||
# https://github.com/Evilpaul/RPi-config/issues/9
|
||||
sed -i '/^##/d' $CONFIG
|
||||
}
|
||||
|
||||
do_deploy:append:raspberrypi3-64() {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
RPIFW_DATE ?= "20220830"
|
||||
RPIFW_DATE ?= "20230509~buster"
|
||||
|
||||
RPIFW_SRC_URI ?= "https://archive.raspberrypi.com/debian/pool/main/r/raspberrypi-firmware/raspberrypi-firmware_1.${RPIFW_DATE}.orig.tar.xz"
|
||||
RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-1.${RPIFW_DATE}"
|
||||
|
||||
SRC_URI = "${RPIFW_SRC_URI}"
|
||||
SRC_URI[sha256sum] = "2b27e4b3c4d2664a0a1d0dd8602bd80ea41dd006eb0ad9c67d7b659c9c8bb4e5"
|
||||
SRC_URI[sha256sum] = "1d9eb83111826b708f461101766fd2000d45f1c171ad573936d000f623ca8098"
|
||||
|
||||
PV = "${RPIFW_DATE}"
|
||||
|
||||
69
recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb
Normal file
69
recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb
Normal file
@@ -0,0 +1,69 @@
|
||||
SUMMARY = "Installation scripts and binaries for the Raspberry Pi 4 EEPROM"
|
||||
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=a6c5149578a16272119f3f9c13d6549b"
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/raspberrypi/rpi-eeprom.git;protocol=https;branch=master \
|
||||
"
|
||||
|
||||
SRCREV = "1bd0a1052b2e74d7af04de18d30b5edb12d8a423"
|
||||
PV = "v2025.03.10-2712"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
coreutils \
|
||||
python3 \
|
||||
python3-pycryptodomex \
|
||||
openssl \
|
||||
xxd \
|
||||
pciutils \
|
||||
"
|
||||
|
||||
inherit python3native
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
|
||||
# install executables
|
||||
install -m 0755 ${S}/tools/vl805 ${D}${bindir}
|
||||
install -m 0755 ${S}/rpi-eeprom-update ${D}${bindir}
|
||||
install -m 0755 ${S}/rpi-eeprom-config ${D}${bindir}
|
||||
install -m 0755 ${S}/rpi-eeprom-digest ${D}${bindir}
|
||||
|
||||
# copy firmware files
|
||||
install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default
|
||||
install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest
|
||||
install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default
|
||||
install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest
|
||||
|
||||
install -m 644 ${S}/firmware-2711/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default
|
||||
install -m 644 ${S}/firmware-2711/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest
|
||||
install -m 644 ${S}/firmware-2712/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default
|
||||
install -m 644 ${S}/firmware-2712/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest
|
||||
|
||||
ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/critical
|
||||
ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/stable
|
||||
ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/beta
|
||||
ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/critical
|
||||
ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/stable
|
||||
ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/beta
|
||||
|
||||
# copy default config
|
||||
install -d ${D}${sysconfdir}/default
|
||||
install -D ${S}/rpi-eeprom-update-default ${D}${sysconfdir}/default/rpi-eeprom-update
|
||||
}
|
||||
|
||||
FILES:${PN} += "${base_libdir}/firmware/raspberrypi/bootloader-*"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
# vl805 tool sources are not available (yet), as it comes as a precompiled
|
||||
# binary only. It has ARM architecture whereas target machine is Aarch64. We
|
||||
# need to disable arch check for it otherwise it cannot packed.
|
||||
QAPATHTEST[arch] = ""
|
||||
|
||||
COMPATIBLE_MACHINE = "raspberrypi4|raspberrypi4-64|raspberrypi5"
|
||||
@@ -1,4 +1,4 @@
|
||||
fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs
|
||||
fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
|
||||
if test ! -e mmc 0:1 uboot.env; then saveenv; fi;
|
||||
fatload @@BOOT_MEDIA@@ 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
|
||||
if test ! -e @@BOOT_MEDIA@@ 0:1 uboot.env; then saveenv; fi;
|
||||
@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}
|
||||
|
||||
@@ -9,9 +9,12 @@ INHIBIT_DEFAULT_DEPS = "1"
|
||||
|
||||
SRC_URI = "file://boot.cmd.in"
|
||||
|
||||
BOOT_MEDIA ?= "mmc"
|
||||
|
||||
do_compile() {
|
||||
sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
|
||||
-e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
|
||||
-e 's/@@BOOT_MEDIA@@/${BOOT_MEDIA}/' \
|
||||
"${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
|
||||
mkimage -A ${UBOOT_ARCH} -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com>
|
||||
Cc: C?dric Schieli <cschieli@gmail.com>
|
||||
Cc: Matthias Brugger <mbrugger@suse.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
board/raspberrypi/rpi/rpi.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
|
||||
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"
|
||||
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
From b4f2b77472aeb967d3a7595e8a965785c7a37c87 Mon Sep 17 00:00:00 2001
|
||||
From 8e8321cd597d3d9d342a8a3533ad10751dde5885 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.org>
|
||||
Date: Tue, 16 Feb 2016 16:40:46 +0000
|
||||
Subject: [PATCH 1/4] bcm43xx: Add bcm43xx-3wire variant
|
||||
Subject: [PATCH] bcm43xx: Add bcm43xx-3wire variant
|
||||
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
tools/hciattach.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/tools/hciattach.c b/tools/hciattach.c
|
||||
index 59a76a7..5861d33 100644
|
||||
index 276a4e56e..7d01d8b74 100644
|
||||
--- a/tools/hciattach.c
|
||||
+++ b/tools/hciattach.c
|
||||
@@ -1144,6 +1144,9 @@ struct uart_t uart[] = {
|
||||
@@ -1078,6 +1078,9 @@ struct uart_t uart[] = {
|
||||
{ "bcm43xx", 0x0000, 0x0000, HCI_UART_H4, 115200, 3000000,
|
||||
FLOW_CTL, DISABLE_PM, NULL, bcm43xx, NULL },
|
||||
|
||||
@@ -21,6 +23,3 @@ index 59a76a7..5861d33 100644
|
||||
{ "ath3k", 0x0000, 0x0000, HCI_UART_ATH3K, 115200, 115200,
|
||||
FLOW_CTL, DISABLE_PM, NULL, ath3k_ps, ath3k_pm },
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
From e145c9621f976063e5c573db1f2053d906f63427 Mon Sep 17 00:00:00 2001
|
||||
From 96e5e5eef04c6c4ae83d4d822a536cfa87605ae2 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.org>
|
||||
Date: Tue, 16 Feb 2016 16:39:09 +0000
|
||||
Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware download
|
||||
Subject: [PATCH] bcm43xx: The UART speed must be reset after the firmware
|
||||
download
|
||||
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
tools/hciattach_bcm43xx.c | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
|
||||
index 81f38cb..0b792e0 100644
|
||||
index b89fc1b50..de01a6aea 100644
|
||||
--- a/tools/hciattach_bcm43xx.c
|
||||
+++ b/tools/hciattach_bcm43xx.c
|
||||
@@ -366,11 +366,8 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
|
||||
@@ -350,11 +350,8 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
|
||||
return -1;
|
||||
|
||||
if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) {
|
||||
@@ -24,7 +27,7 @@ index 81f38cb..0b792e0 100644
|
||||
if (bcm43xx_load_firmware(fd, fw_path))
|
||||
return -1;
|
||||
|
||||
@@ -380,6 +377,7 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
|
||||
@@ -364,6 +361,7 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -32,6 +35,3 @@ index 81f38cb..0b792e0 100644
|
||||
if (bcm43xx_reset(fd))
|
||||
return -1;
|
||||
}
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
From d41dc2046dd08d8c95197f677e224506f5b39bdd Mon Sep 17 00:00:00 2001
|
||||
From 05c3e145b5aa62e7e759932ea99f94d495b651c3 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.org>
|
||||
Date: Wed, 20 Jan 2016 16:00:37 +0000
|
||||
Subject: [PATCH 3/4] Increase firmware load timeout to 30s
|
||||
Subject: [PATCH] Increase firmware load timeout to 30s
|
||||
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
tools/hciattach.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/hciattach.c b/tools/hciattach.c
|
||||
index 5861d33..4141796 100644
|
||||
index 7d01d8b74..465bb17dd 100644
|
||||
--- a/tools/hciattach.c
|
||||
+++ b/tools/hciattach.c
|
||||
@@ -1293,7 +1293,7 @@ int main(int argc, char *argv[])
|
||||
@@ -1227,7 +1227,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
struct uart_t *u = NULL;
|
||||
int detach, printpid, raw, opt, i, n, ld, err;
|
||||
@@ -20,6 +22,3 @@ index 5861d33..4141796 100644
|
||||
int init_speed = 0;
|
||||
int send_break = 0;
|
||||
pid_t pid;
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From 76681284b0ea49852041fdb97a35175089a08781 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.org>
|
||||
Date: Tue, 23 Feb 2016 17:52:29 +0000
|
||||
Subject: [PATCH 4/4] Move the 43xx firmware into /lib/firmware
|
||||
|
||||
---
|
||||
tools/hciattach_bcm43xx.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
|
||||
index 0b792e0..207f668 100644
|
||||
--- a/tools/hciattach_bcm43xx.c
|
||||
+++ b/tools/hciattach_bcm43xx.c
|
||||
@@ -43,7 +43,7 @@
|
||||
#include "hciattach.h"
|
||||
|
||||
#ifndef FIRMWARE_DIR
|
||||
-#define FIRMWARE_DIR "/etc/firmware"
|
||||
+#define FIRMWARE_DIR "/lib/firmware"
|
||||
#endif
|
||||
|
||||
#define FW_EXT ".hcd"
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 744f894e42d05b1dee917cc221ed3c1815990459 Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.org>
|
||||
Date: Tue, 23 Feb 2016 17:52:29 +0000
|
||||
Subject: [PATCH] Move the hciattach firmware into /lib/firmware
|
||||
|
||||
* FIRMWARE_DIR is now used by all hciattach firmware (not just bcm43xx) since 5.66 with:
|
||||
commit d9253248363b995e44c1f5e393ed1c7aa4ec81ce
|
||||
Author: Marek Vasut <marex@denx.de>
|
||||
Date: Tue Nov 1 12:53:33 2022 +0100
|
||||
Subject: tools: Make hciattach_* firmware path build-time configurable
|
||||
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
tools/hciattach.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tools/hciattach.h b/tools/hciattach.h
|
||||
index dfa4c1e7a..e88484766 100644
|
||||
--- a/tools/hciattach.h
|
||||
+++ b/tools/hciattach.h
|
||||
@@ -41,7 +41,7 @@
|
||||
#define HCI_UART_VND_DETECT 5
|
||||
|
||||
#ifndef FIRMWARE_DIR
|
||||
-#define FIRMWARE_DIR "/etc/firmware"
|
||||
+#define FIRMWARE_DIR "/lib/firmware"
|
||||
#endif
|
||||
|
||||
int read_hci_event(int fd, unsigned char *buf, int size);
|
||||
@@ -4,7 +4,7 @@ SRC_URI:append:rpi = "\
|
||||
file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
|
||||
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
|
||||
file://0003-Increase-firmware-load-timeout-to-30s.patch \
|
||||
file://0004-Move-the-43xx-firmware-into-lib-firmware.patch \
|
||||
file://0004-Move-the-hciattach-firmware-into-lib-firmware.patch \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN}:append:rpi = " pi-bluetooth"
|
||||
|
||||
@@ -3,7 +3,7 @@ From: "Peter A. Bigot" <pab@pabigot.com>
|
||||
Date: Wed, 14 Nov 2018 09:19:51 -0600
|
||||
Subject: [PATCH] bthelper: correct path for hciconfig under Yocto
|
||||
|
||||
Upstream-Status: Inapproprate [OE-specific]
|
||||
Upstream-Status: Inappropriate [OE-specific]
|
||||
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
|
||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
||||
|
||||
|
||||
4
recipes-core/psplash/files/framebuf.conf
Normal file
4
recipes-core/psplash/files/framebuf.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
[Unit]
|
||||
Requires=sys-devices-platform-gpu-graphics-fb0.device
|
||||
After=sys-devices-platform-gpu-graphics-fb0.device
|
||||
|
||||
@@ -1,2 +1,12 @@
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
SPLASH_IMAGES:rpi = "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
|
||||
|
||||
SRC_URI:append:rpi = " file://framebuf.conf"
|
||||
|
||||
do_install:append:rpi() {
|
||||
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then
|
||||
install -Dm 0644 ${WORKDIR}/framebuf.conf ${D}${systemd_system_unitdir}/psplash-start.service.d/framebuf.conf
|
||||
fi
|
||||
}
|
||||
|
||||
FILES:${PN}:append:rpi = " ${systemd_system_unitdir}/psplash-start.service.d"
|
||||
|
||||
@@ -3,16 +3,17 @@ LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||
|
||||
SRC_URI = " \
|
||||
file://99-com.rules \
|
||||
git://github.com/RPi-Distro/raspberrypi-sys-mods;protocol=https;branch=master \
|
||||
file://can.rules \
|
||||
"
|
||||
SRCREV = "5ce3ef2b7f377c23fea440ca9df0e30f3f8447cf"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${WORKDIR}/99-com.rules ${D}${sysconfdir}/udev/rules.d/
|
||||
install -m 0644 ${S}/etc.armhf/udev/rules.d/99-com.rules ${D}${sysconfdir}/udev/rules.d/
|
||||
install -m 0644 ${WORKDIR}/can.rules ${D}${sysconfdir}/udev/rules.d/
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
|
||||
ALIASES=/proc/device-tree/aliases; \
|
||||
if cmp -s $$ALIASES/uart0 $$ALIASES/serial0; then \
|
||||
echo 0;\
|
||||
elif cmp -s $$ALIASES/uart0 $$ALIASES/serial1; then \
|
||||
echo 1; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi\
|
||||
'", SYMLINK+="serial%c"
|
||||
|
||||
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
|
||||
ALIASES=/proc/device-tree/aliases; \
|
||||
if cmp -s $$ALIASES/uart1 $$ALIASES/serial0; then \
|
||||
echo 0; \
|
||||
elif cmp -s $$ALIASES/uart1 $$ALIASES/serial1; then \
|
||||
echo 1; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi \
|
||||
'", SYMLINK+="serial%c"
|
||||
@@ -12,8 +12,7 @@ COMPATIBLE_MACHINE = "^rpi$"
|
||||
|
||||
SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
|
||||
|
||||
SRC_URI[md5sum] = "9bd2d39bf4b3a9e81dce799ca51c826a"
|
||||
SRC_URI[sha256sum] = "564920d205977d7e2846e434947708455d468d3a952feca9faef643abd03a227"
|
||||
SRC_URI[sha256sum] = "e67a986462618988a5a86752e36e3ebdd7c5cae66940ff7330aea243b2762525"
|
||||
|
||||
inherit autotools
|
||||
|
||||
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
|
||||
@@ -1,2 +1,3 @@
|
||||
# mesa-demos need libgles1 and userland driver does not have it
|
||||
COMPATIBLE_HOST:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '(.*)', 'null', d)}"
|
||||
# mesa-demos userland driver doesn't provide libgles1 and the EGL headers it provides break the mesa-demos build.
|
||||
# And enabling the `wayland` option without enabling `egl` is useless.
|
||||
PACKAGECONFIG:remove:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'egl gles1 wayland', d)}"
|
||||
|
||||
@@ -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"
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] gitignore: add archives from lib directory
|
||||
|
||||
The build creates two *.a files in the lib directory, add these to .gitignore.
|
||||
|
||||
Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Upstream-Status: Submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||
---
|
||||
.gitignore | 1 +
|
||||
|
||||
@@ -3,7 +3,7 @@ From: Trevor Woerner <twoerner@gmail.com>
|
||||
Date: Fri, 4 Dec 2020 01:54:37 -0500
|
||||
Subject: [PATCH] add "install" targets to Makefiles
|
||||
|
||||
Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Upstream-Status: Submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||
---
|
||||
Makefile | 3 +++
|
||||
|
||||
@@ -10,7 +10,7 @@ I get a build error saying:
|
||||
Therefore switch to the more common and more generic "pkg-config" instead of
|
||||
using a libpng-specific tool for flags and libraries.
|
||||
|
||||
Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Upstream-Status: Submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||
---
|
||||
game/Makefile | 4 ++--
|
||||
|
||||
@@ -9,7 +9,7 @@ I end up with link errors of the type:
|
||||
|
||||
Which is caused by not having -lvchostif in the link.
|
||||
|
||||
Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Upstream-Status: Submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||
---
|
||||
game/Makefile | 2 +-
|
||||
|
||||
@@ -10,7 +10,7 @@ linking so that it succeeds. Otherwise I get errors like the following:
|
||||
|
||||
...as well as undefined references to various other libpng objects.
|
||||
|
||||
Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Upstream-Status: Submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||
---
|
||||
game/Makefile | 2 +-
|
||||
|
||||
@@ -3,7 +3,7 @@ From: Trevor Woerner <twoerner@gmail.com>
|
||||
Date: Fri, 4 Dec 2020 03:47:17 -0500
|
||||
Subject: [PATCH] game/Makefile: install sample png files
|
||||
|
||||
Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Upstream-Status: Submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||
---
|
||||
game/Makefile | 2 ++
|
||||
|
||||
@@ -16,7 +16,7 @@ To build simply invoke 'make' with or without a -j option.
|
||||
To install simply invoke: make TARGET=install
|
||||
To clean simply invoke: make TARGET=clean
|
||||
|
||||
Upstream-status: submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Upstream-Status: Submitted [https://github.com/AndrewFromMelbourne/raspidmx/pull/29]
|
||||
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
|
||||
---
|
||||
Makefile | 19 +++++++------------
|
||||
|
||||
@@ -7,6 +7,8 @@ This patch adds provisions in userland to
|
||||
let apps callers set the next rendereing dispmanx resource.
|
||||
It's useful for implementing, say, a buffer carousel.
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
interface/khronos/common/khrn_client_rpc.h | 2 ++
|
||||
interface/khronos/common/khrn_int_ids.h | 2 ++
|
||||
interface/khronos/egl/egl_client.c | 30 +++++++++++++++++++---
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user