Skip to content

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 tierExecutableArchive
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...

Which build

The glibc loader reports which tiers a machine supports:

Terminal window
/lib64/ld-linux-x86-64.so.2 --help | grep x86-64-v
x86-64-v4
x86-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.

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:

Terminal window
git clone https://github.com/luxir-search/luxir.git
cd luxir
cmake --preset gcc-release
cmake --build --preset gcc-release
./build/gcc-release/bin/luxir

The 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.

Luxir is open source under the Apache License 2.0.