From 76fd023bb049537a27473c1749277dc83d5f283f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Tue, 23 Mar 2021 16:25:27 +0100 Subject: [PATCH] busybox: add getedid script for RPi The getedid script supports the "create" and "delete" options like the x86 version. It makes use of the "dump-active-edids", "create-edid-cpio" and "update-bootloader-edid" scripts and can be used as is on other DRM platforms as well as it doesn't contain any RPi specific code. Signed-off-by: Matthias Reichl --- packages/sysutils/busybox/package.mk | 1 + packages/sysutils/busybox/scripts/getedid-drm | 55 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100755 packages/sysutils/busybox/scripts/getedid-drm diff --git a/packages/sysutils/busybox/package.mk b/packages/sysutils/busybox/package.mk index a84111a2b6..ae002922f0 100644 --- a/packages/sysutils/busybox/package.mk +++ b/packages/sysutils/busybox/package.mk @@ -130,6 +130,7 @@ makeinstall_target() { cp ${PKG_DIR}/scripts/create-edid-cpio ${INSTALL}/usr/bin/ if [ "${PROJECT}" = "RPi" ]; then cp ${PKG_DIR}/scripts/update-bootloader-edid-rpi ${INSTALL}/usr/bin/update-bootloader-edid + cp ${PKG_DIR}/scripts/getedid-drm ${INSTALL}/usr/bin/getedid fi cp ${PKG_DIR}/scripts/createlog ${INSTALL}/usr/bin/ cp ${PKG_DIR}/scripts/dthelper ${INSTALL}/usr/bin diff --git a/packages/sysutils/busybox/scripts/getedid-drm b/packages/sysutils/busybox/scripts/getedid-drm new file mode 100755 index 0000000000..2b8d7d3627 --- /dev/null +++ b/packages/sysutils/busybox/scripts/getedid-drm @@ -0,0 +1,55 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) + +usage() { + echo "$0 create|delete|help" +} + +delete_edid() { + update-bootloader-edid delete + if [ $? -eq 0 ]; then + echo "successfully removed edid override" + else + echo "error removing bootloader edid-override options" + exit 1 + fi +} + +create_edid() { + CONNECTORS=$(dump-active-edids -q) + if [ $? -ne 0 -o -z "${CONNECTORS}" ]; then + echo "error: cannot detemine active connectors" + exit 1 + fi + create-edid-cpio -q + if [ $? -ne 0 ]; then + echo "error creating edid.cpio" + exit 1 + fi + update-bootloader-edid set ${CONNECTORS} + if [ $? -eq 0 ]; then + echo "successfully installed edid override for ${CONNECTORS}" + else + echo "error setting bootloader edid-override options" + exit 1 + fi +} + +case $1 in + create) + shift + create_edid "$@" + ;; + delete) + delete_edid + ;; + help) + usage + ;; + *) + usage + exit 1 + ;; +esac