### Single SD card setup: equivalent paths to knulli.conf Source: https://knulli.org/configure/patches-and-overlays Shows two paths that point to the same file on a single SD card setup. ```text /media/SHARE/system/knulli.conf ``` ```text /userdata/system/knulli.conf ``` -------------------------------- ### Dual SD card setup: equivalent paths to knulli.conf Source: https://knulli.org/configure/patches-and-overlays Shows two paths that point to the same file on a dual SD card setup. ```text /media/SHARE_1/system/knulli.conf ``` ```text /userdata/system/knulli.conf ``` -------------------------------- ### Example glslp preset file content Source: https://knulli.org/configure/customization/shaders Shows the content of a glslp preset file that points to the absolute path of a glsl shader. The example uses /userdata/shaders/shaders/sharp-shimmerless/sharp-shimmerless.glsl with linear filtering enabled. ```text shaders = 1 shader0 = /userdata/shaders/shaders/sharp-shimmerless/sharp-shimmerless.glsl filter_linear0 = true ``` -------------------------------- ### Windows absolute path example Source: https://knulli.org/configure/patches-and-overlays Shows the absolute path format on Windows, starting with a drive letter, used to locate the user's Pictures folder. ```text C:\Users\\Pictures ``` -------------------------------- ### Establish ADB shell connection from Windows Source: https://knulli.org/play/add-games/accessing-via-usb Run this command from a Windows Terminal (PowerShell or CMD) in the folder where ADB SDK Platform tools are installed to get command line access to the KNULLI device. ```bash adb.exe shell ``` -------------------------------- ### Flash boot.img and env.img to partitions Source: https://knulli.org/guides/firmware-extraction/h700-firmware-extract Flash the boot.img and env.img to the first two partitions of the SD card. These commands write the boot image and environment image to their respective partitions. ```bash sudo dd if=boot.img of=/dev/sdh1 bs=1024 sudo dd if=env.img of=/dev/sdh2 bs=1024 ``` -------------------------------- ### Create custom.sh to copy calibration files Source: https://knulli.org/devices/trimui/smart-pro Create a custom.sh script that copies the calibration files after every boot. The touch command creates the file, then the script content is added. The file must have UTF-8 encoding and Unix line endings (LF). This method survives system updates. ```bash touch /userdata/system/custom.sh ``` ```bash #!/bin/bash cp /userdata/system/joypad.config /mnt/UDISK/joypad.config cp /userdata/system/joypad_right.config /mnt/UDISK/joypad_right.config ``` -------------------------------- ### Example password setting in knulli.conf Source: https://knulli.org/play/retro-achievements Example of setting a password value in the KNULLI config file. The value is stored in plaintext and requires no quotations. ```plaintext global.retroachievements.password=This1sN0tSecure ``` -------------------------------- ### Original ln -sfv savedir setup Source: https://knulli.org/guides/portmaster-and-exfat Original launch script lines that create a symbolic link for the savedir. The first line is a comment, the second removes the existing link, and the third creates a new symbolic link pointing to the game's savedata directory. ```bash # Setup savedir $ESUDO rm -rf ~/.config/StardewValley ln -sfv "$gamedir/savedata" ~/.config/StardewValley ``` -------------------------------- ### Build KNULLI for Trim UI Brick and Smart Pro Source: https://knulli.org/development/building-knulli-with-docker Build target for Trim UI Brick and Trim UI Smart Pro devices. Use this command to build the firmware for these devices. ```bash make a133-build ``` -------------------------------- ### Run patch installer script Source: https://knulli.org/configure/patches-and-overlays Execute the patch installer from the SSH command line. Note the dot at the beginning of the command, which is required to run the script from the current directory. ```bash ./userdata/system/patch-installer.sh ``` -------------------------------- ### Extract boot0, boot_package, boot.img, env.img from stock image with dd Source: https://knulli.org/guides/firmware-extraction/h700-firmware-extract Extract boot0, boot_package, boot.img, and env.img from the stock firmware image RG35XXH-EN16GB-OS240330.IMG using dd with specific offsets. First extract boot0 and boot_package, then run fdisk -l to find partition start sectors, and finally dump partitions 1 and 2 for boot.img and env.img. ```bash $ dd if=RG35XXH-EN16GB-OS240330.IMG of=boot0.img bs=1024 skip=8 count=64 ``` ```bash $ dd if=RG35XXH-EN16GB-OS240330.IMG of=boot_package.img bs=1024 skip=16400 count=20464 ``` ```bash $ fdisk -l RG35XXH-EN16GB-OS240330.IMG Disk RG35XXH-EN16GB-OS240330.IMG: 14.41 GiB, 15476981760 bytes, 30228480 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: AB6F3888-569A-4926-9668-80941DCB40BC Device Start End Sectors Size Type RG35XXH-EN16GB-OS240330.IMG1 73728 8880127 8806400 4.2G Microsoft basic data RG35XXH-EN16GB-OS240330.IMG2 8880128 8945663 65536 32M Microsoft basic data RG35XXH-EN16GB-OS240330.IMG3 8945664 8978431 32768 16M Microsoft basic data RG35XXH-EN16GB-OS240330.IMG4 8978432 9109503 131072 64M Microsoft basic data RG35XXH-EN16GB-OS240330.IMG5 9109504 25886719 16777216 8G Microsoft basic data RG35XXH-EN16GB-OS240330.IMG6 25886720 30226431 4339712 2.1G Microsoft basic data ``` ```bash dd if=RG35XXH-EN16GB-OS240330.IMG of=boot.img bs=512 skip=73728 count=8806400 dd if=RG35XXH-EN16GB-OS240330.IMG of=env.img bs=512 skip=8880128 count=65536 ``` -------------------------------- ### Navigate to ADB platform-tools directory Source: https://knulli.org/devices/trimui/smart-pro Use the cd command to change to the directory where ADB SDK Platform Tools are installed. Replace the path with your actual installation location. ```shell cd C:\Users\Knulli\tools\adb\platform-tools ```