Skip to content

Question: Is Windows-ARM64 (ARM64 on Windows) Support Planned? #311

Open

Description

@leet4tari

Greetings ...

I’d like to ask whether there are any plans to support Windows on ARM64 (Windows-ARM64) in the RandomX project.

With the growing availability of ARM64-based Windows devices—such as the Surface Pro X and upcoming Snapdragon X Elite laptops—there’s increasing interest in running native applications, including benchmarking and mining tools, on this platform.

A few related points of interest:
ARM64 support already exists for Linux and macOS (Apple Silicon).

Windows-ARM64 is becoming more viable as a development and testing environment.

Native support could enable performance comparisons and mining experiments without relying on x64 emulation.

Are there any technical or practical reasons why Windows-ARM64 hasn't been supported so far? And is this something that could be considered for future development?

Thank you for your time and the continued work on RandomX!

Activity

  1. hyc commented on May 22, 2025

    @hyc
    Collaborator

    ARM64 support exists for Linux and macOS because they were interesting platforms to use. Personally I would never go out of my way to buy a Windows ARM64 device.

  2. tevador commented on Jan 24, 2026

    @tevador
    Owner

    @leet4tari Can you provide a specific error you are getting when building RandomX for a Windows ARM64 device? I think the build should work with MinGW.

  3. leet4tari commented on Jan 26, 2026

    @leet4tari
    Author

    The build error is pretty verbose, but I think this is the part that seems broken

    C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.hpp(45,15): error C2653: 'JitCompilerA64': is not a class or namespace name [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
        (compiling source file '../../../../../../../RandomX/src/jit_compiler_a64.cpp')
        
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.hpp(45,32): error C2146: syntax error: missing ')' before identifier 'InstructionGeneratorA64' [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
        (compiling source file '../../../../../../../RandomX/src/jit_compiler_a64.cpp')
        
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.hpp(45,32): error C2146: syntax error: missing ';' before identifier 'InstructionGeneratorA64' [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
        (compiling source file '../../../../../../../RandomX/src/jit_compiler_a64.cpp')
        
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.hpp(45,55): error C2059: syntax error: ')' [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
        (compiling source file '../../../../../../../RandomX/src/jit_compiler_a64.cpp')
        
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.hpp(45,32): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
        (compiling source file '../../../../../../../RandomX/src/jit_compiler_a64.cpp')
        
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.hpp(47,8): error C2371: 'randomx::JitCompilerA64': redefinition; different basic types [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
        (compiling source file '../../../../../../../RandomX/src/jit_compiler_a64.cpp')
            C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.hpp(45,15):
            see declaration of 'randomx::JitCompilerA64'
        
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.cpp(91,1): error C2825: 'randomx::JitCompilerA64': must be a class or namespace when followed by '::' [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.cpp(91,17): error C2510: 'JitCompilerA64': left of '::' must be a class/struct/union [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.cpp(91,32): error C2059: syntax error: ')' [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.cpp(92,4): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
      C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.cpp(92,8): error C2440: 'initializing': cannot convert from 'uint8_t *' to 'int' [C:\a\randomx-rs\randomx-rs\target\aarch64-pc-windows-msvc\debug\build\randomx-rs-71debb27b64fde9c\out\build\randomx.vcxproj]
            C:\a\randomx-rs\randomx-rs\RandomX\src\jit_compiler_a64.cpp(92,8):
            There is no context in which this conversion is possible
    

    Might be easier to fork RandomX-rs and run Build Test Matrix CI to see the build logs.

    Let me know if there is anything else that I can help with.

  4. tevador commented on Jan 26, 2026

    @tevador
    Owner

    You are building with Visual Studio, that won't work. Try MinGW (clang/gcc).

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions