Skip to content

Add aarch64 Linux support (DGX Spark / GB10)#51

Merged
msaroufim merged 5 commits intogpu-mode:mainfrom
brandonin:main
Apr 4, 2026
Merged

Add aarch64 Linux support (DGX Spark / GB10)#51
msaroufim merged 5 commits intogpu-mode:mainfrom
brandonin:main

Conversation

@brandonin
Copy link
Copy Markdown
Contributor

@brandonin brandonin commented Mar 14, 2026

Summary

  • Adds aarch64-unknown-linux-gnu to the release build matrix, producing popcorn-cli-linux-aarch64.tar.gz
  • Adds .cargo/config.toml to configure aarch64-linux-gnu-gcc as the cross-linker on GitHub Actions runners
  • Updates install.sh to detect aarch64/arm64 on Linux and download the correct binary automatically

Motivation

The pre-built popcorn-cli-linux.tar.gz is x86-64 only and does not run on ARM Linux machines such as the NVIDIA GB10 DGX Spark. This PR makes the install script work out of the box on those systems with no manual steps required.

Test plan

  • Verify GitHub Actions builds popcorn-cli-linux-aarch64.tar.gz successfully
  • Run curl -fsSL .../install.sh | bash on an aarch64 Linux machine and confirm popcorn --version works

- Add aarch64-unknown-linux-gnu build target to the release workflow
- Add .cargo/config.toml to configure the cross-linker for aarch64
- Update install.sh to detect arm64/aarch64 and download the correct binary
  (popcorn-cli-linux-aarch64.tar.gz) instead of the x86-64 build
Copilot AI review requested due to automatic review settings March 14, 2026 18:24
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds ARM64 (aarch64) Linux support to the release pipeline and installer so Popcorn CLI can be installed and run on machines like the NVIDIA GB10 / DGX Spark.

Changes:

  • Extend the GitHub Actions build matrix to produce a popcorn-cli-linux-aarch64.tar.gz release asset.
  • Add a Cargo target linker config for aarch64-unknown-linux-gnu to support cross-linking on CI.
  • Update install.sh to detect aarch64/arm64 on Linux and download the matching release artifact.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
install.sh Detects ARM64 Linux and selects the linux-aarch64 release asset automatically.
.github/workflows/build.yml Builds and publishes an additional ARM64 Linux tarball as a release asset.
.cargo/config.toml Configures the cross-linker for aarch64-unknown-linux-gnu builds (CI/local).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@msaroufim
Copy link
Copy Markdown
Member

msaroufim commented Mar 21, 2026

I'm not sure I can quite merge this as is just because I don't have a machine to test this on and I'm worried that we'll get some glib issues

Might be best to just tell people to build from source on any unconventional hardware

@brandonin
Copy link
Copy Markdown
Contributor Author

brandonin commented Mar 21, 2026

Can someone from NVIDIA please send this man a DGX spark GB10? It would really expand the community. Can you also send me one while you're at it 😅

@chris-alexiuk

@msaroufim
Copy link
Copy Markdown
Member

Changed your PR so we natively compile on ARM64 instead of cross compiling

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@msaroufim msaroufim merged commit 78d93ad into gpu-mode:main Apr 4, 2026
6 checks passed
@brandonin
Copy link
Copy Markdown
Contributor Author

🙌🙌🙌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants