2.2 KiB
2.2 KiB
Runtime and Configuration
Backend Resolution
CLI option:
scanslicer --backend {auto,wayland,x11}
Resolution order when --backend auto:
QT_QPA_PLATFORMexplicit hint (wayland,xcb,x11)XDG_SESSION_TYPE(waylandorx11)- Wayland socket presence (
XDG_RUNTIME_DIR+WAYLAND_DISPLAY) DISPLAYpresence (X11)- fallback to Wayland
Backend Validation
- Wayland requires:
XDG_RUNTIME_DIRWAYLAND_DISPLAY- existing socket at
$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY
- X11 requires:
DISPLAY
On startup failure, ScanSlicer prints backend-specific hints to stderr.
Qt Environment Adjustments
- For Wayland mode:
- sets
QT_QPA_PLATFORM=wayland - unsets
DISPLAYto avoid accidental XWayland routing
- sets
- For X11 mode:
- sets
QT_QPA_PLATFORM=xcb
- sets
- In Flatpak/Snap:
- defaults
QT_QPA_PLATFORMTHEME=xdgdesktopportal
- defaults
- In AppImage:
- defaults
QT_QPA_PLATFORMTHEME=gtk3 - sets
QT_NO_XDG_DESKTOP_PORTAL=1
- defaults
- In container (
/.dockerenv):- defaults
QT_QPA_PLATFORMTHEME=gtk3
- defaults
Persistence Paths
Defaults and presets
- Defaults JSON:
- host:
~/.config/scanslicer/defaults.json - container:
/work/.scanslicer/defaults.json - override:
SCANSLICER_DEFAULTS_PATH
- host:
- Presets JSON:
- host:
~/.config/scanslicer/presets.json - container:
/work/.scanslicer/presets.json - override:
SCANSLICER_PRESETS_PATH
- host:
Auto-tune feedback
- host:
~/.config/scanslicer/autotune-feedback.json - container:
/work/.scanslicer/autotune-feedback.json - override:
SCANSLICER_FEEDBACK_PATH
Status log
- host:
~/.config/scanslicer/status.log - container:
/work/.scanslicer/status.log - override:
SCANSLICER_STATUS_LOG_PATH
Legacy override names are still accepted for backward compatibility.
Status log behavior:
- new app launch truncates and starts a fresh session log
- batched flushing by time and queue size
Container Runtime Notes
docker-compose.yml expects desktop/session wiring:
UID,GIDfor correct file ownershipXDG_RUNTIME_DIR,WAYLAND_DISPLAY- mounted Wayland socket and DBus session bus
- host home mounted at
/host-home - project mounted at
/work
See .env.example for a baseline.