-
Notifications
You must be signed in to change notification settings - Fork 9
System wine
Installation of wine-eac as your system wine is generally possible.
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.
You generally want to install steam using winetricks steam
.
You can use legendary to download and run EGS games:
https://github.com/derrod/legendary
These instructions are somewhat rough and will need revisions, so please keep that in mind.
-
sudo emerge crossdev
. If you don't have a local overlay, you will need to make one. https://wiki.gentoo.org/wiki/Custom_repository - Run
sudo crossdev i686-w64-mingw32
to install the 32-bit mingw toolchain. - Run
sudo crossdev x86_64-w64-mingw32
to install the 64-bit mingw toolchain. - Modify
/var/db/repos/gentoo/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
to delete thewine-5.9-Revert-makedep-Install-also-generated-typelib-for-in.patch
patch. Note that/var/db/repos/gentoo
is/user/portage
on older installs. - Run
ebuild /var/db/repos/gentoo/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild digest
to make portage happy with the ebuild. - Unmask
app-emulation/wine-vanilla:9999
:echo 'app-emulation/wine-vanilla:9999 **' | sudo tee -a /etc/portage/package.accept_keywords/wine
- Enable important USE flags:
echo 'app-emulation/wine-vanilla:9999 custom-cflags gstreamer osmesa vkd3d vulkan' | sudo tee -a /etc/portage/package.use/wine
- Enable osmesa USE flag on mesa:
echo 'media-libs/mesa osmesa' | sudo tee -a /etc/portage/package.use/wine
- Make the env directory in case it isn't made
sudo mkdir -p /etc/portage/env
- 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
- 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
sudo emerge app-emulation/wine-vanilla:9999
sudo eselect wine set wine-vanilla-9999
Do not forget to follow the advice under General.
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 is not compatible with wine-eac. If your system is using LTO, you will need to disable it for wine.