mirror of
https://github.com/agherzan/meta-raspberrypi.git
synced 2025-12-06 06:19:11 +00:00
Compare commits
210 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd677051d1 | ||
|
|
5240b5c200 | ||
|
|
8767e2ff80 | ||
|
|
4d53165cbe | ||
|
|
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 | ||
|
|
93dadf336c | ||
|
|
de9bfd04d5 | ||
|
|
150d442a9b | ||
|
|
a305f4804b | ||
|
|
722c51647c | ||
|
|
fc5f80a47e | ||
|
|
c573499166 | ||
|
|
757d88af9f | ||
|
|
acb2f73e58 | ||
|
|
5edbd17c5b | ||
|
|
d3cdc30958 | ||
|
|
45d56d82b7 | ||
|
|
80441d263d | ||
|
|
f38baedb86 | ||
|
|
2f43edae00 | ||
|
|
fe96a4511f | ||
|
|
10b649bdb0 | ||
|
|
f24c3bdc3c | ||
|
|
063ac5c919 | ||
|
|
1440ac8589 | ||
|
|
4b9c0dd543 | ||
|
|
1b598573be | ||
|
|
e9d70d6b77 | ||
|
|
9ea5daf9fc | ||
|
|
465c8106ff | ||
|
|
8f88bfa824 | ||
|
|
ba965e3b67 | ||
|
|
c57b464b88 | ||
|
|
b6a1645a97 | ||
|
|
9a65a5cc18 | ||
|
|
3bef4f04cc | ||
|
|
d9ea8f66d9 | ||
|
|
0ffe5110ec | ||
|
|
7c31b9b4b5 | ||
|
|
1b4215d5d0 | ||
|
|
3122d5291d | ||
|
|
263920a672 | ||
|
|
8f8b8c9fee | ||
|
|
73142a23e4 | ||
|
|
18a11f59b8 | ||
|
|
38776890b7 | ||
|
|
a087707b1f | ||
|
|
444f83221c | ||
|
|
356c0afee9 | ||
|
|
4ede22cb67 | ||
|
|
3337b532eb | ||
|
|
70191d3c87 | ||
|
|
05cafd056a | ||
|
|
584785bf45 | ||
|
|
1a15fefb27 | ||
|
|
260b3b97d0 | ||
|
|
62a84833d9 | ||
|
|
a5c2bef10e | ||
|
|
90448d7dd3 | ||
|
|
6afb32b00e | ||
|
|
c97a9e34ab |
7
.github/CODE_OF_CONDUCT.md
vendored
Normal file
7
.github/CODE_OF_CONDUCT.md
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
This project has adopted the [Contributor
|
||||||
|
Covenant](https://www.contributor-covenant.org/). For details, see the full
|
||||||
|
text [here](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
|
||||||
|
For more information, additional questions or comments contact the project's
|
||||||
|
maintainers.
|
||||||
4
.github/actions/docker-build/action.yml
vendored
4
.github/actions/docker-build/action.yml
vendored
@@ -17,7 +17,7 @@ runs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Build the ${{ inputs.docker_image }} docker image
|
- name: Build the ${{ inputs.docker_image }} docker image
|
||||||
shell: bash
|
shell: bash
|
||||||
# We run this unconditinally even if the change doesn't touch the
|
# We run this unconditionally even if the change doesn't touch the
|
||||||
# relevant docker files because there is a chance that another PR (or
|
# relevant docker files because there is a chance that another PR (or
|
||||||
# something else) rebuilt the local image. For example if the first
|
# something else) rebuilt the local image. For example if the first
|
||||||
# version of the PR included change for the relevant docker image but a
|
# version of the PR included change for the relevant docker image but a
|
||||||
@@ -32,7 +32,7 @@ runs:
|
|||||||
n=1
|
n=1
|
||||||
until [ "$n" -gt "$tries" ]; do
|
until [ "$n" -gt "$tries" ]; do
|
||||||
echo "Building the docker image ${{ inputs.docker_image }}-${{ inputs.id }}... try $n..."
|
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
|
# This can fail if a dangling images cleaning job runs in
|
||||||
# parallel. So we try this a couple of times to minimize
|
# parallel. So we try this a couple of times to minimize
|
||||||
# conflict. This is because while building, docker creates a
|
# conflict. This is because while building, docker creates a
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
cancel-redundant-workflows:
|
cancel-redundant-workflows:
|
||||||
runs-on: [self-hosted, Linux]
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: styfle/cancel-workflow-action@0.9.1
|
- uses: styfle/cancel-workflow-action@0.10.0
|
||||||
with:
|
with:
|
||||||
all_but_latest: true
|
all_but_latest: true
|
||||||
workflow_id: ${{ github.event.workflow.id }}
|
workflow_id: ${{ github.event.workflow.id }}
|
||||||
|
|||||||
12
.github/workflows/compliance.yml
vendored
12
.github/workflows/compliance.yml
vendored
@@ -10,10 +10,10 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
dco:
|
dco:
|
||||||
name: DCO
|
name: DCO
|
||||||
runs-on: [self-hosted, Linux]
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the code
|
- name: Checkout the code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Build a temporary DCO image
|
- name: Build a temporary DCO image
|
||||||
@@ -23,7 +23,9 @@ jobs:
|
|||||||
id: ${{ github.event.number }}
|
id: ${{ github.event.number }}
|
||||||
- name: Do DCO check
|
- name: Do DCO check
|
||||||
run: |
|
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" \
|
--env "BASE_REF=$GITHUB_BASE_REF" \
|
||||||
"dco-check-${{ github.event.number }}"
|
"dco-check-${{ github.event.number }}"
|
||||||
- name: Cleanup temporary docker image
|
- name: Cleanup temporary docker image
|
||||||
@@ -36,10 +38,10 @@ jobs:
|
|||||||
if: always()
|
if: always()
|
||||||
reuse:
|
reuse:
|
||||||
name: reuse
|
name: reuse
|
||||||
runs-on: [self-hosted, Linux]
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the code
|
- name: Checkout the code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Do reuse check
|
- name: Do reuse check
|
||||||
|
|||||||
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:
|
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
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -16,6 +16,14 @@ GIT_REPO_PATH="/work"
|
|||||||
[ -d "$GIT_REPO_PATH/.git" ] ||
|
[ -d "$GIT_REPO_PATH/.git" ] ||
|
||||||
error "Can't find a git checkout under $GIT_REPO_PATH ."
|
error "Can't find a git checkout under $GIT_REPO_PATH ."
|
||||||
cd "$GIT_REPO_PATH"
|
cd "$GIT_REPO_PATH"
|
||||||
|
|
||||||
|
# The GitHub runner user and the container user might differ making git error
|
||||||
|
# out with:
|
||||||
|
# error: fatal: detected dubious ownership in repository at '/work'
|
||||||
|
# Avoid this as the security risk is minimum here while guarding the git hooks
|
||||||
|
# via PRs.
|
||||||
|
git config --global --add safe.directory /work
|
||||||
|
|
||||||
dco-check \
|
dco-check \
|
||||||
--verbose \
|
--verbose \
|
||||||
--default-branch "origin/$BASE_REF"
|
--default-branch "origin/$BASE_REF"
|
||||||
|
|||||||
@@ -2,20 +2,21 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
FROM ubuntu:20.04
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND="noninteractive"
|
ARG DEBIAN_FRONTEND="noninteractive"
|
||||||
RUN apt-get update -qq
|
RUN apt-get update -q -y
|
||||||
RUN apt-get install -y eatmydata
|
RUN apt-get install -y eatmydata
|
||||||
|
|
||||||
# Yocto/OE build host dependencies
|
# Yocto/OE build host dependencies
|
||||||
# Keep this in sync with
|
# 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 \
|
RUN eatmydata apt-get install -qq -y \
|
||||||
gawk wget git diffstat unzip texinfo gcc build-essential chrpath \
|
build-essential chrpath cpio debianutils diffstat file gawk gcc \
|
||||||
socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \
|
git iputils-ping libacl1 liblz4-tool locales python3 python3-git \
|
||||||
iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
|
python3-jinja2 python3-pexpect python3-pip python3-subunit socat \
|
||||||
pylint3 xterm python3-subunit mesa-common-dev zstd liblz4-tool
|
texinfo unzip wget xz-utils zstd
|
||||||
|
|
||||||
# en_US.UTF-8 is required by the build system
|
# en_US.UTF-8 is required by the build system
|
||||||
RUN eatmydata apt-get install -qq -y locales \
|
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 \
|
RUN echo "dash dash/sh boolean false" | debconf-set-selections \
|
||||||
&& dpkg-reconfigure dash
|
&& 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 under normal user called 'ci'
|
||||||
RUN useradd --create-home --uid 1000 --shell /usr/bin/bash ci
|
RUN useradd --create-home --uid 1000 --shell /usr/bin/bash ci
|
||||||
USER ci
|
USER ci
|
||||||
|
|||||||
@@ -42,10 +42,13 @@ printf "\n# ------ ci ------\n" >> conf/local.conf
|
|||||||
cat <<EOCONF >>conf/local.conf
|
cat <<EOCONF >>conf/local.conf
|
||||||
BB_NUMBER_THREADS = "6"
|
BB_NUMBER_THREADS = "6"
|
||||||
PARALLEL_MAKE = "-j 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"
|
VIRTUAL-RUNTIME_init_manager = "systemd"
|
||||||
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
|
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
|
||||||
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
|
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
|
||||||
|
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
|
||||||
EOCONF
|
EOCONF
|
||||||
|
|
||||||
# Add the BSP layer
|
# Add the BSP layer
|
||||||
|
|||||||
12
.github/workflows/mirror.yml
vendored
12
.github/workflows/mirror.yml
vendored
@@ -12,11 +12,11 @@ concurrency:
|
|||||||
jobs:
|
jobs:
|
||||||
yocto-mirror:
|
yocto-mirror:
|
||||||
name: Yocto Git Mirror
|
name: Yocto Git Mirror
|
||||||
runs-on: [self-hosted, Linux]
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: agherzan/git-mirror-me-action@v1.0.0
|
- uses: agherzan/git-mirror-me-action@11f54c7186724daafbe5303b5075954f1a19a63e
|
||||||
env:
|
env:
|
||||||
SSH_PRIVATE_KEY: ${{ secrets.YOCTO_META_RASPBERRYPI_SSH_PRIVATE_KEY }}
|
GMM_SSH_PRIVATE_KEY: ${{ secrets.YOCTO_META_RASPBERRYPI_SSH_PRIVATE_KEY }}
|
||||||
SSH_KNOWN_HOSTS: ${{ secrets.YOCTO_META_RASPBERRYPI_SSH_KNOWN_HOSTS }}
|
GMM_SSH_KNOWN_HOSTS: ${{ secrets.YOCTO_META_RASPBERRYPI_SSH_KNOWN_HOSTS }}
|
||||||
with:
|
GMM_DST_REPO: "ssh://git@push.yoctoproject.org/meta-raspberrypi"
|
||||||
destination-repository: "git@push.yoctoproject.org:meta-raspberrypi"
|
GMM_DEBUG: "1"
|
||||||
|
|||||||
33
.github/workflows/yocto-builds.yml
vendored
33
.github/workflows/yocto-builds.yml
vendored
@@ -2,6 +2,8 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
name: Builds
|
name: Builds
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -23,28 +25,49 @@ jobs:
|
|||||||
- raspberrypi3
|
- raspberrypi3
|
||||||
- raspberrypi4-64
|
- raspberrypi4-64
|
||||||
- raspberrypi4
|
- raspberrypi4
|
||||||
|
- raspberrypi5
|
||||||
- raspberrypi-cm3
|
- raspberrypi-cm3
|
||||||
- raspberrypi-cm
|
- raspberrypi-cm
|
||||||
|
- raspberrypi-armv7
|
||||||
|
- raspberrypi-armv8
|
||||||
image: [rpi-test-image]
|
image: [rpi-test-image]
|
||||||
distro: [poky]
|
distro: [poky]
|
||||||
runs-on: [self-hosted, Linux]
|
runs-on: [self-hosted, Linux]
|
||||||
name: ${{ matrix.machine }}/${{ matrix.image }}/poky/systemd
|
name: ${{ matrix.machine }}/${{ matrix.image }}/poky/systemd
|
||||||
env:
|
env:
|
||||||
DL_DIR: /var/lib/ci/yocto/downloads
|
DL_DIR: /var/lib/ci/yocto/downloads
|
||||||
SSTATE_DIR: /var/lib/ci/yocto/sstate
|
SSTATE_DIR: /var/lib/ci/yocto/sstate
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the code
|
- name: Checkout the code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
- name: Define Yocto build files
|
||||||
|
id: changed-files-specific
|
||||||
|
uses: tj-actions/changed-files@v24
|
||||||
|
with:
|
||||||
|
files: |
|
||||||
|
.github/actions/**
|
||||||
|
.github/workflows/docker-images/yocto-builder/**
|
||||||
|
.github/workflows/docker-images/*.sh
|
||||||
|
.github/workflows/yocto-builds.yml
|
||||||
|
classes/**
|
||||||
|
conf/**
|
||||||
|
dynamic-layers/**
|
||||||
|
files/**
|
||||||
|
lib/**
|
||||||
|
recipes-**
|
||||||
|
wic/**
|
||||||
- name: Build a temporary yocto-builder image
|
- name: Build a temporary yocto-builder image
|
||||||
uses: ./.github/actions/docker-build
|
uses: ./.github/actions/docker-build
|
||||||
with:
|
with:
|
||||||
docker_image: yocto-builder
|
docker_image: yocto-builder
|
||||||
id: ${{ github.event.number }}
|
id: ${{ github.event.number }}
|
||||||
|
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||||
- name: Build the image
|
- name: Build the image
|
||||||
run: |
|
run: |
|
||||||
docker run --rm \
|
docker run --rm --security-opt apparmor=unconfined \
|
||||||
|
--security-opt seccomp=unconfined \
|
||||||
-v "$GITHUB_WORKSPACE:/work:ro" \
|
-v "$GITHUB_WORKSPACE:/work:ro" \
|
||||||
-v "$DL_DIR:$DL_DIR:rw" \
|
-v "$DL_DIR:$DL_DIR:rw" \
|
||||||
-v "$SSTATE_DIR:$SSTATE_DIR:rw" \
|
-v "$SSTATE_DIR:$SSTATE_DIR:rw" \
|
||||||
@@ -54,8 +77,10 @@ jobs:
|
|||||||
--env "IMAGE=${{ matrix.image }}" \
|
--env "IMAGE=${{ matrix.image }}" \
|
||||||
--env "DL_DIR=$DL_DIR" \
|
--env "DL_DIR=$DL_DIR" \
|
||||||
--env "SSTATE_DIR=$SSTATE_DIR" \
|
--env "SSTATE_DIR=$SSTATE_DIR" \
|
||||||
|
--ulimit "nofile=1024:1048576" \
|
||||||
"yocto-builder-${{ github.event.number }}" \
|
"yocto-builder-${{ github.event.number }}" \
|
||||||
/entrypoint-build.sh
|
/entrypoint-build.sh
|
||||||
|
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||||
- name: Cleanup temporary docker image
|
- name: Cleanup temporary docker image
|
||||||
uses: ./.github/actions/docker-clean-image
|
uses: ./.github/actions/docker-clean-image
|
||||||
with:
|
with:
|
||||||
|
|||||||
67
.github/workflows/yocto-layer.yml
vendored
67
.github/workflows/yocto-layer.yml
vendored
@@ -2,6 +2,8 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
name: Yocto Compatible
|
name: Yocto Compatible
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -12,26 +14,45 @@ jobs:
|
|||||||
name: Validate with yocto-check-layer
|
name: Validate with yocto-check-layer
|
||||||
runs-on: [self-hosted, Linux]
|
runs-on: [self-hosted, Linux]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the code
|
- name: Checkout the code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Build a temporary yocto-builder image
|
- name: Define Yocto build files
|
||||||
uses: ./.github/actions/docker-build
|
id: changed-files-specific
|
||||||
with:
|
uses: tj-actions/changed-files@v24
|
||||||
docker_image: yocto-builder
|
with:
|
||||||
id: ${{ github.event.number }}
|
files: |
|
||||||
- name: Run yocto-check-layer
|
.github/actions/**
|
||||||
run: |
|
.github/workflows/docker-images/yocto-builder/**
|
||||||
docker run --rm -v "$GITHUB_WORKSPACE:/work:ro" \
|
.github/workflows/docker-images/*.sh
|
||||||
--env "BASE_REF=$GITHUB_BASE_REF" \
|
.github/workflows/yocto-builds.yml
|
||||||
"yocto-builder-${{ github.event.number }}" \
|
classes/**
|
||||||
/entrypoint-yocto-check-layer.sh
|
conf/**
|
||||||
- name: Cleanup temporary docker image
|
dynamic-layers/**
|
||||||
uses: ./.github/actions/docker-clean-image
|
files/**
|
||||||
with:
|
lib/**
|
||||||
docker_image: yocto-builder-${{ github.event.number }}
|
recipes-**
|
||||||
if: always()
|
wic/**
|
||||||
- name: Cleanup dangling docker images
|
- name: Build a temporary yocto-builder image
|
||||||
uses: ./.github/actions/docker-clean-dangling
|
uses: ./.github/actions/docker-build
|
||||||
if: always()
|
with:
|
||||||
|
docker_image: yocto-builder
|
||||||
|
id: ${{ github.event.number }}
|
||||||
|
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||||
|
- name: Run yocto-check-layer
|
||||||
|
run: |
|
||||||
|
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
|
||||||
|
if: steps.changed-files-specific.outputs.any_changed == 'true'
|
||||||
|
- name: Cleanup temporary docker image
|
||||||
|
uses: ./.github/actions/docker-clean-image
|
||||||
|
with:
|
||||||
|
docker_image: yocto-builder-${{ github.event.number }}
|
||||||
|
if: always()
|
||||||
|
- name: Cleanup dangling docker images
|
||||||
|
uses: ./.github/actions/docker-clean-dangling
|
||||||
|
if: always()
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
version: 2
|
version: 2
|
||||||
|
|
||||||
|
sphinx:
|
||||||
|
configuration: docs/conf.py
|
||||||
|
build:
|
||||||
|
os: ubuntu-22.04
|
||||||
|
tools:
|
||||||
|
python: "3.7"
|
||||||
python:
|
python:
|
||||||
version: "3.7"
|
|
||||||
install:
|
install:
|
||||||
- requirements: docs/requirements.txt
|
- requirements: docs/requirements.txt
|
||||||
|
|||||||
25
README.md
25
README.md
@@ -5,9 +5,22 @@ Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>.
|
|||||||
[](https://meta-raspberrypi.readthedocs.io/en/latest/?badge=latest)
|
[](https://meta-raspberrypi.readthedocs.io/en/latest/?badge=latest)
|
||||||
[](https://matrix.to/#/#meta-raspberrypi:matrix.org)
|
[](https://matrix.to/#/#meta-raspberrypi:matrix.org)
|
||||||
|
|
||||||
| | |
|
<table border="0" rules="none">
|
||||||
|:-: | :-: |
|
<tr border="0">
|
||||||
| Build server sponsored by | [balena.io](https://www.balena.io/) |
|
<td width="140" height="100" align="center">
|
||||||
|
<br />
|
||||||
|
<a href="https://www.yoctoproject.org/ecosystem/branding/">
|
||||||
|
<img alt="Yocto Project Layer Compatible" src="img/LF_17_02_Yocto-Badge-Update_Compatible_Final_Blank.png">
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td width="150" height="100" align="center">
|
||||||
|
Sponsored by:<br />
|
||||||
|
<a href="https://balena.io">
|
||||||
|
<img alt="balena.io" src="img/balena.png">
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
## Quick links
|
## Quick links
|
||||||
|
|
||||||
@@ -31,6 +44,12 @@ OpenEmbedded/Yocto distributions and layer stacks, such as:
|
|||||||
* Yoe Disto (Video and Camera Products).
|
* Yoe Disto (Video and Camera Products).
|
||||||
* Yocto/Poky (main focus of testing).
|
* Yocto/Poky (main focus of testing).
|
||||||
|
|
||||||
|
## Yocto Project Compatible Layer
|
||||||
|
|
||||||
|
This layer is officially approved as part of the `Yocto Project Compatible
|
||||||
|
Layers Program`. You can find details of that on the official Yocto Project
|
||||||
|
[website](https://www.yoctoproject.org/software-overview/layers/?searchTerm=meta-raspberrypi).
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
This layer depends on:
|
This layer depends on:
|
||||||
|
|||||||
@@ -25,11 +25,6 @@ inherit image_types
|
|||||||
# This image depends on the rootfs image
|
# This image depends on the rootfs image
|
||||||
IMAGE_TYPEDEP:rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
|
IMAGE_TYPEDEP:rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
|
||||||
|
|
||||||
# Kernel image name
|
|
||||||
SDIMG_KERNELIMAGE:raspberrypi ?= "kernel.img"
|
|
||||||
SDIMG_KERNELIMAGE:raspberrypi2 ?= "kernel7.img"
|
|
||||||
SDIMG_KERNELIMAGE:raspberrypi3-64 ?= "kernel8.img"
|
|
||||||
|
|
||||||
# Boot partition volume id
|
# Boot partition volume id
|
||||||
# Shorten raspberrypi to just rpi to keep it under 11 characters
|
# Shorten raspberrypi to just rpi to keep it under 11 characters
|
||||||
# now enforced by mkfs.vfat from dosfstools-4.2
|
# now enforced by mkfs.vfat from dosfstools-4.2
|
||||||
@@ -65,7 +60,7 @@ do_image_rpi_sdimg[depends] = " \
|
|||||||
do_image_rpi_sdimg[recrdeps] = "do_build"
|
do_image_rpi_sdimg[recrdeps] = "do_build"
|
||||||
|
|
||||||
# SD card image name
|
# 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.
|
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
|
||||||
FATPAYLOAD ?= ""
|
FATPAYLOAD ?= ""
|
||||||
|
|||||||
@@ -9,8 +9,11 @@ BBFILE_COLLECTIONS += "raspberrypi"
|
|||||||
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
|
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
|
||||||
BBFILE_PRIORITY_raspberrypi = "9"
|
BBFILE_PRIORITY_raspberrypi = "9"
|
||||||
|
|
||||||
LAYERSERIES_COMPAT_raspberrypi = "kirkstone"
|
LAYERSERIES_COMPAT_raspberrypi = "nanbield scarthgap"
|
||||||
LAYERDEPENDS_raspberrypi = "core"
|
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.
|
# Additional license directories.
|
||||||
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
|
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
|||||||
overlays/overlay_map.dtb \
|
overlays/overlay_map.dtb \
|
||||||
overlays/at86rf233.dtbo \
|
overlays/at86rf233.dtbo \
|
||||||
overlays/disable-bt.dtbo \
|
overlays/disable-bt.dtbo \
|
||||||
|
overlays/disable-wifi.dtbo \
|
||||||
overlays/dwc2.dtbo \
|
overlays/dwc2.dtbo \
|
||||||
overlays/gpio-ir.dtbo \
|
overlays/gpio-ir.dtbo \
|
||||||
overlays/gpio-ir-tx.dtbo \
|
overlays/gpio-ir-tx.dtbo \
|
||||||
@@ -25,8 +26,16 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
|||||||
overlays/gpio-poweroff.dtbo \
|
overlays/gpio-poweroff.dtbo \
|
||||||
overlays/gpio-shutdown.dtbo \
|
overlays/gpio-shutdown.dtbo \
|
||||||
overlays/hifiberry-amp.dtbo \
|
overlays/hifiberry-amp.dtbo \
|
||||||
|
overlays/hifiberry-amp100.dtbo \
|
||||||
|
overlays/hifiberry-amp3.dtbo \
|
||||||
|
overlays/hifiberry-amp4pro.dtbo \
|
||||||
overlays/hifiberry-dac.dtbo \
|
overlays/hifiberry-dac.dtbo \
|
||||||
overlays/hifiberry-dacplus.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/hifiberry-digi.dtbo \
|
||||||
overlays/justboom-both.dtbo \
|
overlays/justboom-both.dtbo \
|
||||||
overlays/justboom-dac.dtbo \
|
overlays/justboom-dac.dtbo \
|
||||||
@@ -35,6 +44,7 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
|||||||
overlays/i2c-rtc.dtbo \
|
overlays/i2c-rtc.dtbo \
|
||||||
overlays/imx219.dtbo \
|
overlays/imx219.dtbo \
|
||||||
overlays/imx477.dtbo \
|
overlays/imx477.dtbo \
|
||||||
|
overlays/imx708.dtbo \
|
||||||
overlays/iqaudio-dac.dtbo \
|
overlays/iqaudio-dac.dtbo \
|
||||||
overlays/iqaudio-dacplus.dtbo \
|
overlays/iqaudio-dacplus.dtbo \
|
||||||
overlays/mcp2515-can0.dtbo \
|
overlays/mcp2515-can0.dtbo \
|
||||||
@@ -48,31 +58,50 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \
|
|||||||
overlays/pps-gpio.dtbo \
|
overlays/pps-gpio.dtbo \
|
||||||
overlays/rpi-ft5406.dtbo \
|
overlays/rpi-ft5406.dtbo \
|
||||||
overlays/rpi-poe.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.dtbo \
|
||||||
overlays/vc4-fkms-v3d-pi4.dtbo \
|
overlays/vc4-fkms-v3d-pi4.dtbo \
|
||||||
overlays/vc4-kms-v3d.dtbo \
|
overlays/vc4-kms-v3d.dtbo \
|
||||||
overlays/vc4-kms-v3d-pi4.dtbo \
|
overlays/vc4-kms-v3d-pi4.dtbo \
|
||||||
|
overlays/vc4-kms-v3d-pi5.dtbo \
|
||||||
overlays/vc4-kms-dsi-7inch.dtbo \
|
overlays/vc4-kms-dsi-7inch.dtbo \
|
||||||
|
overlays/vc4-kms-dsi-ili9881-7inch.dtbo \
|
||||||
|
overlays/vc4-kms-dsi-ili9881-5inch.dtbo \
|
||||||
|
overlays/rpi-backlight.dtbo \
|
||||||
overlays/w1-gpio.dtbo \
|
overlays/w1-gpio.dtbo \
|
||||||
overlays/w1-gpio-pullup.dtbo \
|
overlays/w1-gpio-pullup.dtbo \
|
||||||
|
overlays/w1-gpio-pi5.dtbo \
|
||||||
overlays/wm8960-soundcard.dtbo \
|
overlays/wm8960-soundcard.dtbo \
|
||||||
|
overlays/bcm2712d0.dtbo \
|
||||||
"
|
"
|
||||||
|
|
||||||
RPI_KERNEL_DEVICETREE ?= " \
|
RPI_KERNEL_DEVICETREE ?= " \
|
||||||
bcm2708-rpi-zero.dtb \
|
broadcom/bcm2708-rpi-zero.dtb \
|
||||||
bcm2708-rpi-zero-w.dtb \
|
broadcom/bcm2708-rpi-zero-w.dtb \
|
||||||
bcm2708-rpi-b.dtb \
|
broadcom/bcm2708-rpi-b.dtb \
|
||||||
bcm2708-rpi-b-rev1.dtb \
|
broadcom/bcm2708-rpi-b-rev1.dtb \
|
||||||
bcm2708-rpi-b-plus.dtb \
|
broadcom/bcm2708-rpi-b-plus.dtb \
|
||||||
bcm2709-rpi-2-b.dtb \
|
broadcom/bcm2709-rpi-2-b.dtb \
|
||||||
bcm2710-rpi-2-b.dtb \
|
broadcom/bcm2710-rpi-2-b.dtb \
|
||||||
bcm2710-rpi-3-b.dtb \
|
broadcom/bcm2710-rpi-3-b.dtb \
|
||||||
bcm2710-rpi-3-b-plus.dtb \
|
broadcom/bcm2710-rpi-3-b-plus.dtb \
|
||||||
bcm2711-rpi-4-b.dtb \
|
broadcom/bcm2710-rpi-zero-2.dtb \
|
||||||
bcm2711-rpi-400.dtb \
|
broadcom/bcm2711-rpi-4-b.dtb \
|
||||||
bcm2708-rpi-cm.dtb \
|
broadcom/bcm2711-rpi-400.dtb \
|
||||||
bcm2710-rpi-cm3.dtb \
|
broadcom/bcm2708-rpi-cm.dtb \
|
||||||
bcm2711-rpi-cm4.dtb \
|
broadcom/bcm2710-rpi-cm3.dtb \
|
||||||
|
broadcom/bcm2711-rpi-cm4.dtb \
|
||||||
|
broadcom/bcm2711-rpi-cm4s.dtb \
|
||||||
"
|
"
|
||||||
|
|
||||||
KERNEL_DEVICETREE ??= " \
|
KERNEL_DEVICETREE ??= " \
|
||||||
@@ -109,14 +138,15 @@ SERIAL_CONSOLES_CHECK ??= "${SERIAL_CONSOLES}"
|
|||||||
# This variable is referred to by recipes fetching / generating the files.
|
# This variable is referred to by recipes fetching / generating the files.
|
||||||
BOOTFILES_DIR_NAME ?= "bootfiles"
|
BOOTFILES_DIR_NAME ?= "bootfiles"
|
||||||
|
|
||||||
# Set Raspberrypi splash image
|
|
||||||
SPLASH ?= "psplash-raspberrypi"
|
|
||||||
|
|
||||||
def make_dtb_boot_files(d):
|
def make_dtb_boot_files(d):
|
||||||
# Generate IMAGE_BOOT_FILES entries for device tree files listed in
|
# Generate IMAGE_BOOT_FILES entries for device tree files listed in
|
||||||
# KERNEL_DEVICETREE.
|
# KERNEL_DEVICETREE.
|
||||||
alldtbs = d.getVar('KERNEL_DEVICETREE')
|
alldtbs = d.getVar('KERNEL_DEVICETREE')
|
||||||
|
|
||||||
|
# DTBs may be built out of kernel with devicetree.bbclass
|
||||||
|
if not alldtbs:
|
||||||
|
return ''
|
||||||
|
|
||||||
def transform(dtb):
|
def transform(dtb):
|
||||||
base = os.path.basename(dtb)
|
base = os.path.basename(dtb)
|
||||||
if dtb.endswith('dtbo') or base == 'overlay_map.dtb':
|
if dtb.endswith('dtbo') or base == 'overlay_map.dtb':
|
||||||
@@ -133,14 +163,21 @@ def make_dtb_boot_files(d):
|
|||||||
|
|
||||||
return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
|
return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
|
||||||
|
|
||||||
|
RPI_EXTRA_IMAGE_BOOT_FILES ?= " \
|
||||||
|
${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
|
||||||
|
'${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
|
||||||
|
'${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
|
||||||
|
"
|
||||||
|
|
||||||
IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \
|
IMAGE_BOOT_FILES ?= "${BOOTFILES_DIR_NAME}/* \
|
||||||
${@make_dtb_boot_files(d)} \
|
${@make_dtb_boot_files(d)} \
|
||||||
${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
|
${RPI_EXTRA_IMAGE_BOOT_FILES} \
|
||||||
'${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
|
|
||||||
'${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
|
EXTRA_IMAGEDEPENDS += "rpi-bootfiles"
|
||||||
|
|
||||||
do_image_wic[depends] += " \
|
do_image_wic[depends] += " \
|
||||||
|
virtual/kernel:do_deploy \
|
||||||
rpi-bootfiles:do_deploy \
|
rpi-bootfiles:do_deploy \
|
||||||
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
|
${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
|
||||||
"
|
"
|
||||||
|
|||||||
@@ -7,6 +7,10 @@ PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES",
|
|||||||
PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
||||||
PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
||||||
PREFERRED_PROVIDER_virtual/libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
|
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_jpeg ?= "jpeg"
|
||||||
|
|
||||||
PREFERRED_PROVIDER_virtual/libomxil ?= "userland"
|
PREFERRED_PROVIDER_virtual/libomxil ?= "userland"
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
# RaspberryPi BSP default versions
|
# 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}"
|
||||||
|
|||||||
39
conf/machine/raspberrypi-armv7.conf
Normal file
39
conf/machine/raspberrypi-armv7.conf
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
#@TYPE: Machine
|
||||||
|
#@NAME: RaspberryPi Development Boards (32bit)
|
||||||
|
#@DESCRIPTION: Machine configuration for the RaspberryPi boards in 32 bit mode
|
||||||
|
|
||||||
|
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
|
||||||
|
require conf/machine/include/arm/armv7a/tune-cortexa7.inc
|
||||||
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
|
# This machine includes by default the kernel for v7l. We hook in support for
|
||||||
|
# v7.
|
||||||
|
RASPBERRYPI_v7_KERNEL = "linux-raspberrypi-v7"
|
||||||
|
RASPBERRYPI_v7_KERNEL_PACKAGE_NAME = "kernel-v7"
|
||||||
|
RASPBERRYPI_v7_KERNEL_FILE ?= "kernel7.img"
|
||||||
|
# We don't need a lot for v7l because it is the default provider,
|
||||||
|
# virtual/kernel.
|
||||||
|
RASPBERRYPI_v7l_KERNEL_FILE ?= "kernel7l.img"
|
||||||
|
|
||||||
|
MACHINE_FEATURES += "pci"
|
||||||
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
|
linux-firmware-rpidistro-bcm43430 \
|
||||||
|
linux-firmware-rpidistro-bcm43436 \
|
||||||
|
linux-firmware-rpidistro-bcm43436s \
|
||||||
|
linux-firmware-rpidistro-bcm43455 \
|
||||||
|
linux-firmware-rpidistro-bcm43456 \
|
||||||
|
bluez-firmware-rpidistro-bcm43430a1-hcd \
|
||||||
|
bluez-firmware-rpidistro-bcm43430b0-hcd \
|
||||||
|
bluez-firmware-rpidistro-bcm4345c0-hcd \
|
||||||
|
bluez-firmware-rpidistro-bcm4345c5-hcd \
|
||||||
|
"
|
||||||
|
|
||||||
|
# FIXME: This machine doesn't support u-boot (yet)
|
||||||
|
RPI_EXTRA_IMAGE_BOOT_FILES = " \
|
||||||
|
${KERNEL_IMAGETYPE};${RASPBERRYPI_v7l_KERNEL_FILE} \
|
||||||
|
${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}/${KERNEL_IMAGETYPE};${RASPBERRYPI_v7_KERNEL_FILE} \
|
||||||
|
"
|
||||||
49
conf/machine/raspberrypi-armv8.conf
Normal file
49
conf/machine/raspberrypi-armv8.conf
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# SPDX-FileCopyrightText: Andrei Gherzan <andrei.gherzan@huawei.com>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
#@TYPE: Machine
|
||||||
|
#@NAME: RaspberryPi Development Boards (64bit)
|
||||||
|
#@DESCRIPTION: Machine configuration for the RaspberryPi boards in 64 bit mode
|
||||||
|
|
||||||
|
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
|
||||||
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
|
MACHINE_FEATURES += "pci"
|
||||||
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
|
linux-firmware-rpidistro-bcm43430 \
|
||||||
|
linux-firmware-rpidistro-bcm43455 \
|
||||||
|
linux-firmware-rpidistro-bcm43456 \
|
||||||
|
linux-firmware-rpidistro-bcm43436 \
|
||||||
|
linux-firmware-rpidistro-bcm43436s \
|
||||||
|
bluez-firmware-rpidistro-bcm43430a1-hcd \
|
||||||
|
bluez-firmware-rpidistro-bcm43430b0-hcd \
|
||||||
|
bluez-firmware-rpidistro-bcm4345c0-hcd \
|
||||||
|
bluez-firmware-rpidistro-bcm4345c5-hcd \
|
||||||
|
"
|
||||||
|
|
||||||
|
RPI_KERNEL_DEVICETREE = " \
|
||||||
|
broadcom/bcm2710-rpi-3-b.dtb \
|
||||||
|
broadcom/bcm2710-rpi-3-b-plus.dtb \
|
||||||
|
broadcom/bcm2837-rpi-3-b.dtb \
|
||||||
|
broadcom/bcm2710-rpi-cm3.dtb \
|
||||||
|
broadcom/bcm2710-rpi-zero-2.dtb \
|
||||||
|
broadcom/bcm2711-rpi-4-b.dtb \
|
||||||
|
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"
|
||||||
|
KERNEL_IMAGETYPE_UBOOT ?= "Image"
|
||||||
|
KERNEL_IMAGETYPE_DIRECT ?= "Image"
|
||||||
|
KERNEL_BOOTCMD ?= "booti"
|
||||||
|
UBOOT_MACHINE = "rpi_arm64_config"
|
||||||
|
SERIAL_CONSOLES ?= "115200;ttyS0"
|
||||||
|
|
||||||
|
VC4DTBO ?= "vc4-fkms-v3d"
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
#@NAME: RaspberryPi Compute Module (CM1)
|
#@NAME: RaspberryPi Compute Module (CM1)
|
||||||
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1)
|
#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1)
|
||||||
|
|
||||||
MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
|
MACHINEOVERRIDES =. "raspberrypi:"
|
||||||
include conf/machine/raspberrypi.conf
|
include conf/machine/raspberrypi.conf
|
||||||
|
|
||||||
ARMSTUB ?= "armstub.bin"
|
ARMSTUB ?= "armstub.bin"
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ DEFAULTTUNE ?= "arm1176jzfshf"
|
|||||||
require conf/machine/include/tune-arm1176jzf-s.inc
|
require conf/machine/include/tune-arm1176jzf-s.inc
|
||||||
include conf/machine/include/rpi-base.inc
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
|
SDIMG_KERNELIMAGE ?= "kernel.img"
|
||||||
|
UBOOT_MACHINE = "rpi_config"
|
||||||
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||||
|
|
||||||
UBOOT_MACHINE = "rpi_config"
|
|
||||||
|
|
||||||
ARMSTUB ?= "armstub.bin"
|
ARMSTUB ?= "armstub.bin"
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
#@NAME: RaspberryPi0 2 Wifi Development Board
|
#@NAME: RaspberryPi0 2 Wifi Development Board
|
||||||
#@DESCRIPTION: Machine configuration for the RaspberryPi0 2 Wifi in 64 bits mode
|
#@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 += "\
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
linux-firmware-rpidistro-bcm43436 \
|
linux-firmware-rpidistro-bcm43436 \
|
||||||
|
|||||||
@@ -2,16 +2,12 @@
|
|||||||
#@NAME: RaspberryPi0 2 Wifi Development Board
|
#@NAME: RaspberryPi0 2 Wifi Development Board
|
||||||
#@DESCRIPTION: Machine configuration for the RaspberryPi0 2 Wifi in 32 bits mode
|
#@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 += "\
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
linux-firmware-rpidistro-bcm43436 \
|
linux-firmware-rpidistro-bcm43436 \
|
||||||
linux-firmware-rpidistro-bcm43436s \
|
linux-firmware-rpidistro-bcm43436s \
|
||||||
bluez-firmware-rpidistro-bcm43430b0-hcd \
|
bluez-firmware-rpidistro-bcm43430b0-hcd \
|
||||||
"
|
"
|
||||||
|
|
||||||
RPI_KERNEL_DEVICETREE = " \
|
|
||||||
bcm2710-rpi-zero-2.dtb \
|
|
||||||
"
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#@NAME: RaspberryPi Zero Development Board
|
#@NAME: RaspberryPi Zero Development Board
|
||||||
#@DESCRIPTION: Machine configuration for the RaspberryPi Zero board (https://www.raspberrypi.org/blog/raspberry-pi-zero)
|
#@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
|
include conf/machine/raspberrypi.conf
|
||||||
|
|
||||||
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
|
|||||||
require conf/machine/include/arm/armv7a/tune-cortexa7.inc
|
require conf/machine/include/arm/armv7a/tune-cortexa7.inc
|
||||||
include conf/machine/include/rpi-base.inc
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
|
SDIMG_KERNELIMAGE ?= "kernel7.img"
|
||||||
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
SERIAL_CONSOLES ?= "115200;ttyAMA0"
|
||||||
|
|
||||||
UBOOT_MACHINE = "rpi_2_config"
|
UBOOT_MACHINE = "rpi_2_config"
|
||||||
|
|
||||||
ARMSTUB ?= "armstub7.bin"
|
ARMSTUB ?= "armstub7.bin"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#@NAME: RaspberryPi 3 Development Board
|
#@NAME: RaspberryPi 3 Development Board
|
||||||
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
|
#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
|
||||||
|
|
||||||
MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
|
MACHINEOVERRIDES =. "raspberrypi3:"
|
||||||
|
|
||||||
MACHINE_EXTRA_RRECOMMENDS += "\
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
linux-firmware-rpidistro-bcm43430 \
|
linux-firmware-rpidistro-bcm43430 \
|
||||||
@@ -21,16 +21,15 @@ RPI_KERNEL_DEVICETREE = " \
|
|||||||
broadcom/bcm2710-rpi-cm3.dtb \
|
broadcom/bcm2710-rpi-cm3.dtb \
|
||||||
"
|
"
|
||||||
|
|
||||||
SERIAL_CONSOLES ?= "115200;ttyS0"
|
SDIMG_KERNELIMAGE ?= "kernel8.img"
|
||||||
|
|
||||||
UBOOT_MACHINE = "rpi_arm64_config"
|
|
||||||
|
|
||||||
# When u-boot is enabled we need to use the "Image" format and the "booti"
|
# When u-boot is enabled we need to use the "Image" format and the "booti"
|
||||||
# command to load the kernel
|
# command to load the kernel
|
||||||
KERNEL_IMAGETYPE_UBOOT ?= "Image"
|
KERNEL_IMAGETYPE_UBOOT ?= "Image"
|
||||||
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
|
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
|
||||||
KERNEL_IMAGETYPE_DIRECT ?= "Image"
|
KERNEL_IMAGETYPE_DIRECT ?= "Image"
|
||||||
KERNEL_BOOTCMD ?= "booti"
|
KERNEL_BOOTCMD ?= "booti"
|
||||||
|
UBOOT_MACHINE = "rpi_arm64_config"
|
||||||
|
SERIAL_CONSOLES ?= "115200;ttyS0"
|
||||||
|
|
||||||
VC4DTBO ?= "vc4-fkms-v3d"
|
VC4DTBO ?= "vc4-fkms-v3d"
|
||||||
ARMSTUB ?= "armstub8.bin"
|
ARMSTUB ?= "armstub8.bin"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#@NAME: RaspberryPi 4 Development Board (64bit)
|
#@NAME: RaspberryPi 4 Development Board (64bit)
|
||||||
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
|
#@DESCRIPTION: Machine configuration for the RaspberryPi 4 in 64 bits mode
|
||||||
|
|
||||||
MACHINEOVERRIDES = "raspberrypi4:${MACHINE}"
|
MACHINEOVERRIDES =. "raspberrypi4:"
|
||||||
|
|
||||||
MACHINE_FEATURES += "pci"
|
MACHINE_FEATURES += "pci"
|
||||||
MACHINE_EXTRA_RRECOMMENDS += "\
|
MACHINE_EXTRA_RRECOMMENDS += "\
|
||||||
@@ -12,8 +12,6 @@ MACHINE_EXTRA_RRECOMMENDS += "\
|
|||||||
bluez-firmware-rpidistro-bcm4345c5-hcd \
|
bluez-firmware-rpidistro-bcm4345c5-hcd \
|
||||||
"
|
"
|
||||||
|
|
||||||
DEFAULTTUNE = "cortexa72"
|
|
||||||
|
|
||||||
require conf/machine/include/arm/armv8a/tune-cortexa72.inc
|
require conf/machine/include/arm/armv8a/tune-cortexa72.inc
|
||||||
include conf/machine/include/rpi-base.inc
|
include conf/machine/include/rpi-base.inc
|
||||||
|
|
||||||
@@ -21,6 +19,7 @@ RPI_KERNEL_DEVICETREE = " \
|
|||||||
broadcom/bcm2711-rpi-4-b.dtb \
|
broadcom/bcm2711-rpi-4-b.dtb \
|
||||||
broadcom/bcm2711-rpi-400.dtb \
|
broadcom/bcm2711-rpi-400.dtb \
|
||||||
broadcom/bcm2711-rpi-cm4.dtb \
|
broadcom/bcm2711-rpi-cm4.dtb \
|
||||||
|
broadcom/bcm2711-rpi-cm4s.dtb \
|
||||||
"
|
"
|
||||||
|
|
||||||
SDIMG_KERNELIMAGE ?= "kernel8.img"
|
SDIMG_KERNELIMAGE ?= "kernel8.img"
|
||||||
|
|||||||
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
|
# Add any Sphinx extension module names here, as strings. They can be
|
||||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||||
# ones.
|
# ones.
|
||||||
extensions = ['myst_parser']
|
extensions = [
|
||||||
|
'myst_parser',
|
||||||
|
'sphinx_rtd_theme'
|
||||||
|
]
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
@@ -121,6 +124,7 @@ todo_include_todos = False
|
|||||||
# a list of builtin themes.
|
# a list of builtin themes.
|
||||||
#
|
#
|
||||||
# html_theme = 'alabaster'
|
# html_theme = 'alabaster'
|
||||||
|
html_theme = "sphinx_rtd_theme"
|
||||||
|
|
||||||
# Theme options are theme-specific and customize the look and feel of a 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
|
# 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 = "0"
|
||||||
BOOT_DELAY_MS = "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
|
## Set overclocking options
|
||||||
|
|
||||||
The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo
|
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
|
be overridden to select the exact kernel image type (eg. zImage) and u-boot
|
||||||
command (eg. bootz) to be used.
|
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
|
## Image with Initramfs
|
||||||
|
|
||||||
To build an initramfs image:
|
To build an initramfs image:
|
||||||
@@ -170,7 +196,7 @@ To build an initramfs image:
|
|||||||
- `INITRAMFS_IMAGE_BUNDLE = "1"`
|
- `INITRAMFS_IMAGE_BUNDLE = "1"`
|
||||||
- `BOOT_SPACE = "1073741"`
|
- `BOOT_SPACE = "1073741"`
|
||||||
- `INITRAMFS_MAXSIZE = "315400"`
|
- `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
|
## 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"
|
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:
|
Tested modules:
|
||||||
|
|
||||||
* PiCAN2 (16 MHz crystal): <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html>
|
* PiCAN2 (16 MHz crystal): <http://skpang.co.uk/catalog/pican2-canbus-board-for-raspberry-pi-23-p-1475.html>
|
||||||
@@ -350,6 +383,20 @@ to `1` or enabled `PiTFT` support, or otherwise want to use another pin, use
|
|||||||
|
|
||||||
GPIO_SHUTDOWN_PIN = "25"
|
GPIO_SHUTDOWN_PIN = "25"
|
||||||
|
|
||||||
|
## Enable One-Wire Interface
|
||||||
|
|
||||||
|
One-wire is a single-wire communication bus typically used to connect sensors
|
||||||
|
to the RaspberryPi. The Raspberry Pi supports one-wire on any GPIO pin, but
|
||||||
|
the default is GPIO 4. To enable the one-wire interface explicitly set it in
|
||||||
|
`local.conf`
|
||||||
|
|
||||||
|
ENABLE_W1 = "1"
|
||||||
|
|
||||||
|
Once discovery is complete you can list the devices that your Raspberry Pi has
|
||||||
|
discovered via all 1-Wire busses check the interface with this command
|
||||||
|
|
||||||
|
`ls /sys/bus/w1/devices/`
|
||||||
|
|
||||||
## Manual additions to config.txt
|
## Manual additions to config.txt
|
||||||
|
|
||||||
The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to
|
The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to
|
||||||
@@ -365,39 +412,43 @@ option:
|
|||||||
# Raspberry Pi 7\" display/touch screen \n \
|
# Raspberry Pi 7\" display/touch screen \n \
|
||||||
lcd_rotate=2 \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.
|
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"
|
RASPBERRYPI_CAMERA_V2 = "1"
|
||||||
|
|
||||||
This will add the device tree overlays imx219 ( RaspberryPi Camera sensor V2 driver ) to config.txt.
|
This will add the device tree overlay imx219 ( Raspberry Pi Camera Module V2 sensor driver
|
||||||
Also, this will enable adding Contiguous Memory Allocation value in the cmdline.txt.
|
) to config.txt. Also, this will enable adding Contiguous Memory Allocation value in the
|
||||||
|
cmdline.txt.
|
||||||
|
|
||||||
Ref.:
|
Similarly, the Raspberry Pi Camera Module v3 also has to be explicitly enabled in local.conf.
|
||||||
* <https://github.com/raspberrypi/documentation/blob/master/linux/software/libcamera/README.md>
|
|
||||||
|
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/>
|
* <https://www.raspberrypi.org/blog/an-open-source-camera-stack-for-raspberry-pi-using-libcamera/>
|
||||||
|
|
||||||
## WM8960 soundcard support
|
## WM8960 soundcard support
|
||||||
|
|
||||||
Support for WM8960 based sound cards such as the WM8960 Hi-Fi Sound Card HAT for Raspberry Pi from Waveshare, and ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio, can be enabled in `local.conf`
|
Support for WM8960 based sound cards such as the WM8960 Hi-Fi Sound Card HAT for Raspberry Pi from Waveshare, and ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio, can be enabled in `local.conf`
|
||||||
|
|
||||||
```conf
|
|
||||||
MACHINE_FEATURES += "wm8960"
|
MACHINE_FEATURES += "wm8960"
|
||||||
```
|
|
||||||
|
|
||||||
You may need to adjust volume and toggle switches that are off by default
|
You may need to adjust volume and toggle switches that are off by default
|
||||||
|
|
||||||
```bash
|
|
||||||
amixer -c1 sset 'Headphone',0 80%,80%
|
amixer -c1 sset 'Headphone',0 80%,80%
|
||||||
amixer -c1 sset 'Speaker',0 80%,80%
|
amixer -c1 sset 'Speaker',0 80%,80%
|
||||||
amixer -c1 sset 'Left Input Mixer Boost' toggle
|
amixer -c1 sset 'Left Input Mixer Boost' toggle
|
||||||
amixer -c1 sset 'Left Output Mixer PCM' toggle
|
amixer -c1 sset 'Left Output Mixer PCM' toggle
|
||||||
amixer -c1 sset 'Right Input Mixer Boost' toggle
|
amixer -c1 sset 'Right Input Mixer Boost' toggle
|
||||||
amixer -c1 sset 'Right Output Mixer PCM' toggle
|
amixer -c1 sset 'Right Output Mixer PCM' toggle
|
||||||
```
|
|
||||||
|
|
||||||
Audio capture on ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio is very noisy.
|
Audio capture on ReSpeaker 2 / 4 / 6 Mics Pi HAT from Seeed Studio is very noisy.
|
||||||
|
|
||||||
@@ -420,3 +471,34 @@ the device tree is properly tweaked. Also, mind the runtime components that
|
|||||||
take advantage of your RTC device. You can do that by checking what is
|
take advantage of your RTC device. You can do that by checking what is
|
||||||
included/configured in the build system based on the inclusion of `rtc` in
|
included/configured in the build system based on the inclusion of `rtc` in
|
||||||
`MACHINE_FEATURES`.
|
`MACHINE_FEATURES`.
|
||||||
|
|
||||||
|
## Raspberry Pi Distro VLC
|
||||||
|
|
||||||
|
To enable Raspberry Pi Distro VLC, the `meta-openembedded/meta-multimedia` layer must be
|
||||||
|
included in your `bblayers.conf`.
|
||||||
|
|
||||||
|
VLC does not support HW accelerated video decode through MMAL on a 64-bit OS.
|
||||||
|
|
||||||
|
See:
|
||||||
|
* <https://forums.raspberrypi.com/viewtopic.php?t=275370>
|
||||||
|
* <https://forums.raspberrypi.com/viewtopic.php?t=325218#p1946169>
|
||||||
|
|
||||||
|
MMAL is not enabled by default. To enable it add
|
||||||
|
|
||||||
|
DISABLE_VC4GRAPHICS = "1"
|
||||||
|
|
||||||
|
to `local.conf`. Adding `vlc` to `IMAGE_INSTALL` will then default to building the Raspberry
|
||||||
|
Pi's Distro implementation of VLC with HW accelerated video decode through MMAL into the system
|
||||||
|
image. It also defaults to building VLC with Raspberry PI's Distro implementation of ffmpeg. The
|
||||||
|
oe-core implementation of ffmpeg and the meta-openembedded/meta-multimedia implementation of VLC
|
||||||
|
can however be selected via:
|
||||||
|
|
||||||
|
PREFERRED_PROVIDER_ffmpeg = "ffmpeg"
|
||||||
|
PREFERRED_PROVIDER_vlc = "vlc"
|
||||||
|
|
||||||
|
Usage example: Start VLC with mmal_vout plugin and without an active display server.
|
||||||
|
|
||||||
|
DISPLAYNUM=$(tvservice -l | tail -c 2)
|
||||||
|
MMAL_DISPLAY=$(expr $DISPLAYNUM + 1)
|
||||||
|
VLC_SETTINGS="-I dummy --vout=mmal_vout --mmal-resize --mmal-display hdmi-$MMAL_DISPLAY --no-dbus"
|
||||||
|
cvlc $VLC_SETTINGS <video/playlist>
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ Contents:
|
|||||||
layer-contents
|
layer-contents
|
||||||
extra-build-config
|
extra-build-config
|
||||||
extra-apps
|
extra-apps
|
||||||
|
ipcompliance
|
||||||
contributing
|
contributing
|
||||||
|
|
||||||
Indices and tables
|
Indices and tables
|
||||||
|
|||||||
23
docs/ipcompliance.md
Normal file
23
docs/ipcompliance.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# IP Compliance
|
||||||
|
|
||||||
|
## linux-firmware-rpidistro
|
||||||
|
|
||||||
|
By default, some of the machine configurations recommend packages for the
|
||||||
|
WiFi/BT firmware, provided by
|
||||||
|
[linux-firmware-rpidistro](https://github.com/RPi-Distro/firmware-nonfree).
|
||||||
|
This package includes some firmware blobs under the `Synaptics` license which
|
||||||
|
could carry a legal risk: one of the clauses can be (at least theoretically)
|
||||||
|
used as a `killswitch`. This was
|
||||||
|
[reported](https://github.com/RPi-Distro/firmware-nonfree/issues/29) in the
|
||||||
|
upstream repository.
|
||||||
|
|
||||||
|
You can find the full license text body in the content of the above mentioned
|
||||||
|
package.
|
||||||
|
|
||||||
|
Due to the above, the build system will only allow this recipe to be built if
|
||||||
|
the user acknowledges this risk by adding the following configuration:
|
||||||
|
|
||||||
|
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
|
||||||
|
|
||||||
|
You can provide this configuration as part of your `local.conf`, `distro.conf`,
|
||||||
|
etc.
|
||||||
@@ -16,6 +16,28 @@
|
|||||||
|
|
||||||
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
|
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
|
||||||
|
|
||||||
|
## Multi-board Machines
|
||||||
|
|
||||||
|
This layer generally provides support for machines that are targetting a single
|
||||||
|
Raspberry Pi board (or a very few subsets of them). This is so that the build
|
||||||
|
infrastructure can tune and tweak the configuration with the flexibility to
|
||||||
|
optimise for both runtime performance and disk storage.
|
||||||
|
|
||||||
|
For usecases where compatibility of more boards is required, the layer provides
|
||||||
|
machines that are tagetting a wider support of Raspberry Pi boards.
|
||||||
|
|
||||||
|
### raspberrypi-armv7
|
||||||
|
|
||||||
|
This machine targets support for all the ARMv7-based Raspberry Pi boards. It
|
||||||
|
will pull in the firmware and deploy the kernel image and kernel modules for
|
||||||
|
all the relevant boards.
|
||||||
|
|
||||||
|
### raspberrypi-armv8
|
||||||
|
|
||||||
|
This machine targets support for all the ARMv8-based Raspberry Pi boards. It
|
||||||
|
will pull in the firmware and deploy the kernel image and kernel modules for
|
||||||
|
all the relevant boards.
|
||||||
|
|
||||||
## Images
|
## Images
|
||||||
|
|
||||||
* rpi-test-image
|
* rpi-test-image
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
myst_parser
|
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}:"
|
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
SRC_URI:append:rpi = " \
|
SRC_URI:append:rpi = " \
|
||||||
file://lirc-gpio-ir-0.10.patch \
|
|
||||||
file://lircd.service \
|
file://lircd.service \
|
||||||
"
|
"
|
||||||
@@ -18,7 +18,7 @@ DEPENDS += " \
|
|||||||
"
|
"
|
||||||
|
|
||||||
RDEPENDS:${PN} += " \
|
RDEPENDS:${PN} += " \
|
||||||
${PYTHON_PN}-numpy \
|
python3-numpy \
|
||||||
${PYTHON_PN}-rtimu \
|
python3-rtimu \
|
||||||
${PYTHON_PN}-pillow \
|
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 +0,0 @@
|
|||||||
PACKAGECONFIG[raspberrypi] = "-Dpipelines=raspberrypi"
|
|
||||||
PACKAGECONFIG:append:rpi = " raspberrypi"
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
PACKAGECONFIG[raspberrypi] = "-Dpipelines=rpi/vc4 -Dipas=rpi/vc4 -Dcpp_args=-Wno-unaligned-access"
|
||||||
|
PACKAGECONFIG:append:rpi = " raspberrypi"
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
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: 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
|
||||||
|
;;
|
||||||
|
linux*)
|
||||||
|
SYS=linux
|
||||||
|
+ test "${host_cpu}" = "riscv64" && CFLAGS="${CFLAGS} -pthread"
|
||||||
|
;;
|
||||||
|
bsdi*)
|
||||||
|
SYS=bsdi
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
From: Sebastian Ramacher <sramacher@debian.org>
|
||||||
|
Date: Mon, 19 Aug 2019 21:08:26 +0200
|
||||||
|
Subject: Revert "configure: Require libmodplug >= 0.8.9"
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate
|
||||||
|
|
||||||
|
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,
|
||||||
|
[AS_HELP_STRING([--disable-mod],
|
||||||
|
[do not use libmodplug (default auto)])])
|
||||||
|
if test "${enable_mod}" != "no" ; then
|
||||||
|
- PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.9.0], [
|
||||||
|
+ PKG_CHECK_MODULES(LIBMODPLUG, [libmodplug >= 0.8.4 libmodplug != 0.8.8], [
|
||||||
|
VLC_ADD_PLUGIN([mod])
|
||||||
|
VLC_ADD_CXXFLAGS([mod],[$LIBMODPLUG_CFLAGS])
|
||||||
|
VLC_ADD_CFLAGS([mod],[$LIBMODPLUG_CFLAGS]) #modules/demux/mod.c needs CFLAGS_mod, not CXXFLAGS_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
@@ -0,0 +1,19 @@
|
|||||||
|
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
|
||||||
|
@@ -106,7 +106,10 @@ static void vlc_kill (void *data)
|
||||||
|
static void exit_timeout (int signum)
|
||||||
|
{
|
||||||
|
(void) signum;
|
||||||
|
- signal (SIGINT, SIG_DFL);
|
||||||
|
+// This doesn't seem to be strong enough to reliably kill us if we fail to exit
|
||||||
|
+// in a timely fashion - so upgrade to _exit().
|
||||||
|
+// signal (SIGINT, SIG_DFL);
|
||||||
|
+ _exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
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 );
|
||||||
|
+ msg_Dbg( p_filter, "Trying to build chroma+resize, then transform" );
|
||||||
|
+ es_format_Copy( &fmt_mid, &p_filter->fmt_out );
|
||||||
|
+ video_format_TransformTo(&fmt_mid.video, p_filter->fmt_in.video.orientation);
|
||||||
|
i_ret = CreateChain( p_filter, &fmt_mid );
|
||||||
|
es_format_Clean( &fmt_mid );
|
||||||
|
if( i_ret == VLC_SUCCESS )
|
||||||
@@ -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;
|
||||||
@@ -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
|
||||||
|
|
||||||
@@ -0,0 +1,236 @@
|
|||||||
|
* luaL_checkint and luaL_optint were deprecated in lua 5.3
|
||||||
|
* replacement functions are luaL_checkinteger and luaL_optinteger
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
--- a/modules/lua/demux.c
|
||||||
|
+++ b/modules/lua/demux.c
|
||||||
|
@@ -52,7 +52,7 @@ struct vlclua_playlist
|
||||||
|
static int vlclua_demux_peek( lua_State *L )
|
||||||
|
{
|
||||||
|
stream_t *s = (stream_t *)vlclua_get_this(L);
|
||||||
|
- int n = luaL_checkint( L, 1 );
|
||||||
|
+ int n = luaL_checkinteger( L, 1 );
|
||||||
|
const uint8_t *p_peek;
|
||||||
|
|
||||||
|
ssize_t val = vlc_stream_Peek(s->p_source, &p_peek, n);
|
||||||
|
@@ -66,7 +66,7 @@ static int vlclua_demux_peek( lua_State
|
||||||
|
static int vlclua_demux_read( lua_State *L )
|
||||||
|
{
|
||||||
|
stream_t *s = (stream_t *)vlclua_get_this(L);
|
||||||
|
- int n = luaL_checkint( L, 1 );
|
||||||
|
+ int n = luaL_checkinteger( L, 1 );
|
||||||
|
char *buf = malloc(n);
|
||||||
|
|
||||||
|
if (buf != NULL)
|
||||||
|
--- a/modules/lua/libs/net.c
|
||||||
|
+++ b/modules/lua/libs/net.c
|
||||||
|
@@ -179,7 +179,7 @@ static int vlclua_net_listen_tcp( lua_St
|
||||||
|
{
|
||||||
|
vlc_object_t *p_this = vlclua_get_this( L );
|
||||||
|
const char *psz_host = luaL_checkstring( L, 1 );
|
||||||
|
- int i_port = luaL_checkint( L, 2 );
|
||||||
|
+ int i_port = luaL_checkinteger( L, 2 );
|
||||||
|
int *pi_fd = net_ListenTCP( p_this, psz_host, i_port );
|
||||||
|
if( pi_fd == NULL )
|
||||||
|
return luaL_error( L, "Cannot listen on %s:%d", psz_host, i_port );
|
||||||
|
@@ -251,7 +251,7 @@ static int vlclua_net_connect_tcp( lua_S
|
||||||
|
{
|
||||||
|
vlc_object_t *p_this = vlclua_get_this( L );
|
||||||
|
const char *psz_host = luaL_checkstring( L, 1 );
|
||||||
|
- int i_port = luaL_checkint( L, 2 );
|
||||||
|
+ int i_port = luaL_checkinteger( L, 2 );
|
||||||
|
int i_fd = net_ConnectTCP( p_this, psz_host, i_port );
|
||||||
|
lua_pushinteger( L, vlclua_fd_map_safe( L, i_fd ) );
|
||||||
|
return 1;
|
||||||
|
@@ -259,14 +259,14 @@ static int vlclua_net_connect_tcp( lua_S
|
||||||
|
|
||||||
|
static int vlclua_net_close( lua_State *L )
|
||||||
|
{
|
||||||
|
- int i_fd = luaL_checkint( L, 1 );
|
||||||
|
+ int i_fd = luaL_checkinteger( L, 1 );
|
||||||
|
vlclua_fd_unmap_safe( L, i_fd );
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int vlclua_net_send( lua_State *L )
|
||||||
|
{
|
||||||
|
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
|
||||||
|
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
|
||||||
|
size_t i_len;
|
||||||
|
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
|
||||||
|
|
||||||
|
@@ -278,7 +278,7 @@ static int vlclua_net_send( lua_State *L
|
||||||
|
|
||||||
|
static int vlclua_net_recv( lua_State *L )
|
||||||
|
{
|
||||||
|
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
|
||||||
|
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
|
||||||
|
size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
|
||||||
|
char psz_buffer[i_len];
|
||||||
|
|
||||||
|
@@ -312,7 +312,7 @@ static int vlclua_net_poll( lua_State *L
|
||||||
|
lua_pushnil( L );
|
||||||
|
for( int i = 0; lua_next( L, 1 ); i++ )
|
||||||
|
{
|
||||||
|
- luafds[i] = luaL_checkint( L, -2 );
|
||||||
|
+ luafds[i] = luaL_checkinteger( L, -2 );
|
||||||
|
p_fds[i].fd = vlclua_fd_get( L, luafds[i] );
|
||||||
|
p_fds[i].events = luaL_checkinteger( L, -1 );
|
||||||
|
p_fds[i].events &= POLLIN | POLLOUT | POLLPRI;
|
||||||
|
@@ -360,7 +360,7 @@ static int vlclua_fd_open( lua_State *L
|
||||||
|
#ifndef _WIN32
|
||||||
|
static int vlclua_fd_write( lua_State *L )
|
||||||
|
{
|
||||||
|
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
|
||||||
|
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
|
||||||
|
size_t i_len;
|
||||||
|
const char *psz_buffer = luaL_checklstring( L, 2, &i_len );
|
||||||
|
|
||||||
|
@@ -371,7 +371,7 @@ static int vlclua_fd_write( lua_State *L
|
||||||
|
|
||||||
|
static int vlclua_fd_read( lua_State *L )
|
||||||
|
{
|
||||||
|
- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) );
|
||||||
|
+ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) );
|
||||||
|
size_t i_len = (size_t)luaL_optinteger( L, 2, 1 );
|
||||||
|
char psz_buffer[i_len];
|
||||||
|
|
||||||
|
--- a/modules/lua/libs/osd.c
|
||||||
|
+++ b/modules/lua/libs/osd.c
|
||||||
|
@@ -154,7 +154,7 @@ static int vlc_osd_slider_type_from_stri
|
||||||
|
|
||||||
|
static int vlclua_osd_slider( lua_State *L )
|
||||||
|
{
|
||||||
|
- int i_position = luaL_checkint( L, 1 );
|
||||||
|
+ int i_position = luaL_checkinteger( L, 1 );
|
||||||
|
const char *psz_type = luaL_checkstring( L, 2 );
|
||||||
|
int i_type = vlc_osd_slider_type_from_string( psz_type );
|
||||||
|
int i_chan = (int)luaL_optinteger( L, 3, VOUT_SPU_CHANNEL_OSD );
|
||||||
|
@@ -198,7 +198,7 @@ static int vlclua_spu_channel_register(
|
||||||
|
|
||||||
|
static int vlclua_spu_channel_clear( lua_State *L )
|
||||||
|
{
|
||||||
|
- int i_chan = luaL_checkint( L, 1 );
|
||||||
|
+ int i_chan = luaL_checkinteger( L, 1 );
|
||||||
|
input_thread_t *p_input = vlclua_get_input_internal( L );
|
||||||
|
if( !p_input )
|
||||||
|
return luaL_error( L, "Unable to find input." );
|
||||||
|
--- a/modules/lua/libs/playlist.c
|
||||||
|
+++ b/modules/lua/libs/playlist.c
|
||||||
|
@@ -69,7 +69,7 @@ static int vlclua_playlist_next( lua_Sta
|
||||||
|
|
||||||
|
static int vlclua_playlist_skip( lua_State * L )
|
||||||
|
{
|
||||||
|
- int i_skip = luaL_checkint( L, 1 );
|
||||||
|
+ int i_skip = luaL_checkinteger( L, 1 );
|
||||||
|
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
|
||||||
|
playlist_Skip( p_playlist, i_skip );
|
||||||
|
return 0;
|
||||||
|
@@ -127,7 +127,7 @@ static int vlclua_playlist_random( lua_S
|
||||||
|
|
||||||
|
static int vlclua_playlist_gotoitem( lua_State * L )
|
||||||
|
{
|
||||||
|
- int i_id = luaL_checkint( L, 1 );
|
||||||
|
+ int i_id = luaL_checkinteger( L, 1 );
|
||||||
|
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
|
||||||
|
PL_LOCK;
|
||||||
|
playlist_ViewPlay( p_playlist, NULL,
|
||||||
|
@@ -138,7 +138,7 @@ static int vlclua_playlist_gotoitem( lua
|
||||||
|
|
||||||
|
static int vlclua_playlist_delete( lua_State * L )
|
||||||
|
{
|
||||||
|
- int i_id = luaL_checkint( L, 1 );
|
||||||
|
+ int i_id = luaL_checkinteger( L, 1 );
|
||||||
|
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
|
||||||
|
|
||||||
|
PL_LOCK;
|
||||||
|
@@ -152,8 +152,8 @@ static int vlclua_playlist_delete( lua_S
|
||||||
|
|
||||||
|
static int vlclua_playlist_move( lua_State * L )
|
||||||
|
{
|
||||||
|
- int i_item = luaL_checkint( L, 1 );
|
||||||
|
- int i_target = luaL_checkint( L, 2 );
|
||||||
|
+ int i_item = luaL_checkinteger( L, 1 );
|
||||||
|
+ int i_target = luaL_checkinteger( L, 2 );
|
||||||
|
playlist_t *p_playlist = vlclua_get_playlist_internal( L );
|
||||||
|
PL_LOCK;
|
||||||
|
playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_item );
|
||||||
|
--- a/modules/lua/libs/stream.c
|
||||||
|
+++ b/modules/lua/libs/stream.c
|
||||||
|
@@ -123,7 +123,7 @@ static int vlclua_stream_read( lua_State
|
||||||
|
{
|
||||||
|
int i_read;
|
||||||
|
stream_t **pp_stream = (stream_t **)luaL_checkudata( L, 1, "stream" );
|
||||||
|
- int n = luaL_checkint( L, 2 );
|
||||||
|
+ int n = luaL_checkinteger( L, 2 );
|
||||||
|
uint8_t *p_read = malloc( n );
|
||||||
|
if( !p_read ) return vlclua_error( L );
|
||||||
|
|
||||||
|
--- a/modules/lua/libs/volume.c
|
||||||
|
+++ b/modules/lua/libs/volume.c
|
||||||
|
@@ -48,7 +48,7 @@
|
||||||
|
static int vlclua_volume_set( lua_State *L )
|
||||||
|
{
|
||||||
|
playlist_t *p_this = vlclua_get_playlist_internal( L );
|
||||||
|
- int i_volume = luaL_checkint( L, 1 );
|
||||||
|
+ int i_volume = luaL_checkinteger( L, 1 );
|
||||||
|
if( i_volume < 0 )
|
||||||
|
i_volume = 0;
|
||||||
|
int i_ret = playlist_VolumeSet( p_this, i_volume/(float)AOUT_VOLUME_DEFAULT );
|
||||||
|
--- a/modules/lua/libs/dialog.c
|
||||||
|
+++ b/modules/lua/libs/dialog.c
|
||||||
|
@@ -382,7 +382,7 @@ static int lua_GetDialogUpdate( lua_Stat
|
||||||
|
/* Read entry in the Lua registry */
|
||||||
|
lua_pushlightuserdata( L, (void*) &key_update );
|
||||||
|
lua_gettable( L, LUA_REGISTRYINDEX );
|
||||||
|
- return luaL_checkint( L, -1 );
|
||||||
|
+ return luaL_checkinteger( L, -1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Manually update a dialog
|
||||||
|
@@ -573,22 +573,22 @@ static int vlclua_create_widget_inner( l
|
||||||
|
|
||||||
|
/* Set common arguments: col, row, hspan, vspan, width, height */
|
||||||
|
if( lua_isnumber( L, arg ) )
|
||||||
|
- p_widget->i_column = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_column = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_row = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_row = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_horiz_span = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_horiz_span = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_vert_span = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_vert_span = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_width = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_width = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
if( lua_isnumber( L, ++arg ) )
|
||||||
|
- p_widget->i_height = luaL_checkint( L, arg );
|
||||||
|
+ p_widget->i_height = luaL_checkinteger( L, arg );
|
||||||
|
else goto end_of_args;
|
||||||
|
|
||||||
|
end_of_args:
|
||||||
|
--- a/modules/lua/libs/io.c
|
||||||
|
+++ b/modules/lua/libs/io.c
|
||||||
|
@@ -139,7 +139,7 @@ static int vlclua_io_file_seek( lua_Stat
|
||||||
|
const char* psz_mode = luaL_optstring( L, 2, NULL );
|
||||||
|
if ( psz_mode != NULL )
|
||||||
|
{
|
||||||
|
- long i_offset = luaL_optlong( L, 3, 0 );
|
||||||
|
+ long i_offset = (long)luaL_optinteger( L, 3, 0 );
|
||||||
|
int i_mode;
|
||||||
|
if ( !strcmp( psz_mode, "set" ) )
|
||||||
|
i_mode = SEEK_SET;
|
||||||
@@ -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
|
||||||
|
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
--- a/modules/hw/mmal/converter_mmal.c
|
||||||
|
+++ b/modules/hw/mmal/converter_mmal.c
|
||||||
|
@@ -28,6 +28,34 @@
|
||||||
|
|
||||||
|
#define TRACE_ALL 0
|
||||||
|
|
||||||
|
+// Pass Yocto related build errors
|
||||||
|
+#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
|
||||||
|
+
|
||||||
|
typedef struct mmal_gl_converter_s
|
||||||
|
{
|
||||||
|
EGLint drm_fourcc;
|
||||||
|
@@ -199,7 +227,7 @@ static tex_context_t * get_tex_context(const opengl_tex_converter_t * const tc,
|
||||||
|
|
||||||
|
*a = EGL_NONE;
|
||||||
|
|
||||||
|
- const EGLImage image = tc->gl->egl.createImageKHR(tc->gl, EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
|
||||||
|
+ const EGLImageKHR image = tc->gl->egl.createImageKHR(tc->gl, EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
|
||||||
|
if (!image) {
|
||||||
|
msg_Err(tc, "Failed to import fd %d: Err=%#x", fd, tc->vt->GetError());
|
||||||
|
goto fail;
|
||||||
@@ -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
|
||||||
|
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
DESCRIPTION = "Video player and streamer - davinci edition"
|
||||||
|
HOMEPAGE = "http://www.videolan.org"
|
||||||
|
SECTION = "multimedia"
|
||||||
|
|
||||||
|
LICENSE = "GPL-2.0-only"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||||
|
|
||||||
|
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-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 = "b276eb0d7bc3213363e97dbb681ef7c927be6c73"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
PROVIDES = "vlc"
|
||||||
|
RPROVIDES:${PN} = "${PROVIDES}"
|
||||||
|
DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
|
||||||
|
dbus libxml2 gnutls tremor faad2 ffmpeg flac alsa-lib libidn \
|
||||||
|
jpeg xz libmodplug mpeg2dec libmtp libopus orc libsamplerate0 \
|
||||||
|
avahi libusb1 schroedinger taglib tiff"
|
||||||
|
|
||||||
|
inherit autotools gettext pkgconfig mime-xdg
|
||||||
|
|
||||||
|
export BUILDCC = "${BUILD_CC} -std=c11"
|
||||||
|
EXTRA_OECONF = "\
|
||||||
|
--enable-run-as-root \
|
||||||
|
--enable-xvideo \
|
||||||
|
--disable-lua \
|
||||||
|
--disable-screen \
|
||||||
|
--disable-caca \
|
||||||
|
--enable-vlm \
|
||||||
|
--enable-tremor \
|
||||||
|
--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)} \
|
||||||
|
${@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"
|
||||||
|
PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
|
||||||
|
PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
|
||||||
|
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
|
||||||
|
PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555"
|
||||||
|
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[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[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
|
||||||
|
#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"
|
||||||
|
PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
|
||||||
|
PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg"
|
||||||
|
PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
|
||||||
|
PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
|
||||||
|
PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
|
||||||
|
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[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
|
||||||
|
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[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
|
||||||
|
#PACKAGECONFIG[dca] = "--enable-dca,--disable-dca,libdca"
|
||||||
|
PACKAGECONFIG[fribidi] = "--enable-fribidi,,fribidi"
|
||||||
|
PACKAGECONFIG[gnutls] = "--enable-gnutls,,gnutls"
|
||||||
|
PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,,fluidsynth"
|
||||||
|
PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
|
||||||
|
PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
|
||||||
|
PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,"
|
||||||
|
PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus libogg"
|
||||||
|
PACKAGECONFIG[ncurses] = "--enable-ncurses,--disable-ncurses,ncurses"
|
||||||
|
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
|
||||||
|
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
|
||||||
|
PACKAGECONFIG[sdl-image] = "--enable-sdl-image,,libsdl-image"
|
||||||
|
PACKAGECONFIG[v4l2] = "--enable-v4l2,,v4l-utils"
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
# This recipe packages vlc as a library as well, so qt4 dependencies
|
||||||
|
# can be avoided when only the library is installed.
|
||||||
|
PACKAGES =+ "libvlc"
|
||||||
|
|
||||||
|
LEAD_SONAME_libvlc = "libvlc.so.5"
|
||||||
|
FILES:libvlc = "${libdir}/lib*.so.*"
|
||||||
|
|
||||||
|
FILES:${PN} += "\
|
||||||
|
${bindir}/vlc \
|
||||||
|
${libdir}/vlc \
|
||||||
|
${datadir}/applications \
|
||||||
|
${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 = "(.*)"
|
||||||
|
|
||||||
|
INSANE_SKIP:${PN} = "dev-so"
|
||||||
BIN
img/LF_17_02_Yocto-Badge-Update_Compatible_Final_Blank.png
Normal file
BIN
img/LF_17_02_Yocto-Badge-Update_Compatible_Final_Blank.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 271 KiB |
BIN
img/balena.png
BIN
img/balena.png
Binary file not shown.
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 5.7 KiB |
@@ -55,7 +55,7 @@ local_conf_header:
|
|||||||
STOPTASKS,${DL_DIR},1G,100K \
|
STOPTASKS,${DL_DIR},1G,100K \
|
||||||
STOPTASKS,${SSTATE_DIR},1G,100K \
|
STOPTASKS,${SSTATE_DIR},1G,100K \
|
||||||
STOPTASKS,/tmp,100M,100K \
|
STOPTASKS,/tmp,100M,100K \
|
||||||
ABORT,${TMPDIR},100M,1K \
|
HALT,${TMPDIR},100M,1K \
|
||||||
ABORT,${DL_DIR},100M,1K \
|
HALT,${DL_DIR},100M,1K \
|
||||||
ABORT,${SSTATE_DIR},100M,1K \
|
HALT,${SSTATE_DIR},100M,1K \
|
||||||
ABORT,/tmp,10M,1K"
|
HALT,/tmp,10M,1K"
|
||||||
|
|||||||
@@ -5,7 +5,16 @@ LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d
|
|||||||
|
|
||||||
inherit deploy nopackages
|
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"
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
|
|
||||||
|
|||||||
@@ -9,14 +9,12 @@ inherit deploy nopackages
|
|||||||
CMDLINE_DWC_OTG ?= "dwc_otg.lpm_enable=0"
|
CMDLINE_DWC_OTG ?= "dwc_otg.lpm_enable=0"
|
||||||
|
|
||||||
CMDLINE_ROOT_FSTYPE ?= "rootfstype=ext4"
|
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)}"
|
CMDLINE_SERIAL ?= "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}"
|
||||||
|
|
||||||
CMDLINE_CMA ?= "${@oe.utils.conditional("RASPBERRYPI_CAMERA_V2", "1", "cma=64M", "", d)}"
|
|
||||||
|
|
||||||
CMDLINE_CMA ?= "${@oe.utils.conditional("RASPBERRYPI_HD_CAMERA", "1", "cma=64M", "", d)}"
|
|
||||||
|
|
||||||
CMDLINE_PITFT ?= "${@bb.utils.contains("MACHINE_FEATURES", "pitft", "fbcon=map:10 fbcon=font:VGA8x8", "", d)}"
|
CMDLINE_PITFT ?= "${@bb.utils.contains("MACHINE_FEATURES", "pitft", "fbcon=map:10 fbcon=font:VGA8x8", "", d)}"
|
||||||
|
|
||||||
# Add the kernel debugger over console kernel command line option if enabled
|
# Add the kernel debugger over console kernel command line option if enabled
|
||||||
@@ -48,6 +46,9 @@ CMDLINE_ISOL_CPUS ?= "${@setup_isolcpus(d)}"
|
|||||||
# if the MAC addresses are omitted, random values will be used
|
# if the MAC addresses are omitted, random values will be used
|
||||||
CMDLINE_RNDIS ?= ""
|
CMDLINE_RNDIS ?= ""
|
||||||
|
|
||||||
|
# That allows to keep the traditional network interface names
|
||||||
|
CMDLINE_IFNAMES ?= "net.ifnames=0"
|
||||||
|
|
||||||
CMDLINE = " \
|
CMDLINE = " \
|
||||||
${CMDLINE_ISOL_CPUS} \
|
${CMDLINE_ISOL_CPUS} \
|
||||||
${CMDLINE_DWC_OTG} \
|
${CMDLINE_DWC_OTG} \
|
||||||
@@ -59,10 +60,11 @@ CMDLINE = " \
|
|||||||
${CMDLINE_PITFT} \
|
${CMDLINE_PITFT} \
|
||||||
${CMDLINE_DEBUG} \
|
${CMDLINE_DEBUG} \
|
||||||
${CMDLINE_RNDIS} \
|
${CMDLINE_RNDIS} \
|
||||||
|
${CMDLINE_IFNAMES} \
|
||||||
"
|
"
|
||||||
|
|
||||||
do_compile() {
|
do_compile() {
|
||||||
echo "${@' '.join('${CMDLINE}'.split())}" > "${WORKDIR}/cmdline.txt"
|
echo "${@' '.join(d.getVar('CMDLINE').split())}" > "${WORKDIR}/cmdline.txt"
|
||||||
}
|
}
|
||||||
|
|
||||||
do_deploy() {
|
do_deploy() {
|
||||||
|
|||||||
@@ -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$"
|
COMPATIBLE_MACHINE = "^rpi$"
|
||||||
|
|
||||||
SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
|
SRCREV = "6ac2d832c6c3b208e2669f50ec1abf2c20cb7ff4"
|
||||||
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=https;branch=master \
|
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=https;branch=master \
|
||||||
|
file://0001-config.txt-reintroduce-start_x.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
@@ -29,6 +30,8 @@ GPIO_IR ?= "18"
|
|||||||
GPIO_IR_TX ?= "17"
|
GPIO_IR_TX ?= "17"
|
||||||
|
|
||||||
CAN_OSCILLATOR ?= "16000000"
|
CAN_OSCILLATOR ?= "16000000"
|
||||||
|
CAN0_INTERRUPT_PIN ?= "25"
|
||||||
|
CAN1_INTERRUPT_PIN ?= "24"
|
||||||
|
|
||||||
ENABLE_UART ??= ""
|
ENABLE_UART ??= ""
|
||||||
|
|
||||||
@@ -178,13 +181,27 @@ do_deploy() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# UART support
|
# 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" >>$CONFIG
|
||||||
echo "enable_uart=${ENABLE_UART}" >>$CONFIG
|
echo "enable_uart=${ENABLE_UART}" >>$CONFIG
|
||||||
elif [ -n "${ENABLE_UART}" ]; then
|
elif [ -n "${ENABLE_UART}" ]; then
|
||||||
bbfatal "Invalid value for ENABLE_UART [${ENABLE_UART}]. The value for ENABLE_UART can be 0 or 1."
|
bbfatal "Invalid value for ENABLE_UART [${ENABLE_UART}]. The value for ENABLE_UART can be 0 or 1."
|
||||||
fi
|
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
|
# Infrared support
|
||||||
if [ "${ENABLE_IR}" = "1" ]; then
|
if [ "${ENABLE_IR}" = "1" ]; then
|
||||||
echo "# Enable infrared" >>$CONFIG
|
echo "# Enable infrared" >>$CONFIG
|
||||||
@@ -210,6 +227,12 @@ do_deploy() {
|
|||||||
# echo "dtoverlay=imx477" >> $CONFIG
|
# echo "dtoverlay=imx477" >> $CONFIG
|
||||||
#fi
|
#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)
|
# 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
|
if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then
|
||||||
echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> $CONFIG
|
echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> $CONFIG
|
||||||
@@ -247,12 +270,12 @@ do_deploy() {
|
|||||||
# ENABLE DUAL CAN
|
# ENABLE DUAL CAN
|
||||||
if [ "${ENABLE_DUAL_CAN}" = "1" ]; then
|
if [ "${ENABLE_DUAL_CAN}" = "1" ]; then
|
||||||
echo "# Enable DUAL CAN" >>$CONFIG
|
echo "# Enable DUAL CAN" >>$CONFIG
|
||||||
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=25" >>$CONFIG
|
echo "dtoverlay=mcp2515-can0,oscillator=${CAN_OSCILLATOR},interrupt=${CAN0_INTERRUPT_PIN}" >>$CONFIG
|
||||||
echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=24" >>$CONFIG
|
echo "dtoverlay=mcp2515-can1,oscillator=${CAN_OSCILLATOR},interrupt=${CAN1_INTERRUPT_PIN}" >>$CONFIG
|
||||||
# ENABLE CAN
|
# ENABLE CAN
|
||||||
elif [ "${ENABLE_CAN}" = "1" ]; then
|
elif [ "${ENABLE_CAN}" = "1" ]; then
|
||||||
echo "# Enable CAN" >>$CONFIG
|
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
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -290,6 +313,19 @@ do_deploy() {
|
|||||||
echo "# Enable WM8960" >> $CONFIG
|
echo "# Enable WM8960" >> $CONFIG
|
||||||
echo "dtoverlay=wm8960-soundcard" >> $CONFIG
|
echo "dtoverlay=wm8960-soundcard" >> $CONFIG
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# W1-GPIO - One-Wire Interface
|
||||||
|
if [ "${ENABLE_W1}" = "1" ]; then
|
||||||
|
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() {
|
do_deploy:append:raspberrypi3-64() {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
RPIFW_DATE ?= "20220331"
|
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_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}"
|
RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-1.${RPIFW_DATE}"
|
||||||
|
|
||||||
SRC_URI = "${RPIFW_SRC_URI}"
|
SRC_URI = "${RPIFW_SRC_URI}"
|
||||||
SRC_URI[sha256sum] = "8758f10797bd52a7373cc5b39bd46d0d9f882d501ccb9535a72a3fe8a8d329c3"
|
SRC_URI[sha256sum] = "1d9eb83111826b708f461101766fd2000d45f1c171ad573936d000f623ca8098"
|
||||||
|
|
||||||
PV = "${RPIFW_DATE}"
|
PV = "${RPIFW_DATE}"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
RPITOOLS_DATE ?= "20211101"
|
RPITOOLS_DATE ?= "20220711"
|
||||||
SRCREV ?= "13474ee775d0c5ec8a7da4fb0a9fa84187abfc87"
|
SRCREV ?= "439b6198a9b340de5998dd14a26a0d9d38a6bcac"
|
||||||
RPITOOLS_SRC_URI ?= "git://github.com/raspberrypi/tools;protocol=https;branch=master"
|
RPITOOLS_SRC_URI ?= "git://github.com/raspberrypi/tools;protocol=https;branch=master"
|
||||||
RPITOOLS_S ?= "${WORKDIR}/git"
|
RPITOOLS_S ?= "${WORKDIR}/git"
|
||||||
|
|
||||||
|
|||||||
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
|
fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs
|
||||||
fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
|
fatload @@BOOT_MEDIA@@ 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
|
||||||
if test ! -e mmc 0:1 uboot.env; then saveenv; fi;
|
if test ! -e @@BOOT_MEDIA@@ 0:1 uboot.env; then saveenv; fi;
|
||||||
@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}
|
@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}
|
||||||
|
|||||||
@@ -9,9 +9,12 @@ INHIBIT_DEFAULT_DEPS = "1"
|
|||||||
|
|
||||||
SRC_URI = "file://boot.cmd.in"
|
SRC_URI = "file://boot.cmd.in"
|
||||||
|
|
||||||
|
BOOT_MEDIA ?= "mmc"
|
||||||
|
|
||||||
do_compile() {
|
do_compile() {
|
||||||
sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
|
sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
|
||||||
-e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
|
-e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
|
||||||
|
-e 's/@@BOOT_MEDIA@@/${BOOT_MEDIA}/' \
|
||||||
"${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
|
"${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
|
||||||
mkimage -A ${UBOOT_ARCH} -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
|
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: C?dric Schieli <cschieli@gmail.com>
|
||||||
Cc: Matthias Brugger <mbrugger@suse.com>
|
Cc: Matthias Brugger <mbrugger@suse.com>
|
||||||
---
|
---
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
board/raspberrypi/rpi/rpi.c | 3 ---
|
board/raspberrypi/rpi/rpi.c | 3 ---
|
||||||
1 file changed, 3 deletions(-)
|
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: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"
|
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>
|
From: Phil Elwell <phil@raspberrypi.org>
|
||||||
Date: Tue, 16 Feb 2016 16:40:46 +0000
|
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 +++
|
tools/hciattach.c | 3 +++
|
||||||
1 file changed, 3 insertions(+)
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
diff --git a/tools/hciattach.c b/tools/hciattach.c
|
diff --git a/tools/hciattach.c b/tools/hciattach.c
|
||||||
index 59a76a7..5861d33 100644
|
index 276a4e56e..7d01d8b74 100644
|
||||||
--- a/tools/hciattach.c
|
--- a/tools/hciattach.c
|
||||||
+++ b/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,
|
{ "bcm43xx", 0x0000, 0x0000, HCI_UART_H4, 115200, 3000000,
|
||||||
FLOW_CTL, DISABLE_PM, NULL, bcm43xx, NULL },
|
FLOW_CTL, DISABLE_PM, NULL, bcm43xx, NULL },
|
||||||
|
|
||||||
@@ -21,6 +23,3 @@ index 59a76a7..5861d33 100644
|
|||||||
{ "ath3k", 0x0000, 0x0000, HCI_UART_ATH3K, 115200, 115200,
|
{ "ath3k", 0x0000, 0x0000, HCI_UART_ATH3K, 115200, 115200,
|
||||||
FLOW_CTL, DISABLE_PM, NULL, ath3k_ps, ath3k_pm },
|
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>
|
From: Phil Elwell <phil@raspberrypi.org>
|
||||||
Date: Tue, 16 Feb 2016 16:39:09 +0000
|
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 ++----
|
tools/hciattach_bcm43xx.c | 6 ++----
|
||||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
|
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
|
--- a/tools/hciattach_bcm43xx.c
|
||||||
+++ b/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;
|
return -1;
|
||||||
|
|
||||||
if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) {
|
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))
|
if (bcm43xx_load_firmware(fd, fw_path))
|
||||||
return -1;
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,6 +35,3 @@ index 81f38cb..0b792e0 100644
|
|||||||
if (bcm43xx_reset(fd))
|
if (bcm43xx_reset(fd))
|
||||||
return -1;
|
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>
|
From: Phil Elwell <phil@raspberrypi.org>
|
||||||
Date: Wed, 20 Jan 2016 16:00:37 +0000
|
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 +-
|
tools/hciattach.c | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/tools/hciattach.c b/tools/hciattach.c
|
diff --git a/tools/hciattach.c b/tools/hciattach.c
|
||||||
index 5861d33..4141796 100644
|
index 7d01d8b74..465bb17dd 100644
|
||||||
--- a/tools/hciattach.c
|
--- a/tools/hciattach.c
|
||||||
+++ b/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;
|
struct uart_t *u = NULL;
|
||||||
int detach, printpid, raw, opt, i, n, ld, err;
|
int detach, printpid, raw, opt, i, n, ld, err;
|
||||||
@@ -20,6 +22,3 @@ index 5861d33..4141796 100644
|
|||||||
int init_speed = 0;
|
int init_speed = 0;
|
||||||
int send_break = 0;
|
int send_break = 0;
|
||||||
pid_t pid;
|
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://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
|
||||||
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
|
file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
|
||||||
file://0003-Increase-firmware-load-timeout-to-30s.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"
|
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
|
Date: Wed, 14 Nov 2018 09:19:51 -0600
|
||||||
Subject: [PATCH] bthelper: correct path for hciconfig under Yocto
|
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: Peter A. Bigot <pab@pabigot.com>
|
||||||
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
|
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:"
|
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||||
SPLASH_IMAGES:rpi = "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
|
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"
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
|
||||||
SRC_URI = " \
|
SRC_URI = " \
|
||||||
file://99-com.rules \
|
git://github.com/RPi-Distro/raspberrypi-sys-mods;protocol=https;branch=master \
|
||||||
file://can.rules \
|
file://can.rules \
|
||||||
"
|
"
|
||||||
|
SRCREV = "5ce3ef2b7f377c23fea440ca9df0e30f3f8447cf"
|
||||||
|
|
||||||
S = "${WORKDIR}"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
INHIBIT_DEFAULT_DEPS = "1"
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
|
|
||||||
do_install () {
|
do_install () {
|
||||||
install -d ${D}${sysconfdir}/udev/rules.d
|
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/
|
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 = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "9bd2d39bf4b3a9e81dce799ca51c826a"
|
SRC_URI[sha256sum] = "e67a986462618988a5a86752e36e3ebdd7c5cae66940ff7330aea243b2762525"
|
||||||
SRC_URI[sha256sum] = "564920d205977d7e2846e434947708455d468d3a952feca9faef643abd03a227"
|
|
||||||
|
|
||||||
inherit autotools
|
inherit autotools
|
||||||
|
|
||||||
@@ -4,9 +4,8 @@ LICENSE = "MIT"
|
|||||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec69d6e9e6c85adfb7799d7f8cf044e"
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=6ec69d6e9e6c85adfb7799d7f8cf044e"
|
||||||
|
|
||||||
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Register.git;branch=main;protocol=https"
|
SRC_URI = "git://github.com/adafruit/Adafruit_CircuitPython_Register.git;branch=main;protocol=https"
|
||||||
|
SRCREV = "d1e8ac7ad9dcd65ab83749db3e5c96ffee80ebb7"
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
SRCREV = "49ab415d6b601c99979262f9e91c21dcb3a927a7"
|
|
||||||
|
|
||||||
DEPENDS += "python3-setuptools-scm-native"
|
DEPENDS += "python3-setuptools-scm-native"
|
||||||
|
|
||||||
@@ -4,8 +4,7 @@ LICENSE = "MIT"
|
|||||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=fccd531dce4b989c05173925f0bbb76c"
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=fccd531dce4b989c05173925f0bbb76c"
|
||||||
|
|
||||||
SRC_URI = "git://github.com/adafruit/Adafruit_Python_PlatformDetect.git;branch=main;protocol=https"
|
SRC_URI = "git://github.com/adafruit/Adafruit_Python_PlatformDetect.git;branch=main;protocol=https"
|
||||||
SRCREV = "7af3af87037cf1e6697471a3a83c56a0f852b959"
|
SRCREV = "e1460098eeca5ea573f92814691bb378e15530d9"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
inherit setuptools3
|
inherit setuptools3
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
From df5657d772accb275a12c1b1690befa8d87305c8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Date: Sat, 5 Mar 2022 09:53:41 -0800
|
|
||||||
Subject: [PATCH] setup.py: Use setuptools instead of distutils
|
|
||||||
|
|
||||||
Upstream-Status: Pending
|
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
||||||
---
|
|
||||||
setup.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/setup.py b/setup.py
|
|
||||||
index 2b600ca..0fa0807 100644
|
|
||||||
--- a/setup.py
|
|
||||||
+++ b/setup.py
|
|
||||||
@@ -20,7 +20,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
"""
|
|
||||||
|
|
||||||
-from distutils.core import setup, Extension
|
|
||||||
+from setuptools import setup, Extension
|
|
||||||
|
|
||||||
classifiers = ['Development Status :: 5 - Production/Stable',
|
|
||||||
'Operating System :: POSIX :: Linux',
|
|
||||||
--
|
|
||||||
2.35.1
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user