|
@@ -64,7 +64,15 @@ setup_systemd() {
|
|
|
local SERVICE_FILE="/etc/systemd/system/dune-weaver-touch.service"
|
|
local SERVICE_FILE="/etc/systemd/system/dune-weaver-touch.service"
|
|
|
|
|
|
|
|
# Generate service file with linuxfb backend (works on all Pi models)
|
|
# Generate service file with linuxfb backend (works on all Pi models)
|
|
|
- echo " ℹ️ Using linuxfb backend"
|
|
|
|
|
|
|
+ # Pi 5 needs explicit rotation since cmdline.txt rotation doesn't apply to Qt linuxfb
|
|
|
|
|
+ local QT_PLATFORM="linuxfb:fb=/dev/fb0"
|
|
|
|
|
+ if [ "$IS_PI5" = true ]; then
|
|
|
|
|
+ QT_PLATFORM="linuxfb:fb=/dev/fb0:rotation=180"
|
|
|
|
|
+ echo " ℹ️ Using linuxfb backend with 180° rotation (Pi 5)"
|
|
|
|
|
+ else
|
|
|
|
|
+ echo " ℹ️ Using linuxfb backend"
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
cat > "$SERVICE_FILE" << EOF
|
|
cat > "$SERVICE_FILE" << EOF
|
|
|
[Unit]
|
|
[Unit]
|
|
|
Description=Dune Weaver Touch Interface
|
|
Description=Dune Weaver Touch Interface
|
|
@@ -76,7 +84,7 @@ Type=simple
|
|
|
User=$ACTUAL_USER
|
|
User=$ACTUAL_USER
|
|
|
Group=$ACTUAL_USER
|
|
Group=$ACTUAL_USER
|
|
|
WorkingDirectory=$SCRIPT_DIR
|
|
WorkingDirectory=$SCRIPT_DIR
|
|
|
-Environment=QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
|
|
|
|
|
|
|
+Environment=QT_QPA_PLATFORM=$QT_PLATFORM
|
|
|
Environment=QT_QPA_FB_HIDECURSOR=1
|
|
Environment=QT_QPA_FB_HIDECURSOR=1
|
|
|
ExecStart=$SCRIPT_DIR/venv/bin/python $SCRIPT_DIR/main.py
|
|
ExecStart=$SCRIPT_DIR/venv/bin/python $SCRIPT_DIR/main.py
|
|
|
Restart=always
|
|
Restart=always
|