Skip to content
Richard Yao edited this page Jul 23, 2020 · 21 revisions

Installation of wine-eac as your system wine is generally possible.

General

After installing wine-eac as your system wine (as per distribution-specific instructions below), it is advisable to install winetricks, to run wineboot -u and to run winetricks dxvk win7 hidewineexports=enable to setup your prefix.

Steam

You generally want to install steam using winetricks steam.

EGS

You can use legendary to download and run EGS games:

https://github.com/derrod/legendary

Instructions for various distributions

Gentoo

These instructions are somewhat rough and will need revisions, so please keep that in mind.

  1. sudo emerge crossdev. If you don't have a local overlay, you will need to make one. https://wiki.gentoo.org/wiki/Custom_repository
  2. Run sudo crossdev i686-w64-mingw32 to install the 32-bit mingw toolchain.
  3. Run sudo crossdev x86_64-w64-mingw32 to install the 64-bit mingw toolchain.
  4. Modify /var/db/repos/gentoo/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild to delete the wine-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch patch. Note that /var/db/repos/gentoo is /user/portage on older installs.
  5. Run ebuild /var/db/repos/gentoo/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild digest to make portage happy with the ebuild.
  6. Unmask app-emulation/wine-vanilla:9999: echo 'app-emulation/wine-vanilla:9999 **' | sudo tee -a /etc/portage/package.accept_keywords/wine
  7. Enable important USE flags: echo 'app-emulation/wine-vanilla:9999 custom-cflags gstreamer osmesa vkd3d vulkan' | sudo tee -a /etc/portage/package.use/wine
  8. Enable osmesa USE flag on mesa: echo 'media-libs/mesa osmesa' | sudo tee -a /etc/portage/package.use/wine
  9. Make the env directory in case it isn't made sudo mkdir -p /etc/portage/env
  10. Make a env file:
cat << END | sudo tee /etc/portage/env/wine-eac.conf
# EAC is extremely sensitive about the code generated by the compiler.
# You can add either -ggdb or -pipe, but do not change
# the optimization level or add other CFLAGS, or things will likely
# break. Reportedly, -ftree-vectorize is also okay, but
# it probably won't help.
CFLAGS="-O2 -fno-stack-check"
CXXFLAGS="\${CFLAGS}"

# Building without a mingw toolchain is known to be broken
# We must tell wine to use mingw to cross compile .dll and .exe files.
EXTRA_ECONF='--with-mingw'

# You might want to use a local git repository instead of blindly pulling from the internet
EGIT_OVERRIDE_REPO_WINE=https://github.com/Guy1524/wine.git
EGIT_OVERRIDE_BRANCH_WINE=easy-anti-cheat
END
  1. Use the wine-eac.conf configuration on wine-vanilla: echo 'app-emulation/wine-vanilla:9999 wine-eac.conf' | sudo tee -a /etc/portage/package.env
  2. sudo emerge app-emulation/wine-vanilla:9999
  3. sudo eselect wine set wine-vanilla-9999

Do not forget to follow the advice under General.

Rebuilding after updating the portage tree

You will need to repeat steps 4 and 5 every time the portage tree is updated and you want to rebuild wine-eac. A more permanent solution will be made in the future, but given the early state of things, this will sufficient for those who want to do testing.

LTO

LTO is not compatible with wine-eac. If your system is using LTO, you will need to disable it for wine.

Clone this wiki locally