summarylogtreecommitdiffstats
path: root/0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch
blob: ee22a0faf226c3a01aaab0330d20f351de18b619 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From ac21f36388b980259efc017944c606457c8e990e Mon Sep 17 00:00:00 2001
From: Stelios Tsampas <loathingkernel@gmail.com>
Date: Wed, 12 Jul 2023 03:16:34 +0300
Subject: [PATCH 4/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 | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/proton b/proton
index c581144f..695ea10f 100755
--- a/proton
+++ b/proton
@@ -1083,6 +1083,11 @@ 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 the DLL dependencies for 32 bit libraries
+                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.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