April 2021 Boot Image "Odroid_XU4_Archlinux_RTIRQ_GDM_Gnome_Mate.img" audio low-latency / touchscreen based on https://archlinuxarm.org/platforms/armv7/samsung/odroid-xu4 This image is my personal backup which I share of a custom Odroid XU4 Boot Image, to fulfill two purposes: 1. Have RTIRQ and CPU Performance enabled for realtime music application (DJ, Sequencer) with an external USB sound card (e.g. Traktor A6) 2. work on a small 7" touchscreen without a keyboard or mouse The image is not optimized in disk size and is quite bloated. Please feel free to delete what you don't need Requirements: -> Odroid XU4 mini computer (similar to Raspberry Pi 4) -> Power Adapter -> Monitor -> compatible touchscreen or mouse/keyboard -> 32GB SSD card -> cables Recommended / Optional: -> external USB soundcard which is linux compatible (e.g. Traktor A6) -> compatible (fast, powered) USB hub -> a PC to download and burn the SSD card -> 64GB or 128GB SSD card is preferred (min 32GB) ------------------------------ ------------------------------ Installation Guide -------------- 1. 7Zip: make sure you have 7-zip installed on your PC (you can download it here: https://www.7-zip.org) 2. download all parts of the image (..7z.001 to ..7z.005 and put them into the same folder 3. extract Odroid_XU4_Archlinux_RTIRQ_GDM_Gnome_Mate.img to your PC with 7Zip 4. burn above .IMG file to a SSD drive (32 GB or bigger) following these directions: https://wiki.odroid.com/troubleshooting/odroid_flashing_tools 5. power off your Odroid XU4, insert the image and reboot Login: there are currently 3 users: user1: root pw: root ...administrator user2: le3d pw: le3d ...user profile setup to load into Gnome Desktop which is optimized for touchscreen (gestures, onscreen keyboard); user can use sudo to execute commands as root user4: alarm pw: alarm ...user profile setup to boot into Mate Desktop - for non-touchscreen use (e.g. Monitor, Mouse and Keyboard); user is not yet part of the sudo-ers group; one can change to root with the su command ------------------------------ ------------------------------ Configuration: -------------- Boot.txt -> Screen resolution (e.g. for mini display), while a regular Monitor will just set itself to the correct resolution, a custom touchscreen might need a custom configuration to work (e.g. for 1024 x 600pixel); similar as described here https://forum.odroid.com/viewtopic.php?t=29837 ), but instead of the boot.ini on archlinux it is this file: /boot/boot.txt so uncomment the line (only one) below the resolution setting you need e.g. if this is the one you want # ----------------------------------------------- # 1920x1080 50hz (1080P) without monitor data using generic information (1080p 50hz-noedid) # setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080_50hz.bin" edit it to look something like this instead: # ----------------------------------------------- # 1920x1080 50hz (1080P) without monitor data using generic information (1080p 50hz-noedid) setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080_50hz.bin" -> Realtime IRQ (RTIRQ) if you don't want Realtime Interrupts enabled (e.g. you don't use any audio setup), you can remove the word 'threadirqs' (without '') from the line which starts with 'setenv bootargs ...' afterwards you need to run "./mksrc" in/boot/ as root user to compile the boot.txt ------------------------------ ------------------------------ startup script -------------- please edit and comment out what you don't need in here: /etc/rc.d/rc.local as a root (e.g. turn off the performance mode if you don't need it like for non-audio use) ------------------------------ ------------------------------ Latency tweaking -------------- please follow the steps as described here https://github.com/mixxxdj/mixxx/wiki/Adjusting-Audio-Latency under "User permissions to create realtime threads." If you add a new user, please be sure to give the new username realtime rights to get low latency in your audio programm -> usermod $USER -a -G realtime and make sure your current user name is having high rtprio setting under /etc/security/limits.conf as root and add - rtprio 99 ------------------------------ ------------------------------ Known issues & Tips: -------------- Display Manager (GDM/LightDM/SDDM): if you are not using gnome desktop and prefer Mate (e.g. for non-touchscreen use), you might want to disable gdm display manager and enable lightm (which is already installed), as root execute these commands: systemctl disable gdm systemctl enable lightdm or alternative enable sddm (instead of lightdm), then reboot ------------------------------ Login with Touchscreen GDM login screen keyboard, seems to have a bug where the Enter key can not be triggered via touch. A workaround could be to just use autologin (e.g. something like https://help.gnome.org/admin/system-admin-guide/stable/login-automatic.html.en - for archlinux)