Difference between revisions of "ARM64"

From WineHQ Wiki
Jump to: navigation, search
(Update status)
 
Line 10: Line 10:
 
* Backtraces work
 
* Backtraces work
 
* WOW64 setup works now
 
* WOW64 setup works now
 
=== Todo ===
 
 
* Stubs
 
* Stubs
 
* relay tracing
 
* relay tracing
 +
 +
=== Todo ===
 
* libs/port/interlocked.c: maybe native operations
 
* libs/port/interlocked.c: maybe native operations
 
* [[Gecko|wine-gecko]]/[[Mono|wine-mono]] ARM64 port
 
* [[Gecko|wine-gecko]]/[[Mono|wine-mono]] ARM64 port

Latest revision as of 22:02, 13 October 2017

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
  • Stubs
  • relay tracing

Todo

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