1
0
mirror of https://github.com/libretro/Lakka-LibreELEC.git synced 2024-11-24 11:26:19 +00:00
Lakka-LibreELEC/projects/L4T/packages/busybox/scripts/update-bootloader-edid-rpi
GavinDarkglider 47c07c60ba
[WIP]Lakka 5.x Switch changes..... (#1853)
* Latest 4.3 changes poorly merged

* Build fixes

* Squash?

* Fix ppsspp on switch

* Fix video recording, add base stuff for nvv4l2 decoder/encoder, but leave disabled for now

* Clean up left over files

* Switch: Dont build xpadneo driver, but install configs

* FFMpeg: Add back L4T decoder Patches
2023-06-10 03:16:27 +03:00

96 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
EDID_DIR="/storage/.config/firmware/edid"
EDID_CPIO="/flash/edid.cpio"
CONFIG_TXT="/flash/config.txt"
CMDLINE_TXT="/flash/cmdline.txt"
usage() {
echo "$0 set CONNECTOR... | delete | help"
}
check_args() {
if [ $# -eq 0 ]; then
echo "error: no connector(s) specified!"
exit 1
fi
if [ ! -f "${EDID_CPIO}" ]; then
echo "error: ${EDID_CPIO} not present"
exit 1
fi
for conn in "$@"; do
if [ ! -f "${EDID_DIR}/edid-${conn}.bin" ]; then
echo "error: ${EDID_DIR}/edid-${conn}.bin not present"
exit 1
fi
done
}
cleanup_config_txt() {
sed -i "/^initramfs edid\.cpio/d" ${CONFIG_TXT}
}
get_cleaned_cmdline_txt() {
sed \
-e 's| drm\.edid_firmware=[^ ]*||g' \
-e 's| video=[^ ]*||g' \
${CMDLINE_TXT}
}
add_initramfs() {
# make sure config.txt ends with a newline
if [ "$(tail -c 1 ${CONFIG_TXT} | tr -c -d '\n' | tr '\n' 'X')" != "X" ]; then
echo "" >> ${CONFIG_TXT}
fi
echo "initramfs edid.cpio" >> ${CONFIG_TXT}
}
add_cmdline() {
CMDLINE=$(get_cleaned_cmdline_txt)
FIRMWARE=""
VIDEO=""
for conn in "$@"; do
VIDEO="${VIDEO} video=${conn}:D"
[ -n "${FIRMWARE}" ] && FIRMWARE="${FIRMWARE},"
FIRMWARE="${FIRMWARE}${conn}:edid/edid-${conn}.bin"
done
echo "${CMDLINE} drm.edid_firmware=${FIRMWARE}${VIDEO}" > ${CMDLINE_TXT}
}
set_edids() {
check_args "$@"
mount -o remount,rw /flash
cleanup_config_txt
add_initramfs
add_cmdline "$@"
mount -o remount,ro /flash
}
delete_edids() {
mount -o remount,rw /flash
cleanup_config_txt
CMDLINE=$(get_cleaned_cmdline_txt)
echo "${CMDLINE}" > ${CMDLINE_TXT}
mount -o remount,ro /flash
}
case $1 in
set)
shift
set_edids "$@"
;;
delete)
delete_edids
;;
help)
usage
;;
*)
usage
exit 1
;;
esac