update 3D API functions
This commit is contained in:
parent
a66766b11f
commit
464d0d8dbb
@ -2,42 +2,40 @@
|
||||
# Author: Castro-Fidel (linux-gaming.ru)
|
||||
# shellcheck disable=SC2140,SC2034
|
||||
########################################################################
|
||||
|
||||
ping_test () {
|
||||
ping -w3 -c1 $@ &> /dev/null
|
||||
[ "$?" == "0" ] && return 0 || return 1
|
||||
}
|
||||
|
||||
print_error () {
|
||||
printf "\E[31m%s Error: $@ %s\e[0m\n"
|
||||
}
|
||||
print_error () { printf "\E[31m%s Error: $@ %s\e[0m\n" ;}
|
||||
export -f print_error
|
||||
|
||||
print_warning () { printf "\E[33m%s Warning: $@ %s\e[0m\n" ;}
|
||||
export -f print_warning
|
||||
|
||||
print_info () { printf "\E[36m%s Info: $@ %s\e[0m\n" ;}
|
||||
export -f print_info
|
||||
|
||||
print_ok () { printf "\E[35m%s OK: $@ %s\e[0m\n" ;}
|
||||
export -f print_ok
|
||||
|
||||
print_var () { for vp in $@ ; do print_info "${vp}=${!vp}" ; done ;}
|
||||
export -f print_var
|
||||
|
||||
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
|
||||
|
||||
add_to_var () {
|
||||
if ! echo ${!1} | grep "$2" &>/dev/null
|
||||
then export $1="${!1} $2"
|
||||
fi
|
||||
}
|
||||
|
||||
rm_from_var () {
|
||||
if echo ${!1} | grep "$2" &>/dev/null
|
||||
then export $1="$(echo "${!1//$2/}" | tr -s " ")"
|
||||
fi
|
||||
}
|
||||
|
||||
fatal () {
|
||||
print_error "$@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
print_warning () {
|
||||
printf "\E[33m%s Warning: $@ %s\e[0m\n"
|
||||
}
|
||||
export -f print_warning
|
||||
|
||||
print_info () {
|
||||
printf "\E[36m%s Info: $@ %s\e[0m\n"
|
||||
}
|
||||
export -f print_info
|
||||
|
||||
print_ok () {
|
||||
printf "\E[35m%s OK: $@ %s\e[0m\n"
|
||||
}
|
||||
export -f print_ok
|
||||
|
||||
print_var () {
|
||||
for vp in $@ ; do print_info "${vp}=${!vp}" ; done
|
||||
}
|
||||
export -f print_var
|
||||
|
||||
change_locale () {
|
||||
if [[ -f "${PORT_WINE_TMP_PATH}/PortProton_loc" ]] ; then
|
||||
LANGUAGE=$(cat "${PORT_WINE_TMP_PATH}/PortProton_loc")
|
||||
@ -95,8 +93,6 @@ generate_pot () {
|
||||
}
|
||||
export -f generate_pot
|
||||
|
||||
check_variables () { [[ -z ${!1} ]] && export $1="$2" ;}
|
||||
|
||||
try_copy_file () {
|
||||
if [[ ! -f "$1" ]] ; then print_info "file $1 not found for copy" && return 1
|
||||
elif [[ -z "$2" ]] ; then print_error "no way to copy file $1" && return 1
|
||||
@ -1919,86 +1915,103 @@ start_portwine () {
|
||||
try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
|
||||
unset DONT_USE_VKD3D
|
||||
create_new_dir "${PW_VULKAN_DIR}/opengl"
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/opengl"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/opengl"
|
||||
|
||||
if [[ "${PW_VULKAN_USE}" == "0" ]] ; then
|
||||
print_info "Use OpenGL"
|
||||
export GL_YIELD="NOTHING"
|
||||
export mesa_glthread=true
|
||||
export WINE_D3D_CONFIG='renderer=gl'
|
||||
elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
|
||||
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
|
||||
export PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
|
||||
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll"
|
||||
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
|
||||
var_winedlloverride_update "d3d9=n;wined3d=b;dxvk_config,vulkan-1,winevulkan="
|
||||
unset FIND_D3D_MODULE D3D_MODULE_PATH
|
||||
|
||||
if ! check_flatpak ; then
|
||||
FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null)
|
||||
if [[ ! -z "$FIND_D3D_MODULE" ]] ; then
|
||||
old_IFS=$IFS
|
||||
IFS=$'\n'
|
||||
for D3D_MP in $FIND_D3D_MODULE ; do
|
||||
if [[ ! -z "$D3D_MODULE_PATH" ]]
|
||||
then D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
|
||||
else D3D_MODULE_PATH="/run/host${D3D_MP}"
|
||||
fi
|
||||
done
|
||||
IFS=$old_IFS
|
||||
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
|
||||
else
|
||||
pw_stop_progress_bar
|
||||
yad_error "$(eval_gettext "d3dadapter9.so.1.0.0 - Not found in the system.\nInstall the missing package: <b>d3dadapter9</b>")"
|
||||
stop_portwine
|
||||
fi
|
||||
else
|
||||
export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
|
||||
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
|
||||
fi
|
||||
export mesa_glthread=true
|
||||
export ENABLE_VKBASALT=0
|
||||
export PW_MANGOHUD=0
|
||||
export WINE_FULLSCREEN_FSR=0
|
||||
elif [[ "${PW_VULKAN_USE}" == "4" ]] ; then
|
||||
print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)"
|
||||
export GL_YIELD="NOTHING"
|
||||
export mesa_glthread=true
|
||||
export WINE_D3D_CONFIG='renderer=gl'
|
||||
export __GLX_VENDOR_LIBRARY_NAME=mesa
|
||||
export MESA_LOADER_DRIVER_OVERRIDE=zink
|
||||
if [[ "${XDG_SESSION_TYPE}" != "wayland" ]] || [[ "${PW_USE_GAMESCOPE}" != 1 ]] ; then
|
||||
export LIBGL_KOPPER_DRI2=1
|
||||
fi
|
||||
elif [[ "${PW_VULKAN_USE}" == "6" ]] ; then
|
||||
print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
|
||||
export WINE_D3D_CONFIG='renderer=vulkan'
|
||||
else
|
||||
check_variables VKD3D_FEATURE_LEVEL "12_1"
|
||||
check_variables DXVK_HDR
|
||||
|
||||
print_info "D8VK v.${D8VK_VER} in use"
|
||||
|
||||
if [[ "${PW_VULKAN_USE}" == "1" ]] ; then
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
|
||||
unset CP_VKD3D_FILES CP_DXVK_FILES CP_D8VK_FILES CP_WINE_FILES PATH_TO_VKD3D_FILES PATH_TO_DXVK_FILES
|
||||
case "${PW_VULKAN_USE}" in
|
||||
0) # OPENGL
|
||||
print_info "Use OpenGL"
|
||||
export GL_YIELD="NOTHING"
|
||||
export mesa_glthread=true
|
||||
export WINE_D3D_CONFIG='renderer=gl'
|
||||
CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core"
|
||||
;;
|
||||
6) # WINED3D VULKAN (DAMAVAND)
|
||||
print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
|
||||
CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core"
|
||||
export WINE_D3D_CONFIG='renderer=vulkan'
|
||||
;;
|
||||
7) # LEGACY DXVK
|
||||
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
|
||||
;;
|
||||
1) # STABLE DXVK AND VKD3D
|
||||
print_info "DXVK v.${DXVK_STABLE_VER} in use"
|
||||
print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
|
||||
elif [[ "${PW_VULKAN_USE}" == "2" ]] ; then
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
|
||||
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi openvr_api_dxvk"
|
||||
CP_D8VK_FILES="d3d8"
|
||||
CP_WINE_FILES="d3d10_1 d3d10"
|
||||
;;
|
||||
2)
|
||||
# NEWEST DXVK AND VKD3D
|
||||
print_info "DXVK v.${DXVK_GIT_VER} in use"
|
||||
print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
|
||||
elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
|
||||
PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}"
|
||||
USE_ALL_DXVK_DLLS=1
|
||||
DONT_USE_VKD3D=1
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
|
||||
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi openvr_api_dxvk"
|
||||
CP_D8VK_FILES="d3d8"
|
||||
CP_WINE_FILES="d3d10_1 d3d10"
|
||||
;;
|
||||
3) # GALLIUM NINE
|
||||
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
|
||||
CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 dxgi d3d12 d3d12core"
|
||||
PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
|
||||
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll"
|
||||
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
|
||||
var_winedlloverride_update "d3d9=n"
|
||||
unset FIND_D3D_MODULE D3D_MODULE_PATH
|
||||
|
||||
if ! check_flatpak ; then
|
||||
FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null)
|
||||
if [[ ! -z "$FIND_D3D_MODULE" ]] ; then
|
||||
old_IFS=$IFS
|
||||
IFS=$'\n'
|
||||
for D3D_MP in $FIND_D3D_MODULE ; do
|
||||
if [[ ! -z "$D3D_MODULE_PATH" ]]
|
||||
then D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
|
||||
else D3D_MODULE_PATH="/run/host${D3D_MP}"
|
||||
fi
|
||||
done
|
||||
IFS=$old_IFS
|
||||
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
|
||||
else
|
||||
pw_stop_progress_bar
|
||||
yad_error "$(eval_gettext "d3dadapter9.so.1.0.0 - Not found in the system.\nInstall the missing package: <b>d3dadapter9</b>")"
|
||||
stop_portwine
|
||||
fi
|
||||
else
|
||||
export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
|
||||
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
|
||||
fi
|
||||
export mesa_glthread=true
|
||||
export ENABLE_VKBASALT=0
|
||||
export PW_MANGOHUD=0
|
||||
export WINE_FULLSCREEN_FSR=0
|
||||
;;
|
||||
4) # GALLIUM ZINK
|
||||
print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)"
|
||||
CP_WINE_FILES="d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core"
|
||||
export GL_YIELD="NOTHING"
|
||||
export mesa_glthread=true
|
||||
export WINE_D3D_CONFIG='renderer=gl'
|
||||
export __GLX_VENDOR_LIBRARY_NAME=mesa
|
||||
export MESA_LOADER_DRIVER_OVERRIDE=zink
|
||||
if [[ "${XDG_SESSION_TYPE}" != "wayland" ]] \
|
||||
|| [[ "${PW_USE_GAMESCOPE}" != "1" ]]
|
||||
then
|
||||
export LIBGL_KOPPER_DRI2="1"
|
||||
fi
|
||||
;;
|
||||
5) # DGVOODOO2 + LEGACY DXVK
|
||||
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
|
||||
print_info "DGVOODOO2 ${DGV2_VER} in use"
|
||||
CP_WINE_FILES="d3d8 d3d12 d3d12core"
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
|
||||
PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}"
|
||||
for DGV2_DLL in d3dimm ddraw glide glide2x glide3x ; do
|
||||
try_copy_file "$PATH_TO_DGV2_FILES/x32/${DGV2_DLL}.dll" "${PATH_TO_GAME}"
|
||||
done
|
||||
@ -2013,60 +2026,66 @@ OutputAPI = d3d11_fl11_0
|
||||
dgVoodooWatermark = false" > "${PATH_TO_GAME}/dgVoodoo.conf"
|
||||
fi
|
||||
var_winedlloverride_update ddraw=n
|
||||
elif [[ "${PW_VULKAN_USE}" == "7" ]] ; then
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
|
||||
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
|
||||
DONT_USE_VKD3D=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
print_info "Use VKD3D-PROTON, DXVK and D8VK (DirectX 8-12 to vulkan)"
|
||||
if [[ "${PW_USE_WINE_DXGI}" == 1 ]] ; then
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d9 dxvk_config" # openvr_api_dxvk
|
||||
CP_WINE_FILES="d3d10_1 d3d10 dxgi"
|
||||
elif [[ "${USE_ALL_DXVK_DLLS}" == 1 ]] ; then
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi dxvk_config" # openvr_api_dxvk
|
||||
else
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config" # openvr_api_dxvk
|
||||
CP_WINE_FILES="d3d10_1 d3d10"
|
||||
fi
|
||||
# force use dxgi.dll from wine
|
||||
if [[ "${PW_USE_WINE_DXGI}" == "1" ]] ; then
|
||||
rm_from_var CP_DXVK_FILES "dxgi"
|
||||
add_to_var CP_WINE_FILES "dxgi"
|
||||
fi
|
||||
|
||||
print_info "Try copy WINE files..."
|
||||
for copy_wine_dll in $CP_WINE_FILES vulkan-1 ; do
|
||||
try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${copy_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${copy_wine_dll}.dll"
|
||||
try_copy_file "${WINEDIR}/lib/wine/i386-windows/${copy_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${copy_wine_dll}.dll"
|
||||
done
|
||||
print_info "Try copy WINE files..."
|
||||
for copy_wine_dll in $CP_WINE_FILES "vulkan-1" ; do
|
||||
try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${copy_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${copy_wine_dll}.dll"
|
||||
try_copy_file "${WINEDIR}/lib/wine/i386-windows/${copy_wine_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${copy_wine_dll}.dll"
|
||||
done
|
||||
|
||||
if [[ ! -z "$CP_DXVK_FILES" ]] ; then
|
||||
print_info "Try copy native DXVK files..."
|
||||
for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
|
||||
check_variables DXVK_HDR "0"
|
||||
for wine_dxvk_dll in $CP_DXVK_FILES ; do
|
||||
if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then
|
||||
try_copy_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
var_winedlloverride_update "${wine_dxvk_dll}=n"
|
||||
fi
|
||||
done
|
||||
create_new_dir "${PATH_TO_DXVK_FILES}/dxvk_cache"
|
||||
export DXVK_STATE_CACHE_PATH="${PATH_TO_DXVK_FILES}"/dxvk_cache
|
||||
export DXVK_STATE_CACHE="1"
|
||||
fi
|
||||
|
||||
if [[ "$DONT_USE_VKD3D" != 1 ]] ; then
|
||||
print_info "Try copy NVAPI files..."
|
||||
try_copy_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \
|
||||
try_copy_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \
|
||||
try_copy_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
if [[ "$DXVK_ENABLE_NVAPI" == "1" ]] ; then
|
||||
print_info "Try copy NVAPI files..."
|
||||
try_copy_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \
|
||||
try_copy_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \
|
||||
try_copy_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
fi
|
||||
|
||||
print_info "Try copy native VKD3D files..."
|
||||
for wine_vkd3d_dll in d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1 ; do
|
||||
if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then
|
||||
try_copy_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
var_winedlloverride_update "${wine_vkd3d_dll}=n"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [[ ! -z "$CP_VKD3D_FILES" ]] ; then
|
||||
print_info "Try copy native VKD3D files..."
|
||||
check_variables VKD3D_FEATURE_LEVEL "12_1"
|
||||
for wine_vkd3d_dll in $CP_VKD3D_FILES ; do
|
||||
if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then
|
||||
try_copy_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_copy_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
var_winedlloverride_update "${wine_vkd3d_dll}=n"
|
||||
fi
|
||||
done
|
||||
create_new_dir "${PATH_TO_VKD3D_FILES}/vkd3d_cache"
|
||||
export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache"
|
||||
fi
|
||||
|
||||
PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}"
|
||||
if [[ ! -z "$CP_D8VK_FILES" ]] ; then
|
||||
print_info "Try link native D8VK file..."
|
||||
try_force_link_file "${PATH_TO_D8VK_FILES}/x32/d3d8.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_force_link_file "${PATH_TO_D8VK_FILES}/x64/d3d8.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
var_winedlloverride_update d3d8=n
|
||||
PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}"
|
||||
for wine_d8vk_dll in $CP_D8VK_FILES ; do
|
||||
try_force_link_file "${PATH_TO_D8VK_FILES}/x32/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
|
||||
try_force_link_file "${PATH_TO_D8VK_FILES}/x64/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
|
||||
var_winedlloverride_update "${wine_d8vk_dll}=n"
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then
|
||||
@ -2075,29 +2094,26 @@ dgVoodooWatermark = false" > "${PATH_TO_GAME}/dgVoodoo.conf"
|
||||
try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${WINEPREFIX}/drive_c/vrclient/bin/"
|
||||
fi
|
||||
|
||||
if [[ "${PW_USE_SHADER_CACHE}" == 1 ]] ; then
|
||||
create_new_dir "${PATH_TO_DXVK_FILES}/gl_shader_cache"
|
||||
export __GL_SHADER_DISK_CACHE=1
|
||||
export __GL_SHADER_DISK_CACHE_PATH="${PATH_TO_DXVK_FILES}/gl_shader_cache"
|
||||
export __GL_SHADER_DISK_CACHE_SIZE=50000000000
|
||||
export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1
|
||||
create_new_dir "${PATH_TO_DXVK_FILES}/dxvk_cache"
|
||||
export DXVK_STATE_CACHE_PATH="${PATH_TO_DXVK_FILES}"/dxvk_cache
|
||||
export DXVK_STATE_CACHE=1
|
||||
create_new_dir "${PATH_TO_VKD3D_FILES}/vkd3d_cache"
|
||||
export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache"
|
||||
if [[ "${PW_USE_SHADER_CACHE}" == "1" ]] ; then
|
||||
create_new_dir "${PW_VULKAN_DIR}}/gl_shader_cache"
|
||||
export __GL_SHADER_DISK_CACHE="1"
|
||||
export __GL_SHADER_DISK_CACHE_PATH="${PW_VULKAN_DIR}/gl_shader_cache"
|
||||
export __GL_SHADER_DISK_CACHE_SIZE="50000000000"
|
||||
export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP="1"
|
||||
else
|
||||
export __GL_SHADER_DISK_CACHE=0
|
||||
export DXVK_STATE_CACHE=disable
|
||||
export VKD3D_SHADER_CACHE_PATH=0
|
||||
export __GL_SHADER_DISK_CACHE="0"
|
||||
export DXVK_STATE_CACHE="disable"
|
||||
export VKD3D_SHADER_CACHE_PATH="0"
|
||||
fi
|
||||
|
||||
if [[ "${PW_WINE_FULLSCREEN_FSR}" == 1 ]] || [[ "${WINE_FULLSCREEN_FSR}" == 1 ]] ; then
|
||||
export WINE_FULLSCREEN_FSR=1
|
||||
export WINE_FULLSCREEN_FSR_STRENGTH=2
|
||||
export WINE_FULLSCREEN_INTEGER_SCALING=0
|
||||
if [[ "${PW_WINE_FULLSCREEN_FSR}" == "1" ]] \
|
||||
|| [[ "${WINE_FULLSCREEN_FSR}" == "1" ]]
|
||||
then
|
||||
export WINE_FULLSCREEN_FSR="1"
|
||||
export WINE_FULLSCREEN_FSR_STRENGTH="2"
|
||||
export WINE_FULLSCREEN_INTEGER_SCALING="0"
|
||||
else
|
||||
export WINE_FULLSCREEN_FSR=0
|
||||
export WINE_FULLSCREEN_FSR="0"
|
||||
unset WINE_FULLSCREEN_FAKE_CURRENT_RES WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING
|
||||
fi
|
||||
|
||||
|
@ -602,7 +602,7 @@ case "${VULKAN_MOD}" in
|
||||
"$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;;
|
||||
"$SORT_G_NINE" ) export PW_VULKAN_USE="3" ;;
|
||||
"$SORT_G_ZINK" ) export PW_VULKAN_USE="4" ;;
|
||||
"$SORT_DGV2" ) export PW_VULKAN_USE="5" ;;
|
||||
"$SORT_DGV2" ) export PW_VULKAN_USE="5" ;;
|
||||
esac
|
||||
|
||||
init_wine_ver
|
||||
|
Loading…
Reference in New Issue
Block a user