SFT-6061: fixed simulator camera on wayland
What changed, and why it matters
This commit adjusts the software build environment (a Nix flake) for the Passport hardware wallet simulator. It adds two helper graphics libraries and forces the Qt user-interface toolkit to use the X11-compatible 'xcb' backend on Linux when no backend is already chosen. The change only affects how the simulator runs on developer machines, not the real firmware or any user funds.
No security action required; treat as a normal development-environment fix.
Security signals we found
No security-relevant code changes
Build/simulator environment configuration only
No cryptographic, authentication, or privilege changes
Evidence from the diff
The diff adds pkgs.libICE and pkgs.libSM to the Nix flake’s build inputs and sets QT_QPA_PLATFORM=xcb on Linux when the variable is unset. These are dependency/runtime-configuration fixes for the simulator camera under Wayland. There is no code change to the firmware, wallet logic, cryptography, or any runtime security boundary.
Changed components
flake.nix (simulator build/development environment)Inspect captured patch +5 / −0
diff --git a/flake.nix b/flake.nix
index 0c4aadf..209a303 100644
--- a/flake.nix
+++ b/flake.nix
@@ -70,6 +70,8 @@
pkgs.wayland
pkgs.libdecor
pkgs.libglvnd
+ pkgs.libICE
+ pkgs.libSM
pkgs.libx11
pkgs.libxau
pkgs.libxcb
@@ -102,6 +104,9 @@
if [ -z "''${SDL_RENDER_DRIVER:-}" ]; then
export SDL_RENDER_DRIVER=software
fi
+ if [ "$(uname -s)" = "Linux" ] && [ -z "''${QT_QPA_PLATFORM:-}" ]; then
+ export QT_QPA_PLATFORM=xcb
+ fi
export MPY_CROSS="$repo_root/mpy-cross/mpy-cross"
if [ ! -x "$MPY_CROSS" ]; then
make -C "$repo_root/mpy-cross"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.