### Install User Service Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Installs the trlcd user service and restarts it. ```bash ./install.sh --user systemctl --user restart trlcd ``` -------------------------------- ### Install libusb Dev Package (openSUSE) Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Installs the libusb-1.0 development headers on openSUSE. ```bash sudo zypper install libusb-1_0-devel ``` -------------------------------- ### Install System Service Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Installs the trlcd system service and restarts it. ```bash sudo ./install.sh --system sudo systemctl restart trlcd ``` -------------------------------- ### Minimal Configuration Example Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md A basic layout.cfg file demonstrating essential settings for background image, positioning, text UI orientation, and streaming parameters. ```ini # Required background image (PNG with transparency is OK) background_png=background.png # Move / align background (number or "center"). Optional 180° flip. background_x=center background_y=center background_flip=0 # Big off-screen framebuffer (as % of panel) and viewport crop fb_scale_percent=150 viewport_x=center viewport_y=center # Global text UI orientation (per-text blocks can override) text_orientation=portrait # portrait|landscape text_landscape_dir=cw # when landscape: cw|ccw text_flip=0 # 0|1 (180° after orientation) # Streaming fps=0 # 0 = send once; >0 = loop (good for live tokens) once=1 # set 0 to keep sending frames while fps>0 iface=-1 # -1 = auto-pick USB interface debug=0 # Semi-transparent footer bar (logical UI coords; rotates with text UI) [overlay] rect=0,250,240,70 color=0,0,0,128 # Live CPU line (inherits global orientation) [text] text=CPU %CPU_TEMP% • %CPU_USAGE% x=12 y=262 color=255,255,255,255 scale=2 # Vertical label example (per-text overrides) [text] text=RPM x=2 y=40 color=255,255,255,255 scale=2 orientation=landscape # per-text: portrait|landscape|inherit landscape_dir=ccw # per-text: cw|ccw|inherit flip=inherit # per-text: 0|1|inherit # Optional PNG overlay layer (absolute FB coords) [image] path=overlay1.png x=12 y=40 alpha=255 scale=1.0 ``` -------------------------------- ### Install libusb Dev Package (Fedora/RHEL) Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Installs the libusb-1.0 development headers on Fedora/RHEL-based systems. ```bash sudo dnf install libusb1-devel ``` -------------------------------- ### Install libusb Dev Package (Debian/Ubuntu) Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Installs the libusb-1.0 development headers on Debian-based systems. ```bash sudo apt-get update sudo apt-get install -y libusb-1.0-0-dev ``` -------------------------------- ### Install libusb Dev Package (Arch) Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Installs the libusb development package on Arch Linux. ```bash sudo pacman -S libusb ``` -------------------------------- ### Download stb_image.h Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Download the stb_image.h header file if it is missing. This is required for image loading functionality. ```bash wget https://raw.githubusercontent.com/nothings/stb/master/stb_image.h ``` -------------------------------- ### Configure udev Rule for LCD Access Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Creates a udev rule to grant non-sudo access to the USB LCD by setting read/write permissions for the specified vendor and product IDs. ```bash SUBSYSTEM=="usb", ATTR{idVendor}=="0416", ATTR{idProduct}=="5302", MODE="0666" ``` -------------------------------- ### Run trlcd_libusb Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Executes the trlcd_libusb program. Ensure a background.png is present and layout.cfg is configured. ```bash ./trlcd_libusb ``` -------------------------------- ### Build trlcd_libusb Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Compiles the trlcd_libusb program with optimization and warnings enabled, linking against libusb-1.0. ```bash gcc -O2 -Wall trlcd_libusb.c -lusb-1.0 -o trlcd_libusb ``` -------------------------------- ### Build trlcd_libusb with Math Library Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Compiles the trlcd_libusb program, including the math library, which may be necessary if using STBI_NO_LINEAR and encountering linker errors related to 'pow'. ```bash gcc -O2 -Wall trlcd_libusb.c -lusb-1.0 -lm -o trlcd_libusb ``` -------------------------------- ### Reload udev Rules Source: https://github.com/nonameonfile/trlcd_libusb/blob/main/README.md Reloads the udev rules to apply changes and triggers a re-enumeration of devices. ```bash sudo udevadm control --reload-rules sudo udevadm trigger ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.