WineHQ

ARM64: Difference between revisions

(Update status)
(Strike out one fixed ABI bug)
Line 20: Line 20:
As of now, we found two ABI incompatibilities:
As of now, we found two ABI incompatibilities:
* [https://bugs.winehq.org/show_bug.cgi?id=38780 Bug 38780 (X18 needs to be preserved)]
* [https://bugs.winehq.org/show_bug.cgi?id=38780 Bug 38780 (X18 needs to be preserved)]
* [https://bugs.winehq.org/show_bug.cgi?id=38886 Bug 38886 (variable arguments ABI)]
* <s>[https://bugs.winehq.org/show_bug.cgi?id=38886 Bug 38886 (variable arguments ABI)]</s>


=== How to help ===
=== How to help ===

Revision as of 15:12, 2 July 2018

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


This page was last edited on 2 July 2018, at 15:12.