feat: Visual upgrades, Dallas sensor backend, and docs

This commit is contained in:
2026-01-14 14:44:01 +01:00
commit 7a79e48378
11 changed files with 1291 additions and 0 deletions

63
run_pi.sh Normal file
View File

@@ -0,0 +1,63 @@
#!/bin/bash
# Ensure we are in the script's directory
cd "$(dirname "$0")"
# Activate venv if it exists
if [ -f "venv/bin/activate" ]; then
source venv/bin/activate
fi
# Configuration for Raspberry Pi Headless Display (EGLFS/KMS)
# Default to eglfs, but allow override
# Usage: ./run_pi.sh [platform]
# Example: ./run_pi.sh linuxfb
# Initialize from argument or default
# Check if running under X11 (DISPLAY is set)
if [ -n "$DISPLAY" ]; then
echo "X11 environment detected (DISPLAY=$DISPLAY). Using xcb."
TARGET_PLATFORM="xcb"
else
# If DISPLAY is not set, use the provided argument or default to linuxfb
TARGET_PLATFORM=${1:-linuxfb}
fi
# Diagnostic: Check for DRI devices
if [ -z "$(ls /dev/dri/card* 2>/dev/null)" ] && [ "$TARGET_PLATFORM" == "eglfs" ]; then
echo "WARNING: /dev/dri/card0 not found. Hardware acceleration (EGLFS) will likely fail."
echo "Check /boot/config.txt for 'dtoverlay=vc4-kms-v3d'."
echo "Switching to linuxfb..."
TARGET_PLATFORM=linuxfb
fi
if [ "$TARGET_PLATFORM" == "linuxfb" ]; then
export QSG_RENDER_LOOP=basic
fi
export QT_QPA_PLATFORM=$TARGET_PLATFORM
# Fix for "EGLFS: Failed to open /dev/dri/card0" or similar when running as root/headless
# Qt needs a runtime directory
if [ -z "$XDG_RUNTIME_DIR" ]; then
export XDG_RUNTIME_DIR=/tmp/runtime-root
mkdir -p $XDG_RUNTIME_DIR
chmod 700 $XDG_RUNTIME_DIR
fi
# For Raspberry Pi 4 with KMS (vc4-kms-v3d)
export QT_QPA_EGLFS_INTEGRATION=eglfs_kms
export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
# export QT_LOGGING_RULES=qt.qpa.*=true
# export QSGRENDERER_DEBUG=1
echo "Starting Volvo Display with platform: $TARGET_PLATFORM"
if [ -f "./dist/volvodisplay" ]; then
./dist/volvodisplay
else
python3 main.py
fi