diff --git a/.SRCINFO b/.SRCINFO index f3fa74a60b220..a70b57d1ea048 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = dxvk-gplasync-bin pkgdesc = A Vulkan-based compatibility layer for Direct3D 9/10/11 (with gplasync patch) - pkgver = 2.5.3 + pkgver = 2.6 pkgrel = 1 url = https://gitlab.com/Ph42oN/dxvk-gplasync arch = x86_64 @@ -10,20 +10,20 @@ pkgbase = dxvk-gplasync-bin depends = bash optdepends = wine optdepends = proton - provides = dxvk=2.5.3 + provides = dxvk=2.6 provides = d8vk provides = d9vk conflicts = dxvk conflicts = d8vk conflicts = d9vk options = !strip - source = https://gitlab.com/Ph42oN/dxvk-gplasync/-/raw/main/releases/dxvk-gplasync-v2.5.3-1.tar.gz + source = https://gitlab.com/Ph42oN/dxvk-gplasync/-/raw/main/releases/dxvk-gplasync-v2.6-1.tar.gz source = dxvk-gplasync-env.conf source = setup_dxvk_proton.sh - source = setup_dxvk.sh - sha256sums = 510046f5bc142d9f9e51a8e6a6e88974a2b290c0035da955668d0e8d7b425943 + source = setup_dxvk.sh::https://aur.archlinux.org/cgit/aur.git/plain/setup_dxvk.sh?h=dxvk-mingw&id=15fc8ab6b1bb285df589359c50540b9c14c1f063 + sha256sums = dad66614a9e06dbc9880f28921b592debf1d3441ca7bc49796976f5cf0cae717 sha256sums = 2bce3bf5dc5a3c7312bbaae96daf82e0fe6c370e96017ce5a0c49f40901866e3 sha256sums = ce5712e2287b1ab52a9160dd7bacf0694ee3e7a5888bd71a06f27ca67af051d6 - sha256sums = 778ec44acc09ac9c718354c9a96776b60bd4156dacf584e5c29b2c9697c76684 + sha256sums = b562e8dc9539ef3cd1554c6679eef10aacf21103403d7390a141a41ae146b7a6 pkgname = dxvk-gplasync-bin diff --git a/.gitignore b/.gitignore index 4bda15994e691..6e45b6b1f7edd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ * !.gitignore !.SRCINFO -!setup_dxvk.sh !setup_dxvk_proton.sh !dxvk-gplasync-env.conf !PKGBUILD diff --git a/PKGBUILD b/PKGBUILD index c293a59441278..7cdfb8842c0e6 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,7 +5,7 @@ _pkgname=dxvk-gplasync pkgname=$_pkgname-bin -pkgver=2.5.3 +pkgver=2.6 pkgrel=1 _srcver="v$pkgver-$pkgrel" pkgdesc="A Vulkan-based compatibility layer for Direct3D 9/10/11 (with gplasync patch)" @@ -20,11 +20,11 @@ options=(!strip) source=("$url/-/raw/main/releases/$_pkgname-$_srcver.tar.gz" "$_pkgname-env.conf" 'setup_dxvk_proton.sh' - 'setup_dxvk.sh') # https://raw.githubusercontent.com/doitsujin/dxvk/4f90d7bf5f9ad785660507e0cb459a14dab5ac75/setup_dxvk.sh -sha256sums=('510046f5bc142d9f9e51a8e6a6e88974a2b290c0035da955668d0e8d7b425943' + 'setup_dxvk.sh::https://aur.archlinux.org/cgit/aur.git/plain/setup_dxvk.sh?h=dxvk-mingw&id=15fc8ab6b1bb285df589359c50540b9c14c1f063') # https://raw.githubusercontent.com/doitsujin/dxvk/4f90d7bf5f9ad785660507e0cb459a14dab5ac75/setup_dxvk.sh +sha256sums=('dad66614a9e06dbc9880f28921b592debf1d3441ca7bc49796976f5cf0cae717' '2bce3bf5dc5a3c7312bbaae96daf82e0fe6c370e96017ce5a0c49f40901866e3' 'ce5712e2287b1ab52a9160dd7bacf0694ee3e7a5888bd71a06f27ca67af051d6' - '778ec44acc09ac9c718354c9a96776b60bd4156dacf584e5c29b2c9697c76684') + 'b562e8dc9539ef3cd1554c6679eef10aacf21103403d7390a141a41ae146b7a6') package() { cd "$_pkgname-$_srcver" || exit 1 diff --git a/setup_dxvk.sh b/setup_dxvk.sh deleted file mode 100644 index c4e0639db7d91..0000000000000 --- a/setup_dxvk.sh +++ /dev/null @@ -1,207 +0,0 @@ -#!/usr/bin/env bash - -# default directories -dxvk_lib32=${dxvk_lib32:-"x32"} -dxvk_lib64=${dxvk_lib64:-"x64"} - -# figure out where we are -basedir="$(dirname "$(readlink -f "$0")")" - -# figure out which action to perform -action="$1" - -case "$action" in -install) - ;; -uninstall) - ;; -*) - echo "Unrecognized action: $action" - echo "Usage: $0 [install|uninstall] [--without-dxgi] [--symlink]" - exit 1 -esac - -# process arguments -shift - -with_dxgi=true -file_cmd="cp -v --reflink=auto" - -while (($# > 0)); do - case "$1" in - "--without-dxgi") - with_dxgi=false - ;; - "--symlink") - file_cmd="ln -s -v" - ;; - esac - shift -done - -# check wine prefix before invoking wine, so that we -# don't accidentally create one if the user screws up -if [ -n "$WINEPREFIX" ] && ! [ -f "$WINEPREFIX/system.reg" ]; then - echo "$WINEPREFIX:"' Not a valid wine prefix.' >&2 - exit 1 -fi - -# find wine executable -export WINEDEBUG=-all -# disable mscoree and mshtml to avoid downloading -# wine gecko and mono -export WINEDLLOVERRIDES="mscoree,mshtml=" - -wine="wine" -wine64="wine64" -wineboot="wineboot" - -# $PATH is the way for user to control where wine is located (including custom Wine versions). -# Pure 64-bit Wine (non Wow64) requries skipping 32-bit steps. -# In such case, wine64 and winebooot will be present, but wine binary will be missing, -# however it can be present in other PATHs, so it shouldn't be used, to avoid versions mixing. -wine_path=$(dirname "$(which $wineboot)") -wow64=true -if ! [ -f "$wine_path/$wine" ]; then - wine=$wine64 - wow64=false -fi - -# resolve 32-bit and 64-bit system32 path -winever=$($wine --version | grep wine) -if [ -z "$winever" ]; then - echo "$wine:"' Not a wine executable. Check your $wine.' >&2 - exit 1 -fi - -# ensure wine placeholder dlls are recreated -# if they are missing -$wineboot -u - -win64_sys_path=$($wine64 winepath -u 'C:\windows\system32' 2> /dev/null) -win64_sys_path="${win64_sys_path/$'\r'/}" -if $wow64; then - win32_sys_path=$($wine winepath -u 'C:\windows\system32' 2> /dev/null) - win32_sys_path="${win32_sys_path/$'\r'/}" -fi - -if [ -z "$win32_sys_path" ] && [ -z "$win64_sys_path" ]; then - echo 'Failed to resolve C:\windows\system32.' >&2 - exit 1 -fi - -# create native dll override -overrideDll() { - $wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v $1 /d native /f >/dev/null 2>&1 - if [ $? -ne 0 ]; then - echo -e "Failed to add override for $1" - exit 1 - fi -} - -# remove dll override -restoreDll() { - $wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v $1 /f > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "Failed to remove override for $1" - fi -} - -# copy or link dxvk dll, back up original file -installFile() { - dstfile="${1}/${3}.dll" - srcfile="${basedir}/${2}/${3}.dll" - - if [ -f "${srcfile}.so" ]; then - srcfile="${srcfile}.so" - fi - - if ! [ -f "${srcfile}" ]; then - echo "${srcfile}: File not found. Skipping." >&2 - return 1 - fi - - if [ -n "$1" ]; then - if [ -f "${dstfile}" ] || [ -h "${dstfile}" ]; then - if ! [ -f "${dstfile}.old" ]; then - mv -v "${dstfile}" "${dstfile}.old" - else - rm -v "${dstfile}" - fi - $file_cmd "${srcfile}" "${dstfile}" - else - echo "${dstfile}: File not found in wine prefix" >&2 - return 1 - fi - fi - return 0 -} - -# remove dxvk dll, restore original file -uninstallFile() { - dstfile="${1}/${3}.dll" - srcfile="${basedir}/${2}/${3}.dll" - - if [ -f "${srcfile}.so" ]; then - srcfile="${srcfile}.so" - fi - - if ! [ -f "${srcfile}" ]; then - echo "${srcfile}: File not found. Skipping." >&2 - return 1 - fi - - if ! [ -f "${dstfile}" ] && ! [ -h "${dstfile}" ]; then - echo "${dstfile}: File not found. Skipping." >&2 - return 1 - fi - - if [ -f "${dstfile}.old" ]; then - rm -v "${dstfile}" - mv -v "${dstfile}.old" "${dstfile}" - return 0 - else - return 1 - fi -} - -install() { - installFile "$win64_sys_path" "$dxvk_lib64" "$1" - inst64_ret="$?" - - inst32_ret=-1 - if $wow64; then - installFile "$win32_sys_path" "$dxvk_lib32" "$1" - inst32_ret="$?" - fi - - if (( ($inst32_ret == 0) || ($inst64_ret == 0) )); then - overrideDll "$1" - fi -} - -uninstall() { - uninstallFile "$win64_sys_path" "$dxvk_lib64" "$1" - uninst64_ret="$?" - - uninst32_ret=-1 - if $wow64; then - uninstallFile "$win32_sys_path" "$dxvk_lib32" "$1" - uninst32_ret="$?" - fi - - if (( ($uninst32_ret == 0) || ($uninst64_ret == 0) )); then - restoreDll "$1" - fi -} - -# skip dxgi during install if not explicitly -# enabled, but always try to uninstall it -if $with_dxgi || [ "$action" == "uninstall" ]; then - $action dxgi -fi - -$action d3d8 -$action d3d9 -$action d3d10core -$action d3d11