This fork is a rebase of bylaws's fork, Readme was also updated for ARM64EC instruction instead of the default.
Wine is a program which allows running Microsoft Windows programs (including DOS, Windows 3.x, Win32, and Win64 executables) on Unix. It consists of a program loader which loads and executes a Microsoft Windows binary, and a library (called Winelib) that implements Windows API calls using their Unix, X11 or Mac equivalents. The library may also be used for porting Windows code into native Unix executables.
Wine is free software, released under the GNU LGPL; see the file LICENSE for the details.
For compile instructions, keep reading.
Run programs as wine program. For more information and problem
resolution, read the rest of this file, the Wine man page, and
especially the wealth of information found at https://www.winehq.org.
To compile and run Wine, you must have one of the following:
- Linux version 2.6.22 or later
- ARM64EC Host
As Wine requires kernel-level thread support to run, only the operating systems mentioned above are supported. Other operating systems which support kernel threads may be supported in the future.
Supported file systems: Wine should run on most file systems. A few compatibility problems have also been reported using files accessed through Samba. Also, NTFS does not provide all the file system features needed by some applications. Using a native Unix file system is recommended.
Basic requirements: You need to have the X11 development include files installed (called xorg-dev in Debian and libX11-devel in Red Hat). Of course you also need make (most likely GNU make). You also need flex version 2.5.33 or later and bison.
Optional support libraries: Configure will display notices when optional libraries are not found on your system. See https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine for hints about the packages you should install. On 64-bit platforms, you have to make sure to install the 32-bit versions of these libraries.
Scripts and instructions to build an ARM64EC toolchain can be found at here, with prebuilt binaries for ARM64/x86 hosts on the releases page. Once built/downloaded, add it to your environment with
export PATH="<path to toolchain>/bin:$PATH"
note the toolchain must come before all other path entries as it needs to override the host ar binary.
- Make sure to grab the tar.gz aarch64 files when compiling on Linux. The zip files are for a Windows toolchain which doesn't work for these instructions.
[https://gitlab.winehq.org/wine/wine Upstream] wine has various things missing for full FEX/ARM64EC support, while it can be used, this fork will give the best results for now. Make sure to install the deps listed here before building with the ARM64EC toolchain.
./configure --enable-archs=arm64ec,aarch64,i386 --prefix=/usr --with-mingw=clang --disable-tests make -j$(nproc)This will build the program "wine" and numerous support libraries/binaries. The program "wine" will load and run Windows executables. The library "libwine" ("Winelib") can be used to compile and link Windows source code under Unix.
To see compile configuration options, do ./configure --help.
For more information, see https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine (this readme but not tweaked for this repo which I'm keeping because it was already here), and https://wiki.fex-emu.com/index.php/Development:ARM64EC
Once Wine has been built correctly, you can do sudo --preserve-env=PATH make install -j$(nproc); this
will install the wine executable and libraries, the Wine man page, and
other needed files.
Don't forget to uninstall any conflicting previous Wine installation
first. Try either dpkg -r wine or rpm -e wine or make uninstall
before installing.
Once installed, you can run the winecfg configuration tool. See the
Support area at https://www.winehq.org/ for configuration hints.
When invoking Wine, you may specify the entire path to the executable, or a filename only.
For example, to run Notepad:
wine notepad (using the search Path as specified in
wine notepad.exe the registry to locate the file)
wine c:\\windows\\notepad.exe (using DOS filename syntax)
wine ~/.wine/drive_c/windows/notepad.exe (using Unix filename syntax)
wine notepad.exe readme.txt (calling program with parameters)
Wine is not perfect, so some programs may crash. If that happens you will get a crash log that you should attach to your report when filing a bug.
-
WWW: A great deal of information about Wine is available from WineHQ at https://www.winehq.org/ : various Wine Guides, application database, bug tracking. This is probably the best starting point.
-
FAQ: The Wine FAQ is located at https://gitlab.winehq.org/wine/wine/-/wikis/FAQ
-
Wiki: The Wine Wiki is located at https://gitlab.winehq.org/wine/wine/-/wikis/
-
Gitlab: Wine development is hosted at https://gitlab.winehq.org
-
Mailing lists: There are several mailing lists for Wine users and developers; see https://gitlab.winehq.org/wine/wine/-/wikis/Forums for more information.
-
Bugs: Report bugs to Wine Bugzilla at https://bugs.winehq.org Please search the bugzilla database to check whether your problem is already known or fixed before posting a bug report.
-
IRC: Online help is available at channel
#WineHQon irc.libera.chat.