0
0
mirror of https://github.com/libretro/Lakka-LibreELEC.git synced 2025-01-19 04:52:07 +00:00
Lakka-LibreELEC/projects/L4T/packages/busybox/scripts/update-bootloader-edid-rpi
GavinDarkglider 765323df23 L4T/Ayn: upstream changes from 5.x
Lakka 5.x Switch changes (#1853)
Lakka v5.x switchroot 5.1.2 (#1871)
Fix Switch Issue's in upstream 5.x (#1888)
Minor Switch Changes (#1893)
Lakka v5.x switch 3 (#1895)
Lakka v5.x switch 4 (#1898)
L4T: Xorg-server: Fix build issue (#1924)
Switch: remove ra patch
Lakka v5.x switch 6 (#1926)
Cleanups, More LibreELEC Stuff, more permission fixes, Misc switch stuff. (#1930)
Switch: U-Boot: bump version to 2024-NX02 (#1946)

L4T/Ayn post-upstreaming fixes
- retroarch_joypad_autoconfig: remove spaces from file names
- retroarch: remove Switch specific patch merged upstream
- libXv: move to L4T packages folder (package removed in upstream)
- bring some packages from v5.x to L4T packages
- ffmpeg: remove vulkan
- remove stella core from Switch build (missing C++ headers)
- Ayn/Odin: use proper kernel arg to not hide kernel messages in console
- connman: add wpa_supplicant support back
2024-05-21 17:50:20 +02: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