Skip to content

Add configurations to extend support to Windows on ARM#1698

Closed
tsomanna wants to merge 2 commits intoMiKTeX:nextfrom
tsomanna:feature/win_arm64_support
Closed

Add configurations to extend support to Windows on ARM#1698
tsomanna wants to merge 2 commits intoMiKTeX:nextfrom
tsomanna:feature/win_arm64_support

Conversation

@tsomanna
Copy link
Copy Markdown

@tsomanna tsomanna commented Dec 11, 2025

PR Description:

This PR fixes issue #1236
MiKTeX run under emulation on Windows ARM devices slower than expected. Building and running MiKTeX natively for Windows on ARM can help fix this problem.

After building and testing the native ARM64 version, performance seems to have improved.

Summary of Changes:

  • CMake ARM64 Support: Added logic to detect the system processor using CMAKE_SYSTEM_PROCESSOR enabling proper build configuration for Windows ARM64.
  • GMP Platform Checks: Introduced ARM64-specific configuration in GMP CMake files to ensure proper limb endianness and CPU family detection for Windows on ARM.
  • Pixman Architecture Handling: Updated source selection logic to include ARM-specific files (pixman-arm.c) for ARM64 and guard x86 SIMD sources (pixman-mmx.c, pixman-sse2.c, pixman-ssse3.c) for x64 only.
    Added conditional macros in pixman-config.h.cmake to prevent enabling SSE2/SSSE3 on ARM64.
  • COM MIDL Environment: Implemented robust environment detection for MIDL using CMAKE_SYSTEM_PROCESSOR and introduced MIDL_ROBUST flag handling (/robust for ARM64, /no_robust otherwise) to fix compilation issues.
  • Asymptote Windows Headers: Defined WIN32_LEAN_AND_MEAN and NOMINMAX before including <Windows.h> to avoid header conflicts and macro pollution on newer Windows SDKs.
  • Cairo DirectWrite Fix: Added NTDDI_VERSION=NTDDI_WIN10_RS3 to Cairo compile definitions to expose modern DirectWrite APIs like IDWriteFactory4 support and fix build errors on recent Windows SDKs.

Attached screenshots show architecture and working apps post building MiKTeX for ARM64.

Architecture of Miktex application:
Architecture of miktex application

Working of miktex console:
Working of miktex console

Working of miktex-texworks.exe:
Working of miktex-texworks exe

I have also tried out different typesetting options which are working similar to the x64 MiKTeX counterpart.

@tsomanna tsomanna marked this pull request as ready for review December 16, 2025 02:38
@github-actions
Copy link
Copy Markdown

This pull request has been marked as stale due to inactivity.

@github-actions
Copy link
Copy Markdown

This pull request has been automatically closed due to inactivity.

@github-actions github-actions Bot closed this Feb 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant