summarylogtreecommitdiffstats
path: root/0003-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch
diff options
context:
space:
mode:
Diffstat (limited to '0003-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch')
-rw-r--r--0003-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/0003-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch b/0003-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch
new file mode 100644
index 000000000000..7b9eb4863690
--- /dev/null
+++ b/0003-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch
@@ -0,0 +1,44 @@
+From 6ec0e7d263b1026f2703cb19c5444fd7eb22663b Mon Sep 17 00:00:00 2001
+From: Stelios Tsampas <loathingkernel@gmail.com>
+Date: Wed, 12 Jul 2023 03:16:34 +0300
+Subject: [PATCH 3/4] AUR Copy DLL dependencies of 32bit libvkd3d dlls into the
+ correct location in the prefix
+
+For some unknown to me reason, 32bit vkd3d (not vkd3d-proton) always links
+to libgcc_s_dw2-1.dll no matter what linker options I tried.
+
+The required dlls into the package next to vkd3d, they will be copied later into the prefix
+by the patched proton script. Bundling the helps to avoid making mingw-w64-gcc package
+a runtime dependency.
+
+ DLL Name: libgcc_s_dw2-1.dll
+ vma: Hint/Ord Member-Name Bound-To
+ 6a4b4 121 __udivdi3
+ 6a4c0 123 __umoddi3
+---
+ proton | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/proton b/proton
+index e288a61d..01d414c2 100755
+--- a/proton
++++ b/proton
+@@ -911,6 +911,15 @@ class CompatData:
+ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
+ try_copy(g_proton.lib_dir + "vkd3d/libvkd3d-shader-1.dll", "drive_c/windows/syswow64",
+ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
++ #copy mingw DLL dependencies for libvkd3d
++ try_copy(g_proton.lib64_dir + "vkd3d/libgcc_s_seh-1.dll", "drive_c/windows/system32",
++ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
++ try_copy(g_proton.lib_dir + "vkd3d/libgcc_s_dw2-1.dll", "drive_c/windows/syswow64",
++ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
++ try_copy(g_proton.lib64_dir + "vkd3d/libwinpthread-1.dll", "drive_c/windows/system32",
++ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
++ try_copy(g_proton.lib_dir + "vkd3d/libwinpthread-1.dll", "drive_c/windows/syswow64",
++ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True)
+
+ if use_wined3d:
+ dxvkfiles = []
+--
+2.41.0
+