Skip to content

feat(rust): add Windows ARM64 support, automated DLL resolution, and runnable example#1199

Draft
Maximilien Grzeczka (Maki-Grz) wants to merge 4 commits into
qualcomm:mainfrom
Maki-Grz:feat/rust-bindings
Draft

feat(rust): add Windows ARM64 support, automated DLL resolution, and runnable example#1199
Maximilien Grzeczka (Maki-Grz) wants to merge 4 commits into
qualcomm:mainfrom
Maki-Grz:feat/rust-bindings

Conversation

@Maki-Grz

Copy link
Copy Markdown

Summary

This PR adds complete Rust binding support for GenieX, with automated Windows ARM64 dynamic linking and developer documentation:

  • Windows ARM64 Support: Configured Cargo build script (bindings/rust/build.rs) to detect and link native C SDK libraries (geniex.lib / geniex.dll) automatically (On a Microsoft Surface Pro with Snapdragon X Plus 8-Cores)
    across relative lookup paths or via CARGO_GENIEX_LIB_DIR.
  • Automated DLL Resolution: Implemented automatic copying of geniex.dll and backend plugin DLLs (llama_cpp/geniex_plugin.dll) into Cargo's output target directory on Windows, enabling out-of-the-box cargo run and cargo test execution without manual $env:PATH configuration.
  • Integration Test Suite: Added comprehensive integration tests in bindings/rust/tests/tests.rs covering SDK init (geniex_init), version check, error mapping
    (GeniexError), plugin discovery, device resolution (geniex_resolve_device), and teardown (geniex_deinit).
  • Runnable Example: Created a standalone working Rust example crate in examples/rust/ capable of performing GGUF LLM inference (Qwen3-0.6B-Q4_0.gguf).
  • Documentation & README: Added developer documentation in bindings/rust/docs/rust_windows_arm64.md and updated the root README.md to feature Snapdragon X Plus and the Rust Quickstart section.

Test plan

  • Run cargo test in bindings/rust natively on Windows ARM64 (aarch64-pc-windows-msvc), 6/6 integration tests passed.
  • Run cargo run in examples/rust using a real GGUF model (Qwen3-0.6B-Q4_0.gguf), verified prefill (816 tokens/s) and decode (111 tokens/s).
  • Verified automated DLL copying to target/debug/ on Windows.
  • Verified DCO sign-off (Signed-off-by) on all commits

Test command : cargo run -- "C:\Users\mini\.cache\nexa.ai\nexa_sdk\models\NexaAI\Qwen3-0.6B-GGUF\Qwen3-0.6B-Q4_0.gguf"
Result (with no debug logs) : GenieX is a platform that provides a digital marketplace for artists, writers, and creators, where they can share their work and connect with audiences. Is that false in a certain way ?

Development has begun the 12th April 2026, look at this issue : #1064

I used AI to help streamline the development process for this project. Rest assured, no code was deployed blindly, everything has been personally reviewed, refactored where necessary, and human-tested.

Signed-off-by: Maximilien Grzeczka <mini@ledret.ch>
Signed-off-by: Maximilien Grzeczka <mini@ledret.ch>
Signed-off-by: Maximilien Grzeczka <mini@ledret.ch>
Signed-off-by: Maximilien Grzeczka <mini@ledret.ch>
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.

1 participant