From 813e9a29bbb59ce1bee2e6713d550885fe1f9c74 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 2 Feb 2023 13:41:30 +0100 Subject: [PATCH 1/7] RPi2: increase CMA size to 384MB The default of 256MB often leads to kodi crashes because mesa driver can't allocate memory for textures / images. Signed-off-by: Matthias Reichl --- projects/RPi/devices/RPi2/config/distroconfig.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 projects/RPi/devices/RPi2/config/distroconfig.txt diff --git a/projects/RPi/devices/RPi2/config/distroconfig.txt b/projects/RPi/devices/RPi2/config/distroconfig.txt new file mode 100644 index 0000000000..f1d1544d91 --- /dev/null +++ b/projects/RPi/devices/RPi2/config/distroconfig.txt @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv) + +# WARNING: DO NOT EDIT THIS FILE - IT WILL BE OVERWRITTEN WHEN UPGRADING! +display_auto_detect=1 +dtoverlay=vc4-kms-v3d,cma-384 +dtoverlay= +disable_overscan=1 +disable_fw_kms_setup=1 From 4337d4ff7e5794b3bfc1e17c1f48b6b746ecd898 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 2 Feb 2023 14:02:19 +0100 Subject: [PATCH 2/7] bcm2835-bootloader: support multiple distroconfig files in update/release Signed-off-by: Matthias Reichl --- packages/tools/bcm2835-bootloader/files/update.sh | 10 ++++++---- packages/tools/bcm2835-bootloader/release | 8 +++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/tools/bcm2835-bootloader/files/update.sh b/packages/tools/bcm2835-bootloader/files/update.sh index cf645523a8..1d07b7fe93 100755 --- a/packages/tools/bcm2835-bootloader/files/update.sh +++ b/packages/tools/bcm2835-bootloader/files/update.sh @@ -47,10 +47,12 @@ else fi fi -# Add distro config file -if [ -f $SYSTEM_ROOT/usr/share/bootloader/distroconfig.txt ]; then - cp -p $SYSTEM_ROOT/usr/share/bootloader/distroconfig.txt $BOOT_ROOT -fi +# Add distro config files +for distro in "$SYSTEM_ROOT/usr/share/bootloader/distroconfig"*.txt ; do + if [ -f "${distro}" ]; then + cp -p "${distro}" $BOOT_ROOT + fi +done # mount $BOOT_ROOT r/o sync diff --git a/packages/tools/bcm2835-bootloader/release b/packages/tools/bcm2835-bootloader/release index f3cc290c9d..7ec99fd3a2 100755 --- a/packages/tools/bcm2835-bootloader/release +++ b/packages/tools/bcm2835-bootloader/release @@ -15,6 +15,8 @@ mkdir -p $RELEASE_DIR/3rdparty/bootloader if [ -f $INSTALL/usr/share/bootloader/config.txt ]; then cp -PR $INSTALL/usr/share/bootloader/config.txt $RELEASE_DIR/3rdparty/bootloader/ fi - if [ -f $INSTALL/usr/share/bootloader/distroconfig.txt ]; then - cp -PR $INSTALL/usr/share/bootloader/distroconfig.txt $RELEASE_DIR/3rdparty/bootloader/ - fi + for distro in "$INSTALL/usr/share/bootloader/distroconfig"*.txt ; do + if [ -f "${distro}" ]; then + cp -PR "${distro}" $RELEASE_DIR/3rdparty/bootloader/ + fi + done From 5a02115f3145c39453bf0bfbfb9df3067f7e2f3e Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 2 Feb 2023 14:07:57 +0100 Subject: [PATCH 3/7] RPi: add distroconfig-composite.txt files This allows users to easily enable composite video out by changing the include in config.txt. Signed-off-by: Matthias Reichl --- .../files/distroconfig-composite.txt | 9 +++++++++ .../devices/RPi2/config/distroconfig-composite.txt | 9 +++++++++ .../devices/RPi4/config/distroconfig-composite.txt | 13 +++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 packages/tools/bcm2835-bootloader/files/distroconfig-composite.txt create mode 100644 projects/RPi/devices/RPi2/config/distroconfig-composite.txt create mode 100644 projects/RPi/devices/RPi4/config/distroconfig-composite.txt diff --git a/packages/tools/bcm2835-bootloader/files/distroconfig-composite.txt b/packages/tools/bcm2835-bootloader/files/distroconfig-composite.txt new file mode 100644 index 0000000000..16f5b50ec9 --- /dev/null +++ b/packages/tools/bcm2835-bootloader/files/distroconfig-composite.txt @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv) + +# WARNING: DO NOT EDIT THIS FILE - IT WILL BE OVERWRITTEN WHEN UPGRADING! +display_auto_detect=1 +dtoverlay=vc4-kms-v3d,composite=1 +dtoverlay= +disable_overscan=1 +disable_fw_kms_setup=1 diff --git a/projects/RPi/devices/RPi2/config/distroconfig-composite.txt b/projects/RPi/devices/RPi2/config/distroconfig-composite.txt new file mode 100644 index 0000000000..496e1210d8 --- /dev/null +++ b/projects/RPi/devices/RPi2/config/distroconfig-composite.txt @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv) + +# WARNING: DO NOT EDIT THIS FILE - IT WILL BE OVERWRITTEN WHEN UPGRADING! +display_auto_detect=1 +dtoverlay=vc4-kms-v3d,cma-384,composite=1 +dtoverlay= +disable_overscan=1 +disable_fw_kms_setup=1 diff --git a/projects/RPi/devices/RPi4/config/distroconfig-composite.txt b/projects/RPi/devices/RPi4/config/distroconfig-composite.txt new file mode 100644 index 0000000000..4fb0e6c021 --- /dev/null +++ b/projects/RPi/devices/RPi4/config/distroconfig-composite.txt @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv) + +# WARNING: DO NOT EDIT THIS FILE - IT WILL BE OVERWRITTEN WHEN UPGRADING! +arm_boost=1 +arm_64bit=1 +kernel=kernel.img +display_auto_detect=1 +enable_tvout=1 +dtoverlay=vc4-kms-v3d,cma-512,composite=1 +dtoverlay= +disable_overscan=1 +disable_fw_kms_setup=1 From aae078a2906d45aa3fec224baa059eafcf4a9e91 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 2 Feb 2023 14:09:07 +0100 Subject: [PATCH 4/7] bcm2835-bootloader: also install distroconfig-composite.txt Signed-off-by: Matthias Reichl --- packages/tools/bcm2835-bootloader/package.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index 2469c4d3a3..e3513fadac 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -29,5 +29,6 @@ makeinstall_target() { find_file_path bootloader/canupdate.sh && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader find_file_path config/distroconfig.txt ${PKG_DIR}/files/distroconfig.txt && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader + find_file_path config/distroconfig-composite.txt ${PKG_DIR}/files/distroconfig-composite.txt && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader find_file_path config/config.txt ${PKG_DIR}/files/config.txt && cp -PRv ${FOUND_PATH} ${INSTALL}/usr/share/bootloader } From 156a3f2614f240d13aea5d1ccff6a1a7b712c66f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 2 Feb 2023 14:13:09 +0100 Subject: [PATCH 5/7] scripts/image: support multiple distroconfig files Signed-off-by: Matthias Reichl --- scripts/image | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/image b/scripts/image index 436552ffa5..7a0d80acfd 100755 --- a/scripts/image +++ b/scripts/image @@ -411,7 +411,11 @@ if [ "${1}" = "release" -o "${1}" = "mkimage" -o "${1}" = "noobs" ]; then # Copy Bootloader cp -PR ${INSTALL}/usr/share/bootloader/config.txt ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ - cp -PR ${INSTALL}/usr/share/bootloader/distroconfig.txt ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ + for distro in "${INSTALL}/usr/share/bootloader/distroconfig"*.txt ; do + if [ -f "${distro}" ]; then + cp -PR "${distro}" ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ + fi + done cp -PR ${INSTALL}/usr/share/bootloader/LICENCE* ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ cp -PR ${INSTALL}/usr/share/bootloader/bootcode.bin ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ cp -PR ${INSTALL}/usr/share/bootloader/fixup.dat ${RELEASE_DIR}/${NOOBS_DISTRO}/System/ From e63855bc0f32c5728c88fbb0c412a45f91977772 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 2 Feb 2023 15:34:24 +0100 Subject: [PATCH 6/7] scripts/mkimage: support multiple distroconfig files Signed-off-by: Matthias Reichl --- scripts/mkimage | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/mkimage b/scripts/mkimage index ff836c3866..7f65fd9a79 100755 --- a/scripts/mkimage +++ b/scripts/mkimage @@ -221,7 +221,11 @@ EOF mcopy "${RELEASE_DIR}/3rdparty/bootloader/fixup.dat" :: >"${SAVE_ERROR}" 2>&1 || show_error mcopy "${RELEASE_DIR}/3rdparty/bootloader/start.elf" :: >"${SAVE_ERROR}" 2>&1 || show_error mcopy "${RELEASE_DIR}/3rdparty/bootloader/config.txt" :: >"${SAVE_ERROR}" 2>&1 || show_error - mcopy "${RELEASE_DIR}/3rdparty/bootloader/distroconfig.txt" :: >"${SAVE_ERROR}" 2>&1 || show_error + for distro in "${RELEASE_DIR}/3rdparty/bootloader/distroconfig"*.txt ; do + if [ -f "${distro}" ]; then + mcopy "${distro}" ::/"${distro##*/}" >"${SAVE_ERROR}" 2>&1 || show_error + fi + done for dtb in "${RELEASE_DIR}/3rdparty/bootloader/"*.dtb ; do if [ -f "${dtb}" ]; then From a581207139e0fe4fe54e8993913b4267716d8fb7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 2 Feb 2023 15:34:31 +0100 Subject: [PATCH 7/7] RPi: config.txt: document how to enable composite video Signed-off-by: Matthias Reichl --- .../tools/bcm2835-bootloader/files/config.txt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/tools/bcm2835-bootloader/files/config.txt b/packages/tools/bcm2835-bootloader/files/config.txt index 22f10960aa..cdf41e3474 100644 --- a/packages/tools/bcm2835-bootloader/files/config.txt +++ b/packages/tools/bcm2835-bootloader/files/config.txt @@ -17,15 +17,21 @@ gpu_mem=76 # rebooting. hdmi_ignore_cec_init=1 -################################################################################ -# Include distribution specific config file if it exists. -################################################################################ [all] +################################################################################ +# Use distroconfig-composite.txt instead of distroconfig.txt to enable +# composite video output. +# The composite video mode needs to be configured in cmdline.txt: +# For PAL add: video=Composite-1:720x576@50ie +# For NTSC add: video=Composite-1:720x480@60ie +################################################################################ include distroconfig.txt - -# uncomment to enable infrared remote recevier connected to GPIO 18 -#dtoverlay=gpio-ir,gpio_pin=18 +#include distroconfig-composite.txt # uncomment to enable analog audio output #dtparam=audio=on #audio_pwm_mode=1 + +# uncomment to enable infrared remote receiver connected to GPIO 18 +#dtoverlay=gpio-ir,gpio_pin=18 +