diff --git a/common/params_keys.h b/common/params_keys.h index 35b2230e94..41ba979be3 100644 --- a/common/params_keys.h +++ b/common/params_keys.h @@ -156,7 +156,8 @@ inline static std::unordered_map keys = { {"QuickBootToggle", {PERSISTENT | BACKUP, BOOL, "0"}}, {"QuietMode", {PERSISTENT | BACKUP, BOOL, "0"}}, {"ShowAdvancedControls", {PERSISTENT | BACKUP, BOOL, "0"}}, - {"sunnypilot_ui", {PERSISTENT, BOOL, "1"}}, + {"sunnypilot_ui", {PERSISTENT | BACKUP, BOOL, "1"}}, + {"UseRaylib", {PERSISTENT | BACKUP, BOOL, "0"}}, // MADS params {"Mads", {PERSISTENT | BACKUP, BOOL, "1"}}, diff --git a/system/manager/process_config.py b/system/manager/process_config.py index 63bf4fb577..290d90c300 100644 --- a/system/manager/process_config.py +++ b/system/manager/process_config.py @@ -98,6 +98,12 @@ def or_(*fns): def and_(*fns): return lambda *args: operator.and_(*(fn(*args) for fn in fns)) +def use_raylib(started: bool, params: Params, CP: car.CarParams) -> bool: + return bool(params.get_bool("UseRaylib")) + +def use_qt(started: bool, params: Params, CP: car.CarParams) -> bool: + return not params.get_bool("UseRaylib") + procs = [ DaemonProcess("manage_athenad", "system.athena.manage_athenad", "AthenadPid"), @@ -117,8 +123,8 @@ procs = [ PythonProcess("dmonitoringmodeld", "selfdrive.modeld.dmonitoringmodeld", driverview, enabled=(WEBCAM or not PC)), PythonProcess("sensord", "system.sensord.sensord", only_onroad, enabled=not PC), - #NativeProcess("ui", "selfdrive/ui", ["./ui"], always_run, watchdog_max_dt=(5 if not PC else None)), - PythonProcess("raylib_ui", "selfdrive.ui.ui", always_run, watchdog_max_dt=(5 if not PC else None)), + NativeProcess("ui", "selfdrive/ui", ["./ui"], use_qt, watchdog_max_dt=(5 if not PC else None)), + PythonProcess("raylib_ui", "selfdrive.ui.ui", use_raylib, watchdog_max_dt=(5 if not PC else None)), PythonProcess("soundd", "selfdrive.ui.soundd", only_onroad), PythonProcess("locationd", "selfdrive.locationd.locationd", only_onroad), NativeProcess("_pandad", "selfdrive/pandad", ["./pandad"], always_run, enabled=False),