diff options
author | Stelios Tsampas | 2019-12-18 02:01:24 +0200 |
---|---|---|
committer | Stelios Tsampas | 2019-12-18 02:01:24 +0200 |
commit | e56447a9b83557aed5332108034ef359775b4fa6 (patch) | |
tree | f0d4c8e8a4616e692c8f2db54df2d2b9e91c9107 /PKGBUILD | |
parent | 79998d34401bbeec39e1374dbf52928a9f37597c (diff) | |
download | aur-proton-native-git.tar.gz |
version 4.11.10
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 69 |
1 files changed, 40 insertions, 29 deletions
@@ -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 } |