Skip to content

Feature request: Provide Windows ARM64 (win-arm64) pre-built binaries #3417

Open

Description

@searleser97

Summary

Please consider providing pre-built binaries for Windows ARM64 (aarch64) in the release artifacts.

Motivation

Windows on ARM devices (e.g., Surface Pro X, Snapdragon-based laptops, Windows Dev Kit 2023) are becoming increasingly common. Currently, only win32-x64 binaries are provided, which work via x86-64 emulation but come with a performance penalty.

Tools like Mason.nvim use strict platform matching and refuse to install lua-language-server on win-arm64 because no native binary is available, resulting in:

Installation failed for Package(name=lua-language-server) error="The current platform is unsupported."

Current workaround

Installing the x64 build manually (e.g., via winget install LuaLS.lua-language-server) works under emulation, but native ARM64 binaries would be preferred for performance and broader tooling compatibility.

Request

Add win32-arm64 (or win-arm64) to the release build matrix.

Activity

  1. CppCXY commented on Jun 11, 2026

    @CppCXY
    Member

    The biggest problem here is that luals's Lua runtime is actually not a standard runtime; it is a somewhat optimized Lua runtime, and among these optimizations, One part that affects ARM64 compilation is the fast-longjump optimization. The reason is that using longjmp in Lua on Windows triggers Windows unwind, which results in particularly poor performance. Therefore, this part needs to be refactored using assembly. However, bee.lua (the runtime of luals) does not correctly implement the related functionality on ARM64, leading to compilation failures.

  2. vishvanatarajan commented on Oct 12, 2026

    @vishvanatarajan

    bee.lua Windows AArch64 fast_setjmp and fast_longjmp patch upstream bee.lua now has support for Windows on ARM with proper patches for fast_setjmp and fast_longjmp on Windows ARM64.

    I have forked this repository and updated the bee.lua submodule to the latest branch and built it on my Windows on ARM system to try it out and it builds the lua language server now.

    Would it be possible to update the bee.lua submodule to the commit 263c35deb02faea780633615c180bfa08067cdaf which has the fix upstream?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions