summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD69
1 files changed, 40 insertions, 29 deletions
diff --git a/PKGBUILD b/PKGBUILD
index e9220e446186..06d32f3f7b9c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,15 +1,15 @@
# Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com>
pkgname=proton-native-git
-pkgver=4.11.8.r1.fd5b6b2
+pkgver=4.11.10.r0.c02769a
_geckover=2.47
_monover=4.9.4
+_dxvkver=1.5
pkgrel=1
pkgdesc="Compatibility tool for Steam Play based on Wine and additional components. Monolithic distribution"
arch=(x86_64)
url="https://github.com/ValveSoftware/Proton"
license=('GPL')
-groups=()
depends=(
fontconfig lib32-fontconfig
lcms2 lib32-lcms2
@@ -17,6 +17,7 @@ depends=(
libxcursor lib32-libxcursor
libxrandr lib32-libxrandr
libxdamage lib32-libxdamage
+ libpulse lib32-libpulse
libxi lib32-libxi
gettext lib32-gettext
freetype2 lib32-freetype2
@@ -27,10 +28,9 @@ depends=(
desktop-file-utils
python
steam-native-runtime
- wine_gecko=$_geckover
- wine-mono-bin=$_monover
- dxvk
- d9vk
+ "wine_gecko=$_geckover"
+ "wine-mono-bin=$_monover"
+ "dxvk>=$_dxvkver"
)
makedepends=(autoconf ncurses bison perl fontforge flex
'gcc>=4.5.0-2'
@@ -54,12 +54,13 @@ makedepends=(autoconf ncurses bison perl fontforge flex
libxslt lib32-libxslt
gst-plugins-base-libs lib32-gst-plugins-base-libs
vulkan-icd-loader lib32-vulkan-icd-loader
- vkd3d lib32-vkd3d
+# vkd3d lib32-vkd3d
sdl2 lib32-sdl2
libgphoto2
sane
gsm
- vulkan-headers
+# vulkan-headers
+# spirv-headers
samba
opencl-headers
git
@@ -75,17 +76,16 @@ optdepends=(
mpg123 lib32-mpg123
openal lib32-openal
v4l-utils lib32-v4l-utils
- libpulse lib32-libpulse
alsa-plugins lib32-alsa-plugins
alsa-lib lib32-alsa-lib
libjpeg-turbo lib32-libjpeg-turbo
libxcomposite lib32-libxcomposite
libxinerama lib32-libxinerama
- ncurses lib32-ncurses
+# ncurses lib32-ncurses
opencl-icd-loader lib32-opencl-icd-loader
libxslt lib32-libxslt
gst-plugins-base-libs lib32-gst-plugins-base-libs
- vkd3d lib32-vkd3d
+# vkd3d lib32-vkd3d
sdl2 lib32-sdl2
libgphoto2
sane
@@ -96,14 +96,15 @@ optdepends=(
makedepends=(${makedepends[@]} ${depends[@]})
provides=("${pkgname%-git}")
conflicts=("${pkgname%-git}")
-backup=()
-options=()
source=(
proton::git+https://github.com/ValveSoftware/Proton.git
wine-valve::git+https://github.com/ValveSoftware/wine.git
- ffmpeg::git+https://git.ffmpeg.org/ffmpeg.git
+ vkd3d-valve::git+https://github.com/ValveSoftware/vkd3d.git
openvr::git+https://github.com/ValveSoftware/openvr.git
+ ffmpeg::git+https://git.ffmpeg.org/ffmpeg.git
liberation-fonts::git+https://github.com/liberationfonts/liberation-fonts.git
+ SPIRV-Headers::git+https://github.com/KhronosGroup/SPIRV-Headers.git
+ Vulkan-Headers::git+https://github.com/KhronosGroup/Vulkan-Headers.git
FAudio::git+https://github.com/FNA-XNA/FAudio.git
proton-unfuck_makefile.patch
proton-disable_lock.patch
@@ -115,8 +116,11 @@ sha256sums=(
SKIP
SKIP
SKIP
- SKIP #7e0231e4edab976d3cb48e1c74c08c3825b7a7d71f077987742e1f6987540b07
- SKIP #f9ea33b2658e4cf3f2d0fc1289b1688162b2169cba0b65cfe80e0bb1d638054f
+ SKIP
+ SKIP
+ SKIP
+ 'd2ac28b6a409b2f8ae93b9d27ba462bb0823a22852bc9cf9c72f3f90caf17efd'
+ '7418f1ceca081e1b68d933ea6dd5da0351c7cc26e41667e3b3bc49c030504782'
)
pkgver() {
@@ -128,13 +132,13 @@ prepare() {
[ ! -d build ] && mkdir build
cd proton
- for submodule in ffmpeg openvr FAudio fonts/liberation-fonts; do
+ for submodule in ffmpeg openvr SPIRV-Headers Vulkan-Headers FAudio fonts/liberation-fonts; do
git submodule init "${submodule}"
git config submodule."${submodule}".url ../"${submodule#*/}"
git submodule update "${submodule}"
done
- for submodule in wine; do
+ for submodule in wine vkd3d; do
git submodule init "${submodule}"
git config submodule."${submodule}".url ../"${submodule#*/}"-valve
git submodule update "${submodule}"
@@ -151,7 +155,22 @@ build() {
--with-ffmpeg \
--build-name="${pkgname%-git}"
- export CFLAGS="${CFLAGS/-O3/-O2}"
+ # From d9vk PKGBUILD
+ # If using -march=native and the CPU supports AVX, launching a d3d9
+ # game cause an Unhandled exception. The cause seems to be the
+ # combination of AVX instructions and tree vectorization (implied by O3),
+ # all tested archictures from sandybridge to haswell are affected.
+ # Disabling either AVX (and AVX2 as a side-effect) or tree
+ # vectorization fixes the issue. I am not sure which one is better
+ # to disable so below you can choose. Append either of these flags.
+ # Relevant Wine issues
+ # https://bugs.winehq.org/show_bug.cgi?id=45289
+ # https://bugs.winehq.org/show_bug.cgi?id=43516
+ export CFLAGS+=" -mno-avx"
+ #export CFLAGS+=" -fno-tree-vectorize"
+ #export CFLAGS="${CFLAGS/-O3/-O2}"
+ # From wine-staging PKGBUILD
+ # Doesn't compile without remove these flags as of 4.10
export CFLAGS="${CFLAGS/ -fno-plt/}"
export LDFLAGS="${LDFLAGS/,-z,now/}"
@@ -171,24 +190,16 @@ package() {
mv dist "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"
find "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}" -type f -exec chmod 644 {} \;
- chmod 755 "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/{proton,dist/bin/{wine{,64},wine{,64}-preloader,wineserver}}
+ chmod 755 "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/{proton,dist/bin/{msidb,wine{,64},wine{,64}-preloader,wineserver}}
ln -s /usr/share/wine/mono "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/share/wine/mono
ln -s /usr/share/wine/gecko "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/share/wine/gecko
- for i in d3d10_1.dll d3d10core.dll d3d10.dll d3d11.dll dxgi.dll
+ for i in d3d9.dll d3d10_1.dll d3d10core.dll d3d10.dll d3d11.dll dxgi.dll
do
ln -s "/usr/share/dxvk/x32/$i" \
"$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/lib/wine/dxvk/
ln -s "/usr/share/dxvk/x64/$i" \
"$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/lib64/wine/dxvk/
done
-
- for i in d3d9.dll
- do
- ln -s "/usr/share/d9vk/x32/$i" \
- "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/lib/wine/dxvk/
- ln -s "/usr/share/d9vk/x64/$i" \
- "$pkgdir/usr/share/steam/compatibilitytools.d/${pkgname%-git}"/dist/lib64/wine/dxvk/
- done
}