Commit 89d8cd4
committed
evidence(containers): the SBSA image RUNS on Tegra -- Orin generates on the GPU
FOLLOWING_AGENTS_PROTOCOL
W6's Tegra determination, and it contradicts what this spec predicted. The risk
entry said Thor and Orin "are Tegra/L4T with a different CUDA runtime" and that
the arm64 image made no claim there. It runs. There is no CUDA-version wall,
and no separate Tegra lane is needed: ONE SBSA image serves both arm64
families.
Measured on a Jetson AGX Orin Developer Kit (sm_87, L4T R36.4.3, Docker 27.5.1,
Kairos immutable OS), running the image built on GB10:
validator config + layout verified; /health 200, /version 200, declared
healthcheck passed, clean SIGTERM, on --runtime nvidia --gpus all
model Qwen3-0.6B (rev c1899de289a04d12100db370d81485cdf75e47ca, 1.5 GB)
loads and GENERATES: "The capital of France is" -> " Paris. ..."
24 completion tokens
gpu tegrastats GR3D_FREQ 95-97% during a 120-token generation, against
14-15% idle -- decode runs on the Orin GPU, not a CPU fallback
That last line is the one /health could not make, on Orin or on GB10.
THE INVOCATION DIFFERS, and all three cases fail differently:
--gpus all alone REFUSED by the runtime hook
--runtime nvidia alone starts, no driver, dies on libcuda.so.1 missing
--runtime nvidia --gpus all works
The middle case is the trap: the container comes up and dies on a missing
library, which reads as a broken image rather than a wrong flag. docs/USAGE.md
documented only `--gpus all` and was therefore wrong for every Jetson.
Two portability defects the second box exposed, both invisible on GB10 because
that box happened to match:
- validate-container-image.py used `docker stop --timeout`, which is
newer-Docker only; Orin's 27.5.1 rejects it. `-t` is accepted by both.
- /models must be READABLE BY UID 1000. On GB10 the model was owned by uid 1000
so mode 0600 worked; on Orin (files owned by 65535) the server initialised
CUDA and died on `safetensors: cannot open file`, which reads like a corrupt
checkpoint. Now documented.
A wrong hypothesis, killed by test rather than shipped: I assumed the injected
driver path just was not on the loader search path and tried patching
LD_LIBRARY_PATH to include /usr/lib/aarch64-linux-gnu/nvidia. Still not found --
because with --runtime alone the driver is not mounted at all. No Dockerfile
change is needed; the nvidia runtime handles ldconfig itself in csv mode.
Scope: Orin (sm_87) only. Thor (sm_110) has never been probed and inherits
nothing from this. Nothing is published to GHCR.
Issues: #170
Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: Claude:claude-opus-5 [Claude Code]1 parent 211ff73 commit 89d8cd4
6 files changed
Lines changed: 126 additions & 18 deletions
File tree
- .agents
- specs
- docs
- scripts
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
314 | 316 | | |
315 | 317 | | |
316 | 318 | | |
| |||
486 | 488 | | |
487 | 489 | | |
488 | 490 | | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
489 | 549 | | |
490 | 550 | | |
491 | 551 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | | - | |
43 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
549 | 549 | | |
550 | 550 | | |
551 | 551 | | |
552 | | - | |
553 | | - | |
554 | | - | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
555 | 574 | | |
556 | 575 | | |
557 | 576 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
241 | 241 | | |
242 | 242 | | |
243 | 243 | | |
244 | | - | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
245 | 250 | | |
246 | 251 | | |
247 | 252 | | |
| |||
251 | 256 | | |
252 | 257 | | |
253 | 258 | | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
254 | 265 | | |
255 | 266 | | |
256 | 267 | | |
| |||
292 | 303 | | |
293 | 304 | | |
294 | 305 | | |
295 | | - | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
296 | 309 | | |
297 | 310 | | |
298 | 311 | | |
| |||
316 | 329 | | |
317 | 330 | | |
318 | 331 | | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
319 | 337 | | |
320 | 338 | | |
321 | 339 | | |
| |||
335 | 353 | | |
336 | 354 | | |
337 | 355 | | |
338 | | - | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
339 | 362 | | |
340 | 363 | | |
341 | 364 | | |
| |||
349 | 372 | | |
350 | 373 | | |
351 | 374 | | |
352 | | - | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
353 | 381 | | |
354 | 382 | | |
355 | 383 | | |
| |||
0 commit comments