From e8e765cb020da4de3b781cadaf02edf52b3066e2 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Wed, 1 Apr 2026 15:42:32 -0500 Subject: [PATCH] build fixes --- selfdrive/ui/SConscript | 9 ++++++--- system/ui/lib/wifi_manager.py | 15 ++++++++------- tools/STARPILOT_DEVELOPMENT.md | 2 ++ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/selfdrive/ui/SConscript b/selfdrive/ui/SConscript index 8a888b72..e14b9e96 100644 --- a/selfdrive/ui/SConscript +++ b/selfdrive/ui/SConscript @@ -4,14 +4,17 @@ Import('env', 'qt_env', 'arch', 'common', 'messaging', 'visionipc', 'transformat base_libs = [common, messaging, visionipc, transformations, 'm', 'OpenCL', 'ssl', 'crypto', 'pthread'] + qt_env["LIBS"] -base_libs += ['avcodec', 'avformat', 'avutil', 'swresample', 'yuv', 'OmxCore'] +base_libs += ['avcodec', 'avformat', 'avutil', 'swresample', 'yuv'] + +# OpenMAX is only available in the device-target runtime/sysroot. Host desktop +# UI builds on Linux should not need or link it. +if arch == 'larch64': + base_libs.append('OmxCore') if arch == 'larch64': base_libs.append('EGL') if arch == "Darwin": - if "OmxCore" in base_libs: - base_libs.remove("OmxCore") del base_libs[base_libs.index('OpenCL')] qt_env['FRAMEWORKS'] += ['OpenCL'] diff --git a/system/ui/lib/wifi_manager.py b/system/ui/lib/wifi_manager.py index 56047fb4..4fcd7c48 100644 --- a/system/ui/lib/wifi_manager.py +++ b/system/ui/lib/wifi_manager.py @@ -170,15 +170,18 @@ class WifiManager: allow_desktop_fake = PC and os.getenv("SP_ALLOW_DESKTOP_FAKE_WIFI", "0").lower() in TRUE_VALUES has_nmcli = shutil.which("nmcli") is not None + if allow_desktop_fake: + self._router_main = None + self._conn_monitor = None + self._nm = None + self._fake_networking = True # DBus connections - if not JEEPNY_AVAILABLE: + elif not JEEPNY_AVAILABLE: cloudlog.warning(f"jeepney unavailable: {JEEPNY_IMPORT_ERROR}") self._router_main = None self._conn_monitor = None self._nm = None - if allow_desktop_fake: - self._fake_networking = True - elif has_nmcli: + if has_nmcli: self._nmcli_networking = True else: cloudlog.error("No networking backend available (jeepney missing, nmcli unavailable)") @@ -193,9 +196,7 @@ class WifiManager: self._router_main = None self._conn_monitor = None self._nm = None - if allow_desktop_fake: - self._fake_networking = True - elif has_nmcli: + if has_nmcli: self._nmcli_networking = True else: cloudlog.error("No networking backend available (D-Bus unavailable, nmcli unavailable)") diff --git a/tools/STARPILOT_DEVELOPMENT.md b/tools/STARPILOT_DEVELOPMENT.md index 81cbf261..ab0c9e16 100644 --- a/tools/STARPILOT_DEVELOPMENT.md +++ b/tools/STARPILOT_DEVELOPMENT.md @@ -9,6 +9,8 @@ The goal is simple: keep the device build intact, keep host tools consistent wit ## Prerequisites +- On Ubuntu/Linux, run `tools/install_ubuntu_dependencies.sh` + - `tools/ubuntu_setup.sh` runs both the Ubuntu and Python dependency installers - Run `tools/install_python_dependencies.sh` - Have `uv` available in your shell - For device-target builds, install Docker Desktop or Podman with Linux/aarch64 support