AI/TLDR

GenieX

Run LLMs and VLMs locally on Qualcomm Snapdragon NPU, GPU, or CPU

Local RuntimesOpen source
Language
Rust, C++, Python
License
BSD-3-Clause

Overview

GenieX is Qualcomm's on-device generative AI inference runtime, published under the qualcomm/GenieX repository as the community version of Qualcomm GENIE. It was previously developed as the Nexa SDK. Point it at almost any GGUF model from Hugging Face, or at a pre-compiled bundle from Qualcomm AI Hub, and it runs locally on the Hexagon NPU, the Adreno GPU, or the CPU.

One C SDK sits underneath, exposed through a CLI, a Python package, Kotlin/Java bindings for Android, Docker, and an OpenAI-compatible local server. Under the hood it dispatches either to the llama.cpp runtime (GGML kernels over CPU, GPU, or Hexagon HTP) or to the Qualcomm AI Engine Direct runtime on the NPU, depending on the model format you hand it.

It runs only on Qualcomm Snapdragon hardware: Windows ARM64 compute devices (Snapdragon X and X Elite), Android phones (Snapdragon 8 Elite and 8 Elite Gen 5), and Linux ARM64 IoT boards such as Dragonwing QCS9075. The project marks itself as a developer preview and is licensed BSD-3-Clause; Qualcomm Device Cloud offers remote sessions for developers without the hardware on hand.

What it does

  • Runs GGUF models from Hugging Face or pre-compiled bundles from Qualcomm AI Hub, on the Hexagon NPU, Adreno GPU, or CPU
  • One C SDK exposed through a CLI, Python, Kotlin/Java, Docker, and an OpenAI-compatible server
  • Two runtimes under the hood: llama.cpp (GGML) and Qualcomm AI Engine Direct for the NPU
  • Supports Windows ARM64, Android, and Linux ARM64 Snapdragon devices
  • Python API mirrors Hugging Face transformers: from_pretrained() then .generate(), with streaming
  • Vision-language models supported from the CLI, including dragging an image into the prompt

Getting started

Pick the interface that matches your stack. The Python package and the CLI both take a Hugging Face GGUF repo id or a Qualcomm AI Hub bundle id.

Install the CLI

On Windows ARM64, download the installer from the GitHub releases page and open a new terminal. On Linux ARM64 the install script needs no sudo.

bashbash
curl -fsSL https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-geniex/install.sh | sh

Chat with a model from the CLI

One line per model. A GGUF repo goes through llama.cpp; a Qualcomm AI Hub bundle goes through Qualcomm AI Engine Direct on the NPU.

bashbash
# GGUF from Hugging Face → llama.cpp (NPU / GPU / CPU)
geniex infer google/gemma-4-E4B-it-qat-q4_0-gguf

# Pre-compiled bundle from Qualcomm AI Hub → AI Engine Direct (NPU)
geniex infer ai-hub-models/Qwen2.5-VL-7B-Instruct

Install the Python package

The Python interface is available on PyPI for Windows ARM64 and Linux ARM64.

bashbash
pip install geniex

Generate text in Python

The API mirrors Hugging Face transformers: load with from_pretrained(), apply the chat template, then stream tokens from generate().

pythonpython
from geniex import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("unsloth/Qwen3.5-2B-GGUF", precision="Q4_0")

messages = [{"role": "user", "content": "What is 2+2?"}]
prompt = model.tokenizer.apply_chat_template(messages, add_generation_prompt=True)

for chunk in model.generate(prompt, max_new_tokens=256, stream=True):
    print(chunk, end="", flush=True)

model.close()

Commands and code are distilled from the project's own documentation — always check the official repo for the latest.

When to use it

  • Add an offline chat or assistant feature to a Snapdragon laptop or Android app without calling a hosted API
  • Take advantage of the Hexagon NPU for low-power local inference on Windows ARM64 or Android
  • Run vision-language models on-device for image understanding without uploading the image
  • Serve a local OpenAI-compatible endpoint on a Snapdragon device so existing client code keeps working

How GenieX compares

GenieX alongside other open-source local runtimes tools AI/TLDR tracks, ranked by GitHub stars.

ToolStarsWhat it does
Ollama★ 181kA developer-friendly tool that downloads and runs local LLMs from the terminal with a built-in OpenAI-compatible API.
llama.cpp★ 129kA C/C++ inference engine that runs LLMs in the GGUF format on CPUs, Apple Silicon, and GPUs with low memory use.
GPT4All★ 77.4kGPT4All is a free desktop app and Python client that runs large language models locally on your own computer, with no API calls or GPU required.
LocalAI★ 49.1kA self-hosted server that exposes an OpenAI-compatible API for running text, vision, voice, and image models on local hardware.
Jan★ 44.5kAn open-source desktop app that runs LLMs fully offline as a ChatGPT-style assistant on your own computer.
llmfit★ 36.7kA Rust terminal tool that inspects your CPU, RAM, GPUs and VRAM and scores which open-weight models and quantizations will actually run well on that machine, with a TUI, CLI, REST API and local-runtime integrations.
Colibrì★ 35.8kA pure-C inference engine that keeps a Mixture-of-Experts model's dense trunk resident in RAM and streams its routed experts from disk, so 744B-2.8T models run on consumer hardware.
GenieX★ 8.4kRun LLMs and VLMs locally on Qualcomm Snapdragon NPU, GPU, or CPU