From 0807a33e5d31b101aa310e150da385a644f8f820 Mon Sep 17 00:00:00 2001 From: fg <645585628@qq.com> Date: Fri, 5 Mar 2021 18:28:08 +0800 Subject: [PATCH] Add code for rk3399 legacy media framework installation --- .../families/include/rockchip64_common.inc | 106 +++++++++++++----- external/config/sources/families/rk3399.conf | 12 +- scripts/makeboarddeb.sh | 10 +- 3 files changed, 97 insertions(+), 31 deletions(-) diff --git a/external/config/sources/families/include/rockchip64_common.inc b/external/config/sources/families/include/rockchip64_common.inc index be98497..73a7dcd 100755 --- a/external/config/sources/families/include/rockchip64_common.inc +++ b/external/config/sources/families/include/rockchip64_common.inc @@ -252,36 +252,86 @@ family_tweaks() GST_DIR="$EXTER/cache/sources/rk3399_gst_xserver_libs/gstreamer" [[ ! -d "${SDCARD}"/usr/libexec ]] && mkdir -p "${SDCARD}"/usr/libexec - cp ${GST_DIR}/${RELEASE}_build/etc/iqfiles ${SDCARD}/etc/ -rfa - cp ${GST_DIR}/${RELEASE}_build/usr/bin/* ${SDCARD}/usr/bin/ -rfa - cp ${GST_DIR}/${RELEASE}_build/usr/include/* ${SDCARD}/usr/include/ -rfa - cp ${GST_DIR}/${RELEASE}_build/usr/lib/* ${SDCARD}/usr/lib/ -rfa - cp ${GST_DIR}/${RELEASE}_build/usr/share/* ${SDCARD}/usr/share/ -rfa - cp ${GST_DIR}/overlay/etc/udev/rules.d/* ${SDCARD}/etc/udev/rules.d/ -rfa - cp ${GST_DIR}/overlay/usr/local/bin/* ${SDCARD}/usr/local/bin/ -rfa - cp ${GST_DIR}/others/gstreamer/usr/bin/* ${SDCARD}/usr/bin/ -rfa - cp ${GST_DIR}/others/gstreamer/usr/include/* ${SDCARD}/usr/include/ -rfa - cp ${GST_DIR}/others/gstreamer/usr/lib/* ${SDCARD}/usr/lib/ -rfa - cp ${GST_DIR}/others/gstreamer/usr/libexec/* ${SDCARD}/usr/libexec/ -rfa - cp ${GST_DIR}/others/gstreamer/usr/local/* ${SDCARD}/usr/local/ -rfa - cp ${GST_DIR}/others/gstreamer/usr/share/* ${SDCARD}/usr/share/ -rfa + if [[ $RELEASE != buster ]]; then - # Mail GPU library - sed 's/^#\(deb-src\)/\1/' -i ${SDCARD}/etc/apt/sources.list - chroot $SDCARD /bin/bash -c "apt-get -q update >/dev/null 2>&1" - chroot $SDCARD /bin/bash -c "apt-get -y build-dep xserver-xorg-core >/dev/null 2>&1" - chroot $SDCARD /bin/bash -c "apt-get remove -y --purge libegl1-mesa-dev:arm64 libgbm-dev:arm64 >/dev/null 2>&1" - chroot $SDCARD /bin/bash -c "apt-get install -q -y --no-install-recommends libxcb-xkb-dev libxfont-dev wayland-protocols >/dev/null 2>&1" - install_deb_chroot "$EXTER/cache/debs/rk3399/libmali-rk-dev_1.6-2_arm64.deb" - install_deb_chroot "$EXTER/cache/debs/rk3399/libmali-rk-midgard-t86x-r14p0_1.6-2_arm64.deb" - rm -rf ${SDCARD}/usr/lib/aarch64-linux-gnu/mesa-egl + cp ${GST_DIR}/${RELEASE}_build/etc/iqfiles ${SDCARD}/etc/ -rfa + cp ${GST_DIR}/${RELEASE}_build/usr/bin/* ${SDCARD}/usr/bin/ -rfa + cp ${GST_DIR}/${RELEASE}_build/usr/include/* ${SDCARD}/usr/include/ -rfa + cp ${GST_DIR}/${RELEASE}_build/usr/lib/* ${SDCARD}/usr/lib/ -rfa + cp ${GST_DIR}/${RELEASE}_build/usr/share/* ${SDCARD}/usr/share/ -rfa + cp ${GST_DIR}/overlay/etc/udev/rules.d/* ${SDCARD}/etc/udev/rules.d/ -rfa + cp ${GST_DIR}/overlay/usr/local/bin/* ${SDCARD}/usr/local/bin/ -rfa - XSERVER_DIR="$EXTER/cache/sources/rk3399_gst_xserver_libs/xserver" - cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/bin/* ${SDCARD}/usr/bin/ -rfa - cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/include/* ${SDCARD}/usr/include/ -rfa - cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/lib/* ${SDCARD}/usr/lib/ -rfa - cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/share/* ${SDCARD}/usr/share/ -rfa - cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/libexec/* ${SDCARD}/usr/libexec/ -rfa + XSERVER_DIR="$EXTER/cache/sources/rk3399_gst_xserver_libs/xserver" + cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/bin/* ${SDCARD}/usr/bin/ -rfa + cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/include/* ${SDCARD}/usr/include/ -rfa + cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/lib/* ${SDCARD}/usr/lib/ -rfa + cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/share/* ${SDCARD}/usr/share/ -rfa + cp ${XSERVER_DIR}/xserver_for_${RELEASE}/usr/libexec/* ${SDCARD}/usr/libexec/ -rfa + + fi + + if [[ $RELEASE == bionic ]]; then + + cp ${GST_DIR}/${RELEASE}_build/usr/lib/gstreamer-1.0/* ${SDCARD}/usr/lib/aarch64-linux-gnu/gstreamer-1.0/ -rfa + + #Mali GPU library + install_deb_chroot "$EXTER/cache/debs/rk3399/libmali-rk-midgard-t86x-r14p0-r0p0_1.6-1-1armbian3_arm64.deb" + + elif [[ $RELEASE == xenial ]]; then + + # Mail GPU library + sed 's/^#\(deb-src\)/\1/' -i ${SDCARD}/etc/apt/sources.list + chroot $SDCARD /bin/bash -c "apt-get -q update >/dev/null 2>&1" + chroot $SDCARD /bin/bash -c "apt-get -y build-dep xserver-xorg-core >/dev/null 2>&1" + chroot $SDCARD /bin/bash -c "apt-get remove -y --purge libegl1-mesa-dev:arm64 libgbm-dev:arm64 >/dev/null 2>&1" + chroot $SDCARD /bin/bash -c "apt-get install -q -y --no-install-recommends libxcb-xkb-dev libxfont-dev wayland-protocols >/dev/null 2>&1" + install_deb_chroot "$EXTER/cache/debs/rk3399/libmali-rk-dev_1.6-2_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/libmali-rk-midgard-t86x-r14p0_1.6-2_arm64.deb" + rm -rf ${SDCARD}/usr/lib/aarch64-linux-gnu/mesa-egl + + # Gstreamer + cp ${GST_DIR}/others/gstreamer/usr/bin/* ${SDCARD}/usr/bin/ -rfa + cp ${GST_DIR}/others/gstreamer/usr/include/* ${SDCARD}/usr/include/ -rfa + cp ${GST_DIR}/others/gstreamer/usr/lib/* ${SDCARD}/usr/lib/ -rfa + cp ${GST_DIR}/others/gstreamer/usr/libexec/* ${SDCARD}/usr/libexec/ -rfa + cp ${GST_DIR}/others/gstreamer/usr/local/* ${SDCARD}/usr/local/ -rfa + cp ${GST_DIR}/others/gstreamer/usr/share/* ${SDCARD}/usr/share/ -rfa + + elif [[ $RELEASE == buster ]]; then + + #Multimedia Framework + chroot $SDCARD /bin/bash -c "apt-get -q update >/dev/null 2>&1" + chroot $SDCARD /bin/bash -c "apt-get remove -y --purge xserver-xorg-core mpv >/dev/null 2>&1" + chroot $SDCARD /bin/bash -c "apt install -q -y --no-install-recommends gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad \ + qtgstreamer-plugins-qt5 qtmultimedia5-examples mesa-utils fonts-liberation python-bluez python-lightblue python-pil \ + python-simplejson libshairplay0 libaacs0 libcec4 libfstrcmp0 libiso9660-11 liblirc-client0 libmariadb3 libmicrohttpd12 \ + libpcrecpp0v5 libdav1d4 libssh-4 libtag1v5 gstreamer1.0-plugins-good liblua5.2-0 librubberband2 gstreamer1.0-libav \ + gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 \ + gstreamer1.0-pulseaudio >/dev/null 2>&1" + + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/libmali-rk-midgard-t86x-r14p0-r0p0_1.6-1-1armbian3_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/librga2_2.0.0-1_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/librockchip-mpp1_1.4.0-3armbian3_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/librockchip-vpu0_1.4.0-3armbian3_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/xserver-xorg-core-rockchip_1.20.3-3armbian1_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/gl4es_1.1.5-0armbian1_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/gstreamer1.0-rockchip1_2%3a1.10-0armbian1_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/gstreamer1.0-rockchip1-extra_3%3a20180115-3armbian1_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/kodi-rk-bin_2%3a18.9-final-18.9buster0armbian3_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/kodi-rk_2%3a18.9-final-18.9buster0armbian3_all.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/mpv-legacy_2%3a2020.12.08.df805cfc84_arm64.deb" + install_deb_chroot "$EXTER/cache/debs/rk3399/buster_media/media-buster-legacy-rk3399_20.11.4_arm64.deb" + + chroot $SDCARD /bin/bash -c "apt install -q -y --no-install-recommends xserver-xorg xserver-xorg-video-fbdev xserver-xorg-input-all \ + xserver-xorg-input-libinput >/dev/null 2>&1" + + cp ${GST_DIR}/${RELEASE}_build/etc/iqfiles ${SDCARD}/etc/ -rfa + cp ${GST_DIR}/${RELEASE}_build/usr/lib/* ${SDCARD}/usr/lib/ -rfa + cp ${GST_DIR}/overlay/etc/udev/rules.d/* ${SDCARD}/etc/udev/rules.d/ -rfa + cp ${GST_DIR}/overlay/usr/local/bin/* ${SDCARD}/usr/local/bin/ -rfa + + fi fi if [[ $BOARD == orangepir1plus ]]; then diff --git a/external/config/sources/families/rk3399.conf b/external/config/sources/families/rk3399.conf index 6caf096..87944ef 100755 --- a/external/config/sources/families/rk3399.conf +++ b/external/config/sources/families/rk3399.conf @@ -21,8 +21,16 @@ case $BRANCH in libx11-dev unzip libxext-dev libjpeg62-dev gdisk librtmp-dev libxv-dev libpulse-dev libgl1-mesa-dev libgles2-mesa \ v4l-utils libpng16-16 cmake make" - PACKAGE_LIST_FAMILY_REMOVE="gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio \ - gstreamer1.0-plugins-ugly-amr libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer1.0-0" + PACKAGE_LIST_FAMILY_REMOVE="gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio \ + gstreamer1.0-plugins-ugly-amr libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer1.0-0" + + elif [[ $RELEASE == bionic ]]; then + PACKAGE_LIST_FAMILY="bison flex libffi-dev libmount-dev libpcre3 libpcre3-dev zlib1g-dev libssl-dev gtk-doc-tools \ + automake autoconf libtool gettext make autopoint g++ xz-utils net-tools unzip cmake make libglib2.0-dev \ + xutils-dev libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \ + gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa \ + gstreamer1.0-pulseaudio libgstreamer-plugins-base1.0-dev" + fi ;; diff --git a/scripts/makeboarddeb.sh b/scripts/makeboarddeb.sh index 288a351..62a6e7c 100755 --- a/scripts/makeboarddeb.sh +++ b/scripts/makeboarddeb.sh @@ -163,7 +163,7 @@ create_board_package() EOF - if [[ $RELEASE == bionic ]] || [[ $RELEASE == focal && $BOARDFAMILY == sun50iw6 ]]; then + if [[ $RELEASE == bionic && $BOARD != orangepi4 ]] || [[ $RELEASE == focal && $BOARDFAMILY == sun50iw6 ]]; then cat <<-EOF >> "${destination}"/DEBIAN/postinst # temporally disable acceleration on some arch in Bionic due to broken mesa packages echo 'Section "Device" @@ -171,6 +171,14 @@ create_board_package() \tOption \t"AccelMethod" "none" EndSection' >> /etc/X11/xorg.conf.d/01-orangepi-defaults.conf EOF + elif [[ $RELEASE == bionic && $BOARD == orangepi4 ]]; then + cat <<-EOF >> "${destination}"/DEBIAN/postinst + # temporally disable acceleration on some arch in Bionic due to broken mesa packages + echo 'Section "Device" + \tIdentifier \t"Default Device" + \tOption \t"AccelMethod" "glamor" + EndSection' >> /etc/X11/xorg.conf.d/01-orangepi-defaults.conf + EOF fi # install bootscripts if they are not present. Fix upgrades from old images