Skip to content

Commit 1776ebb

Browse files
Lakka-v4.x:Switch: More fixes/workarounds (#1807)
* Switch: Initial kernel cleanup * Switch: Mariko: Attempt to fix gadget attach to UDC issue * Switch: Cleanup initramfs and copy XUSB firmware for mariko to initramfs * Retroarch: Add Switch lite Controller Workaround to pre-start script * Switch: bootloader: Fix R2P syntax issue with new driver * L4T: Fix get_l4t-kernel-sources script sha256 checks This is far from the finished version, but it should fix kernel nightly issues * L4T: Switch: update config/script packages versions for nightly * L4T:Switch:Bootloader: Small cleanups, and add hekate icon for LibreELEC
1 parent cf6d746 commit 1776ebb

20 files changed

Lines changed: 189 additions & 1275 deletions

packages/lakka/retroarch_base/retroarch/scripts/retroarch-config

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,15 @@ for i in 5 4 3 2 1 0; do [ -e /dev/snd/pcmC${i}D0p ] && export ALSA_CARD=$i; don
44

55
echo "ALSA_CARD=\"$ALSA_CARD\"" > /run/libreelec/retroarch.conf
66
echo "LD_LIBRARY_PATH=\"/usr/lib:/tmp/cores\"" >> /run/libreelec/retroarch.conf
7+
8+
# WAR: Do to everything running as root, udev doesnt properly hide L/R joycon on 3 out of 4 revisions nintendo switch
9+
# which makes the combined controller index 2, but on Nintendo Switch Lite, on first boot we need to change this to 1
10+
# or built in gamepad needs user intervention to be used.
11+
12+
SERIAL_PREFIX=$(cat /sys/firmware/devicetree/base/serial-number)
13+
SERIAL_PREFIX=${SERIAL_PREFIX:0:3}
14+
15+
if [ ${SERIAL_PREFIX} = "NXV" -a ! -f /storage/.config/retroarch/retroarch.cfg ]; then
16+
cp /etc/retroarch.cfg /storage/.config/retroarch/retroarch.cfg
17+
sed -i -e 's|input_player1_joypad_index = \"2\"|input_player1_joypad_index = \"0\"|' /storage/.config/retroarch/retroarch.cfg
18+
fi

packages/linux/package.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ pre_make_target() {
320320
if [ -f "${DISTRO_DIR}/${DISTRO}/kernel_options_overrides" ]; then
321321
while read OPTION; do
322322
[ -z "${OPTION}" -o -n "$(echo "${OPTION}" | grep '^#')" ] && continue
323-
323+
324324
OPTION_NAME=${OPTION%%=*}
325325
OPTION_VAL_OVR=${OPTION##*=}
326326
OPTION_VAL_CFG=$(${PKG_BUILD}/scripts/config --state ${OPTION_NAME})
@@ -394,7 +394,7 @@ make_target() {
394394
fi
395395

396396
if [ "${LINUX}" = "L4T" ]; then
397-
export KCFLAGS+="-Wno-error=sizeof-pointer-memaccess -Wno-error=missing-attributes -Wno-error=stringop-truncation -Wno-error=stringop-overflow= -Wno-error=address-of-packed-member -Wno-error=tautological-compare -Wno-error=packed-not-aligned -Wno-error=implicit-function-declaration -Wno-error=unused-function"
397+
export KCFLAGS+=" -Wno-stringop-truncation -Wno-error=stringop-overflow -Wno-maybe-uninitialized -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-array-bounds"
398398
fi
399399

400400
DTC_FLAGS=-@ kernel_make TOOLCHAIN="${TOOLCHAIN}" ${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD} modules
Binary file not shown.
Binary file not shown.

projects/L4T/devices/Switch/initramfs/platform_init

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
#!/bin/sh
2+
23
#Screen Init
3-
echo 4 > /sys/class/graphics/fb0/blank;
4+
echo 1 > /sys/class/graphics/fb0/blank;
45
echo 0 > /sys/class/graphics/fb0/state;
56
echo 0 > /sys/class/graphics/fb0/blank;
67

7-
#sysfs poke for reboot2payload
8-
echo 1 > /sys/devices/r2p/default_payload_ready
9-
108
#Set up Schedutil
119

1210
CPU_SCHEDUTIL_GOV=0

projects/L4T/devices/Switch/packages/switch-bootloader/assets/README_CONFIG.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ Below you can find all supported keys and their defaults.
2121

2222
================================================================================
2323

24-
[r2p_action=via-payload]
25-
via-payload: Reboots to self. [Default]
24+
[r2p_action=self]
25+
self: Reboots to self. [Default]
2626
bootloader: Reboots to bootloader menu.
2727

2828
[usb3_enable=0]

projects/L4T/devices/Switch/packages/switch-bootloader/assets/boot.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ setenv boot_dir @DISTRO_PATH@
33
test -n ${id} || setenv id @DISTRO_ID@
44
test -n ${fbconsole} || setenv fbconsole 1
55
test -n ${uart_port} || setenv uart_port 0
6-
test -n ${r2p_action} || setenv r2p_action via-payload
6+
test -n ${r2p_action} || setenv r2p_action self
77
test -n ${autoboot} || setenv autoboot 0
88
test -n ${autoboot_list} || setenv autoboot_list 0
99
test -n ${als_enable} || setenv als_enable 1
Binary file not shown.

projects/L4T/devices/Switch/packages/switch-bootloader/package.mk

Lines changed: 26 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PKG_NAME="switch-bootloader"
2-
PKG_VERSION="1.0"
2+
PKG_VERSION="2.1"
33
PKG_ARCH="any"
44
PKG_DEPENDS_TARGET="switch-u-boot:host switch-u-boot:target switch-atf:target"
55
PKG_TOOLCHAIN="manual"
@@ -48,40 +48,36 @@ makeinstall_target() {
4848
cp -PRv ${PKG_BUILD}/${DISTRO}.ini ${INSTALL}/usr/share/bootloader/boot/${DISTRO}.ini
4949
cp -PRv ${PKG_BUILD}/README_CONFIG.txt ${INSTALL}/usr/share/bootloader/boot/README_CONFIG.txt
5050
cp -PRv ${PKG_DIR}/assets/${HEKATE_SPLASH} ${INSTALL}/usr/share/bootloader/boot/splash.bmp
51-
if [ "${DISTRO}" = "Lakka" ]; then
52-
cp -PRv ${PKG_DIR}/assets/${DISTRO_ICON} ${INSTALL}/usr/share/bootloader/boot/
53-
DISTRO_FOLDER_NAME="lakka"
54-
elif [ "${DISTRO}" = "LibreELEC" ]; then
55-
DISTRO_FOLDER_NAME="libreelec"
56-
fi
57-
cat << EOF >> ${INSTALL}/usr/share/bootloader/update.sh
51+
cp -PRv ${PKG_DIR}/assets/${DISTRO_ICON} ${INSTALL}/usr/share/bootloader/boot/
52+
53+
#Create update.sh for updater
54+
cat << EOF >> ${INSTALL}/usr/share/bootloader/update.sh
5855
#/bin/sh
5956
[ -z "\${BOOT_ROOT}" ] && BOOT_ROOT="/flash"
6057
[ -z "\${SYSTEM_ROOT}" ] && SYSTEM_ROOT=""
61-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot.scr" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot.scr
62-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/coreboot.rom" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/coreboot.rom
63-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/uenv.txt" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/uenv.txt
64-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/tegra210-icosa.dtb" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/tegra210-icosa.dtb
65-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/uartb_logging.dtbo" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/uartb_logging.dtbo
58+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/boot.scr" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/boot.scr
59+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/coreboot.rom" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/coreboot.rom
60+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/uenv.txt" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/uenv.txt
61+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/tegra210-icosa.dtb" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/tegra210-icosa.dtb
62+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/uartb_logging.dtbo" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/uartb_logging.dtbo
6663
[ -f "\${BOOT_ROOT}/bootloader/ini/${DISTRO}.ini" ] && rm \${BOOT_ROOT}/bootloader/ini/${DISTRO}.ini
67-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/nx-plat.dtimg" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/nx-plat.dtimg
68-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/boot.scr" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/boot.scr
69-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/bl31.bin" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/bl31.bin
70-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/bl33.bin" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/bl33.bin
71-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/nx-plat.dtimg" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/nx-plat.dtimg
72-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/${DISTRO_ICON}" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/${DISTRO_ICON}
73-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/splash.bmp" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/splash.bmp
74-
[ -f "\${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/README_CONFIG.txt" ] && rm \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/README_CONFIG.txt
75-
mkdir -p \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot
76-
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/nx-plat.dtimg \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/
77-
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/README_CONFIG.txt \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/
78-
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/boot.scr \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/
79-
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/bl31.bin \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/
80-
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/bl33.bin \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/
64+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/nx-plat.dtimg" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/nx-plat.dtimg
65+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/boot/boot.scr" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/boot/boot.scr
66+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/boot/bl31.bin" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/boot/bl31.bin
67+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/boot/bl33.bin" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/boot/bl33.bin
68+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/nx-plat.dtimg" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/nx-plat.dtimg
69+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/${DISTRO_ICON}" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/${DISTRO_ICON}
70+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/splash.bmp" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/splash.bmp
71+
[ -f "\${BOOT_ROOT}/${DISTRO_PATH}/README_CONFIG.txt" ] && rm \${BOOT_ROOT}/${DISTRO_PATH}/README_CONFIG.txt
72+
mkdir -p \${BOOT_ROOT}/${DISTRO_PATH}/boot
73+
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/nx-plat.dtimg \${BOOT_ROOT}/${DISTRO_PATH}/
74+
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/README_CONFIG.txt \${BOOT_ROOT}/${DISTRO_PATH}/
75+
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/boot.scr \${BOOT_ROOT}/${DISTRO_PATH}/boot/
76+
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/bl31.bin \${BOOT_ROOT}/${DISTRO_PATH}/boot/
77+
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/bl33.bin \${BOOT_ROOT}/${DISTRO_PATH}/boot/
8178
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/${DISTRO}.ini \${BOOT_ROOT}/bootloader/ini/${DISTRO}.ini
82-
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/splash.bmp \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/
83-
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/${DISTRO_ICON} \${BOOT_ROOT}/${DISTRO_FOLDER_NAME}/boot/
84-
79+
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/splash.bmp \${BOOT_ROOT}/${DISTRO_PATH}/boot/
80+
cp \${SYSTEM_ROOT}/usr/share/bootloader/boot/${DISTRO_ICON} \${BOOT_ROOT}/${DISTRO_PATH}/boot/
8581
EOF
8682

8783
chmod +x ${INSTALL}/usr/share/bootloader/update.sh

projects/L4T/devices/Switch/packages/switch-bootloader/release

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ cp -PR ${INSTALL}/usr/share/bootloader/boot/nx-plat.dtimg ${RELEASE_DIR}/${DISTR
1616
cp -PR ${INSTALL}/usr/share/bootloader/boot/boot.scr ${RELEASE_DIR}/${DISTRO_FOLDER_NAME}/boot
1717

1818
#Hekate Icon for distro
19-
[ ${DISTRO} = "Lakka" ] && cp -PR ${INSTALL}/usr/share/bootloader/boot/icon_${DISTRO_FOLDER_NAME}_hue.bmp ${RELEASE_DIR}/${DISTRO_FOLDER_NAME}/boot
19+
[ ${DISTRO} = "Lakka" -o ${DISTRO} = "LibreELEC" ] && cp -PR ${INSTALL}/usr/share/bootloader/boot/icon_${DISTRO_FOLDER_NAME}_hue.bmp ${RELEASE_DIR}/${DISTRO_FOLDER_NAME}/boot
2020

2121
#Hekate ini
2222
mkdir -p ${RELEASE_DIR}/bootloader/ini

0 commit comments

Comments
 (0)