summaryrefslogtreecommitdiff
path: root/app-emulation/wine-proton/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-09-03 22:19:54 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-09-03 22:19:54 +0100
commit71f9cc21aab4168093940b3d2e267444d712bff5 (patch)
tree15406e14be0cd3cfbafe191468b8825b3ccc1855 /app-emulation/wine-proton/files
parent312456186919deebd1ea3b34b9e26b1e15ebd5b6 (diff)
gentoo auto-resync : 03:09:2022 - 22:19:54
Diffstat (limited to 'app-emulation/wine-proton/files')
-rw-r--r--app-emulation/wine-proton/files/README.gentoo52
-rw-r--r--app-emulation/wine-proton/files/wine-proton-7.0.4-llvm-libunwind.patch9
-rw-r--r--app-emulation/wine-proton/files/wine-proton-7.0.4-noexecstack.patch7
-rw-r--r--app-emulation/wine-proton/files/wine-proton-7.0.4-restore-menubuilder.patch14
4 files changed, 82 insertions, 0 deletions
diff --git a/app-emulation/wine-proton/files/README.gentoo b/app-emulation/wine-proton/files/README.gentoo
new file mode 100644
index 000000000000..988d28df7ddf
--- /dev/null
+++ b/app-emulation/wine-proton/files/README.gentoo
@@ -0,0 +1,52 @@
+While this version of Wine is usable independently, it does contain some
+Steam-oriented changes that may be unexpected. Notably C:\users\steamuser
+is used rather than C:\users\<user-name> and it may be necessary to move
+files if converting from non-proton Wine prefixes (like games' save files).
+
+To keep a low maintenance cost, these changes are not reverted in Gentoo
+with the exception of re-enabling winemenubuilder for desktop entries.
+
+Also, given this Wine variant is oriented toward running games, some
+normally unrelated features (e.g. ldap) may not have real upstream
+(Valve) support. Because of this, some are left always disabled.
+
+If needed, use other variants for the more expected Wine behavior.
+
+---
+
+Given Proton is not creating the Wine prefixes, some features are not
+enabled by default and PROTON_* variables to control them are unrecognized.
+
+To (optionally) setup some notable defaults of Proton:
+- export WINEFSYNC=1
+. Often improves performance for CPU-bound applications, recommended
+. but should be left disabled if get crashes mentioning fsync errors.
+. >Requires linux kernel >=5.16 if unpatched.
+- export WINE_LARGE_ADDRESS_AWARE=1
+. Allows 32bit applications to access more memory, notably helps
+. prevent crashes on memory-heavy applications while using dxvk below.
+- WINEPREFIX=/path/to setup_dxvk.sh install --symlink
+. Vulkan-based d3d9/10/11 that often provides both better performance
+. and compatibility (strongly recommended).
+. >Requires app-emulation/dxvk
+- WINEPREFIX=/path/to setup_vkd3d_proton.sh install --symlink
+. Like above, but for d3d12. Wine also supports vkd3d as-is but this
+. is the modified fork used by Proton (may or may not be better).
+. >Requires app-emulation/vkd3d-proton
+
+For some applications it may be better to disable these or do other
+workarounds, see https://www.protondb.com/ for specific information.
+
+Many other proton-specific improvements / fixes are always enabled, and
+some game-specific quirks are auto-enabled as needed (can see a few from
+running winecfg).
+
+If have audio/video playback issues, note to look at GStreamer plugins.
+Notably USE=ffmpeg on media-plugins/gst-plugins-meta which Proton normally
+provide by default.
+
+---
+
+If have other Wine variants installed, remember to either use `eselect wine`
+to select this variant or call it as wine-proton. Note other available
+variants may be auto-selected when removing/replacing a selected slot.
diff --git a/app-emulation/wine-proton/files/wine-proton-7.0.4-llvm-libunwind.patch b/app-emulation/wine-proton/files/wine-proton-7.0.4-llvm-libunwind.patch
new file mode 100644
index 000000000000..0086fa5e0353
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-7.0.4-llvm-libunwind.patch
@@ -0,0 +1,9 @@
+Note the dodgy _CONFIG_H_ check can be removed when >=llvm-libunwind-15
+(which adds _VERSION) is well established: https://reviews.llvm.org/D121015
+--- a/dlls/ntdll/unix/signal_x86_64.c
++++ b/dlls/ntdll/unix/signal_x86_64.c
+@@ -1370,3 +1370,3 @@
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(_LIBUNWIND_VERSION) || defined(____LIBUNWIND_CONFIG_H__)
+ rc = unw_getcontext( &unw_context );
diff --git a/app-emulation/wine-proton/files/wine-proton-7.0.4-noexecstack.patch b/app-emulation/wine-proton/files/wine-proton-7.0.4-noexecstack.patch
new file mode 100644
index 000000000000..92aa0b4b5c5d
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-7.0.4-noexecstack.patch
@@ -0,0 +1,7 @@
+Also write GNU-stack note on dummy files used for stub libraries.
+--- a/tools/winebuild/import.c
++++ b/tools/winebuild/import.c
+@@ -1675,2 +1675,3 @@
+ output( "\t.text\n" );
++ output_gnu_stack_note();
+ }
diff --git a/app-emulation/wine-proton/files/wine-proton-7.0.4-restore-menubuilder.patch b/app-emulation/wine-proton/files/wine-proton-7.0.4-restore-menubuilder.patch
new file mode 100644
index 000000000000..760340791060
--- /dev/null
+++ b/app-emulation/wine-proton/files/wine-proton-7.0.4-restore-menubuilder.patch
@@ -0,0 +1,14 @@
+Without Steam there is no launcher by default, users with more custom
+setups may not need this but others will want access to desktop entries.
+--- a/configure.ac
++++ b/configure.ac
+@@ -3683,2 +3683,3 @@
+ WINE_CONFIG_MAKEFILE(programs/winefile)
++WINE_CONFIG_MAKEFILE(programs/winemenubuilder)
+ WINE_CONFIG_MAKEFILE(programs/winemine)
+--- a/loader/wine.inf.in
++++ b/loader/wine.inf.in
+@@ -5630,2 +5630,3 @@
+ [Services]
++HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"%11%\winemenubuilder.exe -a -r"
+ HKLM,"System\CurrentControlSet\Services\Eventlog\Application",,16