Clear message

Redirected from page "Wine64"

AMD64 Support on Wine

This page is for notes on the 64-bit port of Wine to the AMD64 architecture (a.k.a. x64 or x86-64) and the WoW64 setup, which allows running both 32 and 64-bit Windows apps from the same instance of Wine.

/!\ Support for 64-bit apps is still only working for Linux. 64-bit versions of other OSes can use the 32-bit build of Wine well, but the WoW64 setup is still a work in progress. See below for more details...

ABI Differences

There are some major differences between the x86-64 ABI on Windows and other operating systems. Here's a short list of some of the major ones:

  • The long datatype is 32 bits on Windows but 64 bits on Linux

  • Calling conventions differ
  • Different registers used for passing parameters

(!) See the reference documents at the bottom of this page for the complete picture

To-Dos

There are still a lot of improvements that need to be made before Wine can run 64-bit apps on all platforms:

Port to Other OSes

Consistent 32-bit Support

Ideally, BuildingWine, the ConformanceTests, and execution should be as consistent as possible. That should be true whether running both 32-bit and 64-bit apps in Wine, or comparing a stand-alone 32-bit build with the 32-bit components in a WoW64 setup.

One quick way to zero in on simpler differences is to scan the make and test logs from different build directories. Here's a simple script that simply outputs message counts for different directories...

/!\ This is a good idea that could use a little work to be more effective

for dir in wine32 wine64
do
    echo $dir
    cd $dir
    echo -n "ok:  "; find . -name '*.ok' | wc -l
    echo -n "err: "; grep ok.*Error test.log | wc -l
    cd ..
done

/!\ Anyone that knows a decent Bugzilla query, which lists incorrect differences from Wine bitness or build type (vanilla or WoW64), feel free to add it here.

See Also

  • Start64 has articles, lists, and more about both AMD64 software and compatible hardware

On Wine Wiki:

Porting Guides:

Reference Documents:


CategoryArchitecture CategoryDevelopment

AMD64 (last edited 2015-08-18 06:04:14 by KyleAuble)