diff --git a/Dockerfile.rpi.bookworm b/Dockerfile.rpi.bookworm index d6d63c2..785407e 100644 --- a/Dockerfile.rpi.bookworm +++ b/Dockerfile.rpi.bookworm @@ -5,11 +5,6 @@ ENV DISTRO=bookworm COPY scripts/install-base-deps.sh /opt/scripts/ RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \ - apt-get install -y --no-install-recommends gnupg && \ - echo "deb http://archive.raspberrypi.org/debian/ $DISTRO main" >> /etc/apt/sources.list && \ - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 82B129927FA3303E && \ - apt-get update && \ - apt-get install -y --no-install-recommends libraspberrypi-dev linux-libc-dev && \ apt-get clean -y && \ rm -rf /var/lib/apt/lists/* diff --git a/Dockerfile.rpi64.bookworm b/Dockerfile.rpi64.bookworm index 7310794..63955d1 100644 --- a/Dockerfile.rpi64.bookworm +++ b/Dockerfile.rpi64.bookworm @@ -5,15 +5,9 @@ ENV DISTRO=bookworm COPY scripts/install-base-deps.sh /opt/scripts/ RUN /bin/bash -c /opt/scripts/install-base-deps.sh && \ - apt-get install -y --no-install-recommends gnupg && \ - echo "deb http://archive.raspberrypi.org/debian/ $DISTRO main" >> /etc/apt/sources.list && \ - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 82B129927FA3303E && \ - apt-get update && \ - apt-get install -y --no-install-recommends linux-libc-dev && \ apt-get clean -y && \ rm -rf /var/lib/apt/lists/* -COPY rpi-userland /opt/rpi-userland COPY dav1d /opt/dav1d COPY FFmpeg-rpi /opt/FFmpeg COPY SDL2 /opt/SDL2 diff --git a/do-release.sh b/do-release.sh index 424686f..51d2b0d 100755 --- a/do-release.sh +++ b/do-release.sh @@ -17,8 +17,8 @@ set -e ./build-rpi64-buster.sh $1 & ./build-armhf-bullseye.sh $1 & ./build-aarch64-bullseye.sh $1 & -#./build-rpi-bookworm.sh $1 & -#./build-rpi64-bookworm.sh $1 & +./build-rpi-bookworm.sh $1 & +./build-rpi64-bookworm.sh $1 & ./build-armhf-bookworm.sh $1 & ./build-aarch64-bookworm.sh $1 & ./build-riscv64-sid.sh $1 & @@ -28,10 +28,10 @@ wait cloudsmith push deb moonlight-game-streaming/moonlight-l4t/ubuntu/bionic out_l4t-bionic/moonlight-qt_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/buster out_rpi-buster/moonlight-qt_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bullseye out_rpi-buster/moonlight-qt_*.deb -#cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bookworm out_rpi-bookworm/moonlight-qt_*.deb +cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bookworm out_rpi-bookworm/moonlight-qt_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/buster out_rpi64-buster/moonlight-qt_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bullseye out_rpi64-buster/moonlight-qt_*.deb -#cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bookworm out_rpi64-bookworm/moonlight-qt_*.deb +cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bookworm out_rpi64-bookworm/moonlight-qt_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bullseye out_armhf-bullseye/moonlight-qt_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bookworm out_armhf-bookworm/moonlight-qt_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bullseye out_aarch64-bullseye/moonlight-qt_*.deb @@ -42,10 +42,10 @@ cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/sid out_riscv64 cloudsmith push deb moonlight-game-streaming/moonlight-l4t/ubuntu/bionic out_l4t-bionic/moonlight-qt-dbgsym_*.ddeb cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/buster out_rpi-buster/moonlight-qt-dbgsym_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bullseye out_rpi-buster/moonlight-qt-dbgsym_*.deb -#cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bookworm out_rpi-bookworm/moonlight-qt-dbgsym_*.deb +cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bookworm out_rpi-bookworm/moonlight-qt-dbgsym_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/buster out_rpi64-buster/moonlight-qt-dbgsym_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bullseye out_rpi64-buster/moonlight-qt-dbgsym_*.deb -#cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bookworm out_rpi64-bookworm/moonlight-qt-dbgsym_*.deb +cloudsmith push deb moonlight-game-streaming/moonlight-qt/raspbian/bookworm out_rpi64-bookworm/moonlight-qt-dbgsym_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bullseye out_armhf-bullseye/moonlight-qt-dbgsym_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bookworm out_armhf-bookworm/moonlight-qt-dbgsym_*.deb cloudsmith push deb moonlight-game-streaming/moonlight-qt/debian/bullseye out_aarch64-bullseye/moonlight-qt-dbgsym_*.deb diff --git a/push-images.sh b/push-images.sh index c59df58..e7c8e28 100755 --- a/push-images.sh +++ b/push-images.sh @@ -4,8 +4,8 @@ TAG_UNIQUE_ID=`git ls-tree HEAD | sha256sum | cut -c-16` docker build --pull -f Dockerfile.rpi.buster -t cgutman/moonlight-packaging:rpi-buster_$TAG_UNIQUE_ID . & docker build --pull -f Dockerfile.rpi64.buster -t cgutman/moonlight-packaging:rpi64-buster_$TAG_UNIQUE_ID . & -#docker build --pull -f Dockerfile.rpi.bookworm -t cgutman/moonlight-packaging:rpi-bookworm_$TAG_UNIQUE_ID . & -#docker build --pull -f Dockerfile.rpi64.bookworm -t cgutman/moonlight-packaging:rpi64-bookworm_$TAG_UNIQUE_ID . & +docker build --pull -f Dockerfile.rpi.bookworm -t cgutman/moonlight-packaging:rpi-bookworm_$TAG_UNIQUE_ID . & +docker build --pull -f Dockerfile.rpi64.bookworm -t cgutman/moonlight-packaging:rpi64-bookworm_$TAG_UNIQUE_ID . & docker build --pull -f Dockerfile.amd64.buster -t cgutman/moonlight-packaging:amd64-buster_$TAG_UNIQUE_ID . & docker build --pull -f Dockerfile.l4t.bionic -t cgutman/moonlight-packaging:l4t-bionic_$TAG_UNIQUE_ID . & docker build --pull -f Dockerfile.aarch64.bullseye -t cgutman/moonlight-packaging:aarch64-bullseye_$TAG_UNIQUE_ID . & @@ -17,8 +17,8 @@ wait docker push cgutman/moonlight-packaging:rpi-buster_$TAG_UNIQUE_ID docker push cgutman/moonlight-packaging:rpi64-buster_$TAG_UNIQUE_ID -#docker push cgutman/moonlight-packaging:rpi-bookworm_$TAG_UNIQUE_ID -#docker push cgutman/moonlight-packaging:rpi64-bookworm_$TAG_UNIQUE_ID +docker push cgutman/moonlight-packaging:rpi-bookworm_$TAG_UNIQUE_ID +docker push cgutman/moonlight-packaging:rpi64-bookworm_$TAG_UNIQUE_ID docker push cgutman/moonlight-packaging:amd64-buster_$TAG_UNIQUE_ID docker push cgutman/moonlight-packaging:l4t-bionic_$TAG_UNIQUE_ID docker push cgutman/moonlight-packaging:armhf-bullseye_$TAG_UNIQUE_ID diff --git a/scripts/build-deps.sh b/scripts/build-deps.sh index 88ef1e3..4e82080 100755 --- a/scripts/build-deps.sh +++ b/scripts/build-deps.sh @@ -4,8 +4,8 @@ BASE_FFMPEG_ARGS="--enable-pic --enable-static --disable-shared --disable-all -- echo "Building dependencies for $TARGET" if [ "$TARGET" == "rpi" ] || [ "$TARGET" == "rpi64" ]; then - # We have to build MMAL libraries for aarch64 - if [ "$TARGET" == "rpi64" ]; then + # We have to build MMAL libraries for aarch64 on Buster + if [ "$TARGET" == "rpi64" ] && [ "$DISTRO" == "buster" ]; then cd /opt/rpi-userland mkdir build cd build @@ -18,11 +18,17 @@ if [ "$TARGET" == "rpi" ] || [ "$TARGET" == "rpi64" ]; then sed -i 's|-lmmal_vc_client|-lmmal_vc_client -lbcm_host -lvcos -lvcsm -lvchostif -lvchiq_arm|g' /opt/FFmpeg/configure fi - # Copy libraspberrypi-dev pkgconfig files into the default location - mkdir -p /usr/local/lib/pkgconfig - cp /opt/vc/lib/pkgconfig/* /usr/local/lib/pkgconfig/ - # Enable MMAL and VL42 stateless decoders - EXTRA_FFMPEG_ARGS="--enable-mmal --enable-decoder=h264_mmal --enable-sand --enable-libudev --enable-v4l2-request --enable-hwaccel=h264_v4l2request --enable-hwaccel=hevc_v4l2request" + # Enable VL42 stateless decoders + EXTRA_FFMPEG_ARGS="--enable-sand --enable-libudev --enable-v4l2-request --enable-hwaccel=h264_v4l2request --enable-hwaccel=hevc_v4l2request" + + if [ "$DISTRO" == "buster" ]; then + # Copy libraspberrypi-dev pkgconfig files into the default location + mkdir -p /usr/local/lib/pkgconfig + cp /opt/vc/lib/pkgconfig/* /usr/local/lib/pkgconfig/ + + # Enable MMAL on Buster + EXTRA_FFMPEG_ARGS="$EXTRA_FFMPEG_ARGS --enable-mmal --enable-decoder=h264_mmal" + fi elif [ "$TARGET" == "l4t" ]; then # Enable NVV4L2 decoders EXTRA_FFMPEG_ARGS="--enable-nvv4l2 --enable-decoder=h264_nvv4l2 --enable-decoder=hevc_nvv4l2" diff --git a/scripts/build-package.sh b/scripts/build-package.sh index 8b36071..884d0d4 100755 --- a/scripts/build-package.sh +++ b/scripts/build-package.sh @@ -14,11 +14,20 @@ VERSION=`cat app/version.txt` # Determine extra target-specific dependencies if [ "$TARGET" == "rpi" ]; then - EXTRA_BUILD_DEPS="libraspberrypi-dev | rbp-userland-dev-osmc" - EXTRA_DEPS="libraspberrypi0 | rbp-userland-osmc" EXTRA_CONFIG="CONFIG+=glslow" + if [ "$DISTRO" = "buster" ]; then + EXTRA_BUILD_DEPS="libraspberrypi-dev | rbp-userland-dev-osmc" + EXTRA_DEPS="libraspberrypi0 | rbp-userland-osmc" + else + EXTRA_DEPS="$EXTRA_DEPS, libdecor-0-0" + EXTRA_CONFIG="$EXTRA_CONFIG CONFIG+=disable-mmal" + fi elif [ "$TARGET" == "rpi64" ]; then EXTRA_CONFIG="CONFIG+=glslow" + if [ "$DISTRO" != "buster" ]; then + EXTRA_DEPS="$EXTRA_DEPS, libdecor-0-0" + EXTRA_CONFIG="$EXTRA_CONFIG CONFIG+=disable-mmal" + fi elif [ "$TARGET" == "l4t" ]; then EXTRA_DEPS="" elif [ "$TARGET" == "desktop" ]; then diff --git a/scripts/install-base-deps.sh b/scripts/install-base-deps.sh index a22dd9b..3cfd23a 100755 --- a/scripts/install-base-deps.sh +++ b/scripts/install-base-deps.sh @@ -6,7 +6,7 @@ apt-get install -y curl g++ make ninja-build meson devscripts fakeroot debhelper apt-get install -y --no-install-recommends libssl-dev qtbase5-dev qtquickcontrols2-5-dev qtdeclarative5-dev libqt5svg5-dev libopus-dev if [ "$DISTRO" != "buster" ] && [ "$DISTRO" != "bionic" ]; then - apt-get install -y libfreetype-dev + apt-get install -y libfreetype-dev libpipewire-0.3-dev else apt-get install -y libfreetype6-dev fi @@ -16,3 +16,9 @@ if [ "$DISTRO" != "bionic" ]; then else apt-get install -y libgl1-mesa-dev fi + +if [ "$DISTRO" != "buster" ]; then + if [ "$TARGET" = "rpi" ] || [ "$TARGET" = "rpi64" ]; then + apt-get install -y wayland-protocols libwayland-dev libdecor-0-dev + fi +fi