Download
Releases are built for Linux on x86-64 with glibc 2.35 or newer (Ubuntu 22.04 or newer, for example). Each release comes in three builds, one per x86-64 CPU tier, so the engine can use the widest vector instructions the machine has. Choose the highest tier your CPU supports. The executable is a single file that needs no unpacking; the archive holds the same executable with documentation, licenses, API definitions, and a build manifest.
Luxir 0.1.0latest2026-09-21
| CPU tier | Executable | Archive |
|---|---|---|
| x86-64-v4 AVX-512 AMD Zen 4 and newer. Intel Xeon since Skylake-SP, and Ice Lake, Tiger Lake, and Rocket Lake client CPUs. | luxir-0.1.0-linux-x86_64-v4d848ed884ff43788... | luxir-0.1.0-linux-x86_64-v4.tar.gz276dec9bf4ddf2eb... |
| x86-64-v3 AVX2 AMD Zen and newer. Intel Core and Xeon since Haswell (2013), including 12th to 14th-generation Core, which have no AVX-512. | luxir-0.1.0-linux-x86_64-v35bcfe74159b5abba... | luxir-0.1.0-linux-x86_64-v3.tar.gzac8e29f787e69337... |
| x86-64-v2 SSE4.2 Runs on all of the above, and on older CPUs back to Intel Nehalem (2008) and AMD Bulldozer (2011). Use it when unsure. | luxir-0.1.0-linux-x86_64-v29c674fc9ede3a471... | luxir-0.1.0-linux-x86_64-v2.tar.gz26d010e83489d4d7... |
DocumentationRelease notes, symbols, and diagnostic buildsSHA256SUMSSource (v0.1.0)
Which build
The glibc loader reports which tiers a machine supports:
/lib64/ld-linux-x86-64.so.2 --help | grep x86-64-v x86-64-v4x86-64-v3 (supported, searched)x86-64-v2 (supported, searched)Take the highest tier marked supported, which is v3 on the machine above. Run the command where Luxir will run: a virtual machine can hide instructions that the host CPU has, and the CPU names in the table are a guide, not a guarantee for every model.
A wrong guess is safe. A build for a tier the CPU lacks refuses to start, with the message CPU ISA level is lower than required, and ./luxir --version reports the tier of the build you have, for example Luxir 0.1.0 (x86-64-v3).
The tiers differ only in speed. A higher tier compiles Luxir's own code, such as postings decoding and bit-set operations, for wider vector instructions. The vector search and linear algebra libraries inside choose their kernels when the process starts, so they use AVX2 or AVX-512 in every build, v2 included. To compile for one exact CPU instead of a tier, build from source.
Building from source
Section titled “Building from source”Most people should use a release. To work on the engine, or to build for a platform without a release, Luxir needs a C++26-capable compiler, CMake, Ninja, vcpkg, and the native dependencies listed in Build setup, which also covers the currently verified Linux/GCC environment and its limitations. With those in place:
git clone https://github.com/luxir-search/luxir.gitcd luxircmake --preset gcc-releasecmake --build --preset gcc-release./build/gcc-release/bin/luxirThe gcc-release preset compiles for the CPU it is built on (-march=native),
so the result may not start on a different machine. For a portable build, add
-DLUXIR_CPU_TARGET=x86-64-v3 (or x86-64-v2, x86-64-v4) to the
first cmake command.
The server listens on port 9400. The Quickstart takes it
from there: index a few documents with curl, search them, and see the request shapes
the rest of the documentation builds on.
Licensing
Section titled “Licensing”Luxir is open source under the Apache License 2.0.