From c7494aed0fc7ea87a291784d8e8c854f679eee2b Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Mon, 3 Nov 2025 14:31:45 -0800 Subject: [PATCH] ui: move to GPU core (#36553) * ui: move to GPU core * we're on the big boy core now --- selfdrive/test/test_onroad.py | 2 +- selfdrive/ui/ui.py | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/selfdrive/test/test_onroad.py b/selfdrive/test/test_onroad.py index f90627e10c..69d920c1a0 100644 --- a/selfdrive/test/test_onroad.py +++ b/selfdrive/test/test_onroad.py @@ -42,7 +42,7 @@ PROCS = { "./encoderd": 13.0, "./camerad": 10.0, "selfdrive.controls.plannerd": 8.0, - "selfdrive.ui.ui": 63.0, + "selfdrive.ui.ui": 40.0, "system.sensord.sensord": 13.0, "selfdrive.controls.radard": 2.0, "selfdrive.modeld.modeld": 22.0, diff --git a/selfdrive/ui/ui.py b/selfdrive/ui/ui.py index 4a1f03fb87..222a25b87b 100755 --- a/selfdrive/ui/ui.py +++ b/selfdrive/ui/ui.py @@ -1,14 +1,16 @@ #!/usr/bin/env python3 +import os import pyray as rl -from openpilot.common.realtime import config_realtime_process +from openpilot.common.realtime import config_realtime_process, set_core_affinity from openpilot.system.ui.lib.application import gui_app from openpilot.selfdrive.ui.layouts.main import MainLayout from openpilot.selfdrive.ui.ui_state import ui_state def main(): - config_realtime_process([1, 2], 1) + cores = {7, } + config_realtime_process(0, 1) gui_app.init_window("UI") main_layout = MainLayout() @@ -18,6 +20,13 @@ def main(): if should_render: main_layout.render() + # reaffine after power save offlines our core + if os.sched_getaffinity(0) != cores: + try: + set_core_affinity(list(cores)) + except OSError: + pass + if __name__ == "__main__": main()