diff --git a/README.md b/README.md index 61b6d25..3c2d6f3 100644 --- a/README.md +++ b/README.md @@ -163,8 +163,8 @@ without the launcher's build step or single-instance lock. ## Jetson (aarch64) bring-up -`requirements.txt` pins PyQt6 below 6.8 on aarch64 for the older glibc used by -Jetson images. CUDA comes from JetPack in `/usr/local/cuda`; pip CUDA packages +`requirements.txt` installs PyQt6 from wheels only, so pip picks the newest release +the system glibc can run: 6.7 on Jetson's glibc 2.35, current releases on Debian 13. CUDA comes from JetPack in `/usr/local/cuda`; pip CUDA packages are installed only on x86_64. Use the same build commands and launcher as above. The USB updater can create a fresh venv with an already installed interpreter, diff --git a/requirements.txt b/requirements.txt index 34ff4b6..67802f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,11 +2,10 @@ numpy>=1.26,<3 scipy>=1.11,<2 libusb1>=3.1 pyserial>=3.5,<4 -# PyQt6 6.8+ ships only manylinux_2_39 aarch64 wheels (glibc >= 2.39); Jetson / -# Ubuntu 22.04 has glibc 2.35, so pip would fall back to a source build that -# dies on qmake. 6.7.1 is the last release with a manylinux_2_28 aarch64 wheel. -PyQt6>=6.6,<6.8; platform_machine == "aarch64" -PyQt6>=6.6; platform_machine != "aarch64" +# Wheels only: pip then takes the newest PyQt6 this glibc can run (6.7 on Jetson's 2.35, +# whose newer releases need manylinux_2_39) instead of an sdist build that dies on qmake. +--only-binary PyQt6,PyQt6-Qt6 +PyQt6>=6.6 pyqtgraph>=0.13.7 fastapi>=0.110 # embedded web UI (browser view + controls), served in-process uvicorn[standard]>=0.29 # ASGI server for the web UI, run on a background thread