python / python/cpython

[Windows] Enable ARM64X build

Open
#144,598 5 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

build OS-windows type-feature
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

Feature or enhancement

Proposal:

Currently, CPython offers separate x64 and ARM64 builds for Windows. This poses a challenge that users will need both installed in order for apps using x64 emulation and native ARM64 apps to use the Python interpreter.
This proposal suggests providing ARM64X (which is combined ARM64 native + ARM64EC) DLLs for CPython, allowing both native ARM64 apps and x64 emulated apps to use a single Python install.
Windows versions that do not provide native x64 emulation (Windows 10) will simply use the ARM64 binary within ARM64X, so there is no change to current behavior on those systems.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the proposal and the linked Microsoft ARM64X documentation, then inspect CPython's Windows build process and its existing x64 and ARM64 outputs. Done means CPython provides ARM64X DLLs so one Windows installation supports both native ARM64 and x64-emulated applications.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.