diff options
author | Lars Norberg | 2018-03-17 13:55:06 +0100 |
---|---|---|
committer | Lars Norberg | 2018-03-17 13:55:06 +0100 |
commit | 714c4f1d62f4822ff6397184b225396cefb74f1b (patch) | |
tree | f6e7eb4631dd8c961a1202d19404286f722879c8 | |
parent | 66fe5b7a0edfe783b1d38b769b9248be0e5a594b (diff) | |
download | aur-714c4f1d62f4822ff6397184b225396cefb74f1b.tar.gz |
added Path of Exile DX11 patch, see PKGBUILD comments for info
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 25 | ||||
-rw-r--r-- | poe-fix.patch | 11 | ||||
-rw-r--r-- | steam.patch | 38 |
4 files changed, 78 insertions, 2 deletions
@@ -1,6 +1,6 @@ pkgbase = wine-staging-pba-git pkgdesc = Wine staging branch with PBA patches for increased D3D performance applied. Git versions. - pkgver = 3.3.r3596.fa354f3c+wine.3.3.r263.gbf7b21ec7b+pba.r29.87307b1 + pkgver = 3.3.r3597.3f981ccb+wine.3.3.r263.gbf7b21ec7b+pba.r29.87307b1 pkgrel = 1 url = https://github.com/acomminos/wine-pba install = wine.install @@ -175,12 +175,16 @@ pkgbase = wine-staging-pba-git source = wine-git::git://source.winehq.org/git/wine.git source = wine-staging-git::git+https://github.com/wine-staging/wine-staging.git source = wine-pba::git+https://github.com/acomminos/wine-pba.git + source = steam.patch + source = poe-fix.patch source = harmony-fix.diff source = 30-win32-aliases.conf source = wine-binfmt.conf sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP + sha256sums = 972d6b114f7621c5f3bd34b1105dd390b318db18fbc76328001c984db488a9b0 + sha256sums = a45b31be24638450a43031dae1b3126a1364da22ec5212bf9cdf66caa037dcf8 sha256sums = 50ccb5bd2067e5d2739c5f7abcef11ef096aa246f5ceea11d2c3b508fc7f77a1 sha256sums = 9901a5ee619f24662b241672a7358364617227937d5f6d3126f70528ee5111e7 sha256sums = c589c1668851cf5973b8e76d9bd6ae3b9cb9e6524df5d9cb90af4ac20d61d152 @@ -2,7 +2,7 @@ # Maintainer: Lars Norberg < arch-packages at cogwerkz dot org > pkgname=wine-staging-pba-git -pkgver=3.3.r3596.fa354f3c+wine.3.3.r263.gbf7b21ec7b+pba.r29.87307b1 +pkgver=3.3.r3597.3f981ccb+wine.3.3.r263.gbf7b21ec7b+pba.r29.87307b1 pkgrel=1 _winesrcdir='wine-git' _stgsrcdir='wine-staging-git' @@ -94,12 +94,16 @@ optdepends=( source=("$_winesrcdir"::'git://source.winehq.org/git/wine.git' "$_stgsrcdir"::'git+https://github.com/wine-staging/wine-staging.git' "$_pbasrcdir"::'git+https://github.com/acomminos/wine-pba.git' + 'steam.patch' + 'poe-fix.patch' 'harmony-fix.diff' '30-win32-aliases.conf' 'wine-binfmt.conf') sha256sums=('SKIP' 'SKIP' 'SKIP' + '972d6b114f7621c5f3bd34b1105dd390b318db18fbc76328001c984db488a9b0' + 'a45b31be24638450a43031dae1b3126a1364da22ec5212bf9cdf66caa037dcf8' '50ccb5bd2067e5d2739c5f7abcef11ef096aa246f5ceea11d2c3b508fc7f77a1' '9901a5ee619f24662b241672a7358364617227937d5f6d3126f70528ee5111e7' 'c589c1668851cf5973b8e76d9bd6ae3b9cb9e6524df5d9cb90af4ac20d61d152') @@ -148,8 +152,27 @@ prepare() { export CFLAGS="${CFLAGS/-fno-plt/}" export LDFLAGS="${LDFLAGS/,-z,now/}" + # patch for 32bit font smoothing patch -Np1 < ../'harmony-fix.diff' + # Patch to allow Path of Exile to run with DirectX11 + # https://bugs.winehq.org/show_bug.cgi?id=42695 + # + # Make a fresh 64bit wine prefix, and set the wine version to windows10. + # Disable antialiasing as this does not work at all in DirectX11. + # + # Run Path of Exile with the following line: + # wine 'PathOfExile_x64.exe' --garbage-generation 1 --waitforpreload + # + # Note: Initial loading time after the grinding gears animation is higher, + # but stuttering in-game is reduced to a tolerable level. + # Maps are missing with DirectX11, no current way around this. + patch -Np1 < ../'poe-fix.patch' + + # steam crossover hack for store/web functionality + # https://bugs.winehq.org/show_bug.cgi?id=39403 + patch -Np1 < ../'steam.patch' + # apply all wine-staging patches msg2 'Applying wine-staging patches...' "${srcdir}"/"${_stgsrcdir}"/patches/patchinstall.sh DESTDIR="${srcdir}/${_winesrcdir}" --all diff --git a/poe-fix.patch b/poe-fix.patch new file mode 100644 index 000000000000..c2dea6ddbc73 --- /dev/null +++ b/poe-fix.patch @@ -0,0 +1,11 @@ +--- a/dlls/ole32/compobj.c ++++ b/dlls/ole32/compobj.c +@@ -3213,6 +3213,7 @@ + { + MULTI_QI multi_qi = { iid }; + HRESULT hres; ++ CoInitialize(NULL); + + TRACE("(rclsid=%s, pUnkOuter=%p, dwClsContext=%08x, riid=%s, ppv=%p)\n", debugstr_guid(rclsid), + pUnkOuter, dwClsContext, debugstr_guid(iid), ppv); + diff --git a/steam.patch b/steam.patch new file mode 100644 index 000000000000..deef1b5cd8f8 --- /dev/null +++ b/steam.patch @@ -0,0 +1,38 @@ +diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c +index 6e7b23e..63eda34 100644 +--- a/dlls/kernel32/process.c ++++ b/dlls/kernel32/process.c +@@ -2429,6 +2429,33 @@ static BOOL create_process_impl( LPCWSTR app_name, LPWSTR cmd_line, LPSECURITY_A + return FALSE; + if (hFile == INVALID_HANDLE_VALUE) goto done; + ++ /* CROSSOVER HACK: bug 13322 (winehq bug 39403) ++ * Insert --no-sandbox in command line of Steam's web helper process to ++ * work around problems hooking our ntdll exports. */ ++ { ++ static const WCHAR steamwebhelperexeW[] = {'s','t','e','a','m','w','e','b','h','e','l','p','e','r','.','e','x','e',0}; ++ static const WCHAR nosandboxW[] = {' ','-','-','n','o','-','s','a','n','d','b','o','x',0}; ++ ++ if (strstrW(name, steamwebhelperexeW)) ++ { ++ LPWSTR new_command_line; ++ ++ new_command_line = HeapAlloc(GetProcessHeap(), 0, ++ sizeof(WCHAR) * (strlenW(tidy_cmdline) + strlenW(nosandboxW) + 1)); ++ ++ if (!new_command_line) return FALSE; ++ ++ strcpyW(new_command_line, tidy_cmdline); ++ strcatW(new_command_line, nosandboxW); ++ ++ TRACE("CrossOver hack changing command line to %s\n", debugstr_w(new_command_line)); ++ ++ if (tidy_cmdline != cmd_line) HeapFree( GetProcessHeap(), 0, tidy_cmdline ); ++ tidy_cmdline = new_command_line; ++ } ++ } ++ /* end CROSSOVER HACK */ ++ + /* Warn if unsupported features are used */ + + if (flags & (IDLE_PRIORITY_CLASS | HIGH_PRIORITY_CLASS | REALTIME_PRIORITY_CLASS | |