ARM64

From WineHQ Wiki
Jump to: navigation, search

ARM64 support

Motivation

After my ARM port ARM64 (AArch64) was a logical step and due to my experience with ARM it only took days instead of month.

Again we are faster than the other win32 implementation :), therefore it's a pure Winelib port.

Status

  • Yes, It works! (TM)
  • Patchset was committed on January 16. 2013 and is available since Wine-1.5.22
  • Backtraces work
  • WOW64 setup works now

Todo

  • Stubs
  • relay tracing
  • libs/port/interlocked.c: maybe native operations
  • wine-gecko/wine-mono ARM64 port

ABI Problems

As of now, we found two ABI incompatibilities:

How to help

  • Analyze and/or fix (most likely in GCC) the variable arguments problem.
  • Report bugs with winelib or Windows applications.

Compiling

In the likely case that you don't own ARM64 Hardware at the moment, have a look at Linaro Engineering: ARMv8 activity/downloads,

there you get a cross-toolchain, a bootable system and instruction on how to get the Foundation Model from ARM. (qemu should also work, but i haven't had much success with it yet) For the start run configure like:

../configure --host=aarch64-linux-gnu host_alias=aarch64-linux-gnu --with-wine-tools=../yourotherbuilddir/ --without-freetype --without-x --enable-win64


Running Windows arm64 Applications

The SDK for win10 includes some PEs for arm64, have a look at Bug 38714.

You may run into ABI problems described above.

See also

André Hentschel

AArch32: ARM

ARM64 commits in Wine

Discussion on linux-arch mailing list