From ac9589655124050d40be7b93ea9124faf2a67ec7 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Thu, 27 Aug 2026 21:25:28 -0500 Subject: [PATCH] moar --- tools/replay/onroad_config.py | 16 +++++++++++++++- tools/replay/tests/test_onroad_config.py | 17 ++++++++++++++++- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/tools/replay/onroad_config.py b/tools/replay/onroad_config.py index 9f215c545..c3c9335bd 100644 --- a/tools/replay/onroad_config.py +++ b/tools/replay/onroad_config.py @@ -285,6 +285,19 @@ def seed_logged_params(init_data: Any | None, params: Params) -> int: return seeded +def _model_uses_external_gpu(model_key: str) -> bool: + from openpilot.starpilot.assets.model_manager import model_uses_external_gpu + + return model_uses_external_gpu(model_key) + + +def seed_replay_gpu_model(init_data: Any | None, params: Params) -> None: + raw_model = logged_params(init_data).get("Model", b"") + model_key = raw_model.decode("utf-8", errors="replace").strip() + if model_key and _model_uses_external_gpu(model_key): + params.put_bool("UsbGpuCompiled", True) + + def seed_nav_offroad_preview(params: Params) -> None: secret = params.get("MapboxSecretKey", encoding="utf-8") or "" if not str(secret).strip(): @@ -312,6 +325,7 @@ def seed_desktop_overrides(params: Params) -> None: def seed_onroad_params(init_data: Any | None, params: Params | None = None) -> int: params = params or Params() seeded = seed_logged_params(init_data, params) + seed_replay_gpu_model(init_data, params) seed_desktop_overrides(params) return seeded @@ -337,7 +351,7 @@ def _cmd_sync_gpu() -> int: params = Params() sm = messaging.SubMaster(["deviceState", "onroadEvents", "modelV2"]) - state = ReplayGpuState() + state = ReplayGpuState(compiled=params.get_bool("UsbGpuCompiled")) last_values: tuple[bool, bool, bool, bool] | None = None while True: diff --git a/tools/replay/tests/test_onroad_config.py b/tools/replay/tests/test_onroad_config.py index d77cdb2f6..c6dd3947a 100644 --- a/tools/replay/tests/test_onroad_config.py +++ b/tools/replay/tests/test_onroad_config.py @@ -93,12 +93,27 @@ def test_replay_gpu_state_reconstructs_loading_failure_and_restart(): def test_replay_gpu_state_detects_active_later_segment(): - state = onroad_config.ReplayGpuState() + state = onroad_config.ReplayGpuState(compiled=True) assert state.update(present=True, model_updated=True) == (True, True, False, True) assert state.update(present=False) == (False, False, False, False) +def test_replay_gpu_state_does_not_treat_connected_gpu_as_active_with_normal_model(): + state = onroad_config.ReplayGpuState() + + assert state.update(present=True, model_updated=True) == (True, False, False, False) + + +def test_seed_onroad_params_marks_logged_gpu_model_compiled(monkeypatch): + monkeypatch.setattr(onroad_config, "_model_uses_external_gpu", lambda model: model == "big-model") + params = FakeParams() + + onroad_config.seed_onroad_params(_init_data("mici", {"Model": b"big-model"}), params) + + assert params.values["UsbGpuCompiled"] is True + + def test_seed_onroad_params_uses_logged_disabled_bool_and_desktop_overrides(monkeypatch): monkeypatch.setenv("SP_ONROAD_NAV_DEMO", "1") params = FakeParams()