Tools and Utilities - joneavila/aesthetic GitHub Wiki
Utility Scripts
The utils/
directory contains several scripts, including:
compare_themes.sh
- Compares two muOS themes by analyzing directory structures and file contentsconvert_font_to_binary.sh
- Converts font files to binary format for muOSgenerate_template_glyphs.py
- Converts SVG icons to PNG format using the glyph mapglyph_map.txt
, which maps output paths for glyph images to input SVG filesprint_average_glyph_dimensions.sh
- Calculates the average dimensions of PNG glyphs in a directory, useful for setting the size of generated glyphs
See their documentation for more information.
GitHub Assets
The animated preview in README.md
shows muOS with various theme settings, now available as built-in presets.
To create a new preview:
- Capture screenshots using
Menu
+Power
on handheld - Assemble screenshots in video editor, such as iMovie, 1 second per image
- Process with FFmpeg to crop to display dimensions, loop, and convert to WEBP:
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS,crop=in_h*4/3:in_h" -r 10 -loop 0 output.webp
Note: The preview can be created using only images and FFmpeg if you are an FFmpeg wizard. If you have a script to do this, please submit a PR!
Pre-compiled LÖVE Binaries and Libraries
Pre-compiled LÖVE binaries and libraries are included in the repository. See LICENSE for details.
Cebion/love2d_aarch64 provides pre-compiled binaries (up to LÖVE 11.4, outdated as of 2025-02-19).
Compiling LÖVE Binaries and Libraries
For compiling LÖVE, see PortMaster – Development Guide. Below are the commands I used on an Ubuntu 64-bit Arm VM:
# Install dependencies
sudo apt update
sudo apt -y install pkg-config
# Build LuaJIT from source:
# https://luajit.org/install.html
git clone https://luajit.org/git/luajit.git
cd luajit
make && sudo make install
# Install SDL2:
# https://wiki.libsdl.org/SDL2/Installation
sudo apt-get install libsdl2-dev
sudo apt-get install libopenal-dev
# Download LÖVE source, extract
wget https://github.com/love2d/love/releases/download/11.5/love-11.5-linux-src.tar.gz
tar xf love-11.5-linux-src.tar.gz
cd love-11.5/
# Configure, build
./configure
make -j12
strip src/.libs/liblove-11.5.so
cp src/.libs/liblove-11.5.so device/libs
cp src/.libs/love device/