Show HN: I cross-compiled llama.cpp to run on Windows XP (okt.ai)
Had a dumb thought: what if someone in 2003 could run a local LLM on their machine? XP desktop, rolling hills wallpaper, maybe Winamp in the corner—and you just chat with an AI locally.
I saw there were some attempts on Reddit, so I tried it myself.
Cross-compiled llama.cpp from macOS targeting Windows XP 64-bit. Main hurdles: downgrading cpp-httplib to v0.15.3 (newer versions explicitly block pre-Win8), replacing SRWLOCK/CONDITION_VARIABLE with XP-compatible threading primitives, and the usual DLL hell.
Qwen 2.5-0.5B runs at ~2-8 tokens/sec on period-appropriate hardware. Not fast, but it works.
Video demoand build instructions in the write-up.
Claude helped with most of the debugging on the build system. I just provided the questionable life choices.
3 comments
[ 2.6 ms ] story [ 15.9 ms ] threadChallenge: could you build for 32-bit? From memory, few people used XP64, it was one of the Server editions, and Vista and Windows 7, when people started migrating.
Can you share that link in the blog? This is the equivalent of one of those forums posts, 'never mind, solved it.' It's helpful to share what you learned for those coming later :)
It won't; FMA is available from AVX2-era onwards. If you target 32-bit, you'd only be "safe" with SSE2... if you really want a challenge, you'd use the Pentium Pro CPU feature set, ie the FPU.
I have to admit I'd be really curious what that looked like! You'd definitely want to use the fast math option.
This is an awesome effort, btw, and I enjoyed reading your blog immensely.