Commit 8e853fa5 authored by Mikhail Tergoev's avatar Mikhail Tergoev

added legacy DXVK

parent 7558c400
...@@ -2,6 +2,10 @@ ...@@ -2,6 +2,10 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
* исправлено переключение языка при отсутствии переменной "$LANG" в системе (некоторые версии Steam Deck)
*
###Scripts version 2285### Дата: 25.04.2024 / Размер скачиваемого обновления: 3 мегабайта ###Scripts version 2285### Дата: 25.04.2024 / Размер скачиваемого обновления: 3 мегабайта
* добавлено включение "DGVOODOO2" в "3D API" что дает возможность трансляции старых игр в Vulkan c использованием улучшения графики с помощью vkBasalt (спасибо Htylol) * добавлено включение "DGVOODOO2" в "3D API" что дает возможность трансляции старых игр в Vulkan c использованием улучшения графики с помощью vkBasalt (спасибо Htylol)
* улучшена функция распаковки архивов (спасибо Boria138) * улучшена функция распаковки архивов (спасибо Boria138)
......
...@@ -910,7 +910,7 @@ pw_check_and_download_wine () { ...@@ -910,7 +910,7 @@ pw_check_and_download_wine () {
pw_check_and_download_dxvk_and_vkd3d () { pw_check_and_download_dxvk_and_vkd3d () {
#Download stable and git version DXVK #Download stable and git version DXVK
for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" ; do for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" "${DXVK_LEGACY_VER}" ; do
if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then
print_info "Download and install DXVK v.${DXVK_VAR_VER}" print_info "Download and install DXVK v.${DXVK_VAR_VER}"
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" \ if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" \
...@@ -1919,6 +1919,7 @@ start_portwine () { ...@@ -1919,6 +1919,7 @@ start_portwine () {
try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" 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/" 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" create_new_dir "${PW_VULKAN_DIR}/opengl"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/opengl" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/opengl"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/opengl" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/opengl"
...@@ -1943,8 +1944,8 @@ start_portwine () { ...@@ -1943,8 +1944,8 @@ start_portwine () {
IFS=$'\n' IFS=$'\n'
for D3D_MP in $FIND_D3D_MODULE ; do for D3D_MP in $FIND_D3D_MODULE ; do
if [[ ! -z "$D3D_MODULE_PATH" ]] if [[ ! -z "$D3D_MODULE_PATH" ]]
then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}" then D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
else export D3D_MODULE_PATH="/run/host${D3D_MP}" else D3D_MODULE_PATH="/run/host${D3D_MP}"
fi fi
done done
IFS=$old_IFS IFS=$old_IFS
...@@ -1976,35 +1977,26 @@ start_portwine () { ...@@ -1976,35 +1977,26 @@ start_portwine () {
print_info "Use DAMAVAND (DirectX to wined3d vulkan)" print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
export WINE_D3D_CONFIG='renderer=vulkan' export WINE_D3D_CONFIG='renderer=vulkan'
else else
print_info "Use VKD3D-PROTON, DXVK and D8VK (DirectX 8-12 to vulkan)"
if [[ "${PW_USE_WINE_DXGI}" == 1 ]] ; then
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxvk_config" # openvr_api_dxvk
export CP_WINE_FILES="d3d10_1 d3d10 dxgi"
elif [[ "${USE_ALL_DXVK_DLLS}" == 1 ]] ; then
export CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi dxvk_config" # openvr_api_dxvk
else
export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config" # openvr_api_dxvk
export CP_WINE_FILES="d3d10_1 d3d10"
fi
check_variables VKD3D_FEATURE_LEVEL "12_1" check_variables VKD3D_FEATURE_LEVEL "12_1"
check_variables DXVK_HDR check_variables DXVK_HDR
print_info "D8VK v.${D8VK_VER} in use" print_info "D8VK v.${D8VK_VER} in use"
if [[ "${PW_VULKAN_USE}" == "1" ]] ; then if [[ "${PW_VULKAN_USE}" == "1" ]] ; then
export PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}"
export PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
print_info "DXVK v.${DXVK_STABLE_VER} in use" print_info "DXVK v.${DXVK_STABLE_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use" print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
elif [[ "${PW_VULKAN_USE}" == "2" ]] ; then elif [[ "${PW_VULKAN_USE}" == "2" ]] ; then
export PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
export PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
print_info "DXVK v.${DXVK_GIT_VER} in use" print_info "DXVK v.${DXVK_GIT_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use" print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then
export PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
export PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}" PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}"
USE_ALL_DXVK_DLLS=1
DONT_USE_VKD3D=1
print_info "DXVK v.${DXVK_STABLE_VER} in use" print_info "DXVK v.${DXVK_STABLE_VER} in use"
print_info "DGVOODOO2 ${DGV2_VER} in use" print_info "DGVOODOO2 ${DGV2_VER} in use"
for DGV2_DLL in d3dimm ddraw glide glide2x glide3x ; do for DGV2_DLL in d3dimm ddraw glide glide2x glide3x ; do
...@@ -2021,6 +2013,20 @@ OutputAPI = d3d11_fl11_0 ...@@ -2021,6 +2013,20 @@ OutputAPI = d3d11_fl11_0
dgVoodooWatermark = false" > "${PATH_TO_GAME}/dgVoodoo.conf" dgVoodooWatermark = false" > "${PATH_TO_GAME}/dgVoodoo.conf"
fi fi
var_winedlloverride_update ddraw=n var_winedlloverride_update ddraw=n
elif [[ "${PW_VULKAN_USE}" == "7" ]] ; then
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
DONT_USE_VKD3D=1
fi
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 fi
print_info "Try copy WINE files..." print_info "Try copy WINE files..."
...@@ -2038,6 +2044,7 @@ dgVoodooWatermark = false" > "${PATH_TO_GAME}/dgVoodoo.conf" ...@@ -2038,6 +2044,7 @@ dgVoodooWatermark = false" > "${PATH_TO_GAME}/dgVoodoo.conf"
fi fi
done done
if [[ "$DONT_USE_VKD3D" != 1 ]] ; then
print_info "Try copy NVAPI files..." print_info "Try copy NVAPI files..."
try_copy_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ 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 "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
...@@ -2052,6 +2059,7 @@ dgVoodooWatermark = false" > "${PATH_TO_GAME}/dgVoodoo.conf" ...@@ -2052,6 +2059,7 @@ dgVoodooWatermark = false" > "${PATH_TO_GAME}/dgVoodoo.conf"
var_winedlloverride_update "${wine_vkd3d_dll}=n" var_winedlloverride_update "${wine_vkd3d_dll}=n"
fi fi
done done
fi
PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}" PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}"
print_info "Try link native D8VK file..." print_info "Try link native D8VK file..."
......
...@@ -344,6 +344,7 @@ popd 1>/dev/null || fatal ...@@ -344,6 +344,7 @@ popd 1>/dev/null || fatal
check_nvidia_rtx && check_variables PW_VULKAN_USE "2" check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
SORT_OPENGL="$(eval_gettext "OPENGL (For video cards without VULKAN)")" SORT_OPENGL="$(eval_gettext "OPENGL (For video cards without VULKAN)")"
SORT_LEGACY="$(eval_gettext "Legacy") DXVK ${DXVK_LEGACY_VER}"
SORT_STABLE="$(eval_gettext "Stable") DXVK ${DXVK_STABLE_VER}, VKD3D ${VKD3D_STABLE_VER}" SORT_STABLE="$(eval_gettext "Stable") DXVK ${DXVK_STABLE_VER}, VKD3D ${VKD3D_STABLE_VER}"
SORT_NEWEST="$(eval_gettext "Newest") DXVK ${DXVK_GIT_VER}, VKD3D ${VKD3D_GIT_VER}" SORT_NEWEST="$(eval_gettext "Newest") DXVK ${DXVK_GIT_VER}, VKD3D ${VKD3D_GIT_VER}"
SORT_G_NINE="$(eval_gettext "GALLIUM_NINE (DX9 for MESA)")" SORT_G_NINE="$(eval_gettext "GALLIUM_NINE (DX9 for MESA)")"
...@@ -351,12 +352,13 @@ SORT_G_ZINK="$(eval_gettext "GALLIUM_ZINK (OpenGL for VULKAN)")" ...@@ -351,12 +352,13 @@ SORT_G_ZINK="$(eval_gettext "GALLIUM_ZINK (OpenGL for VULKAN)")"
SORT_DGV2="$(eval_gettext "DGVOODOO2 (DirectX 1-7, Glide 3dfx wrapper)")" SORT_DGV2="$(eval_gettext "DGVOODOO2 (DirectX 1-7, Glide 3dfx wrapper)")"
case "${PW_VULKAN_USE}" in case "${PW_VULKAN_USE}" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_STABLE!$SORT_NEWEST!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;; 0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;; 1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;;
3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_ZINK!$SORT_DGV2" ;; 3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_ZINK!$SORT_DGV2" ;;
4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_DGV2" ;; 4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_DGV2" ;;
5) PW_DEFAULT_VULKAN_USE="$SORT_DGV2!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;; 5) PW_DEFAULT_VULKAN_USE="$SORT_DGV2!$SORT_LEGACY!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;; 7) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_DGV2!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK!$SORT_DGV2" ;;
esac esac
if [[ ! -z "${PORTWINE_DB_FILE}" ]] ; then if [[ ! -z "${PORTWINE_DB_FILE}" ]] ; then
...@@ -595,6 +597,7 @@ fi ...@@ -595,6 +597,7 @@ fi
case "${VULKAN_MOD}" in case "${VULKAN_MOD}" in
"$SORT_OPENGL" ) export PW_VULKAN_USE="0" ;; "$SORT_OPENGL" ) export PW_VULKAN_USE="0" ;;
"$SORT_LEGACY" ) export PW_VULKAN_USE="7" ;;
"$SORT_STABLE" ) export PW_VULKAN_USE="1" ;; "$SORT_STABLE" ) export PW_VULKAN_USE="1" ;;
"$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;; "$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;;
"$SORT_G_NINE" ) export PW_VULKAN_USE="3" ;; "$SORT_G_NINE" ) export PW_VULKAN_USE="3" ;;
......
...@@ -51,6 +51,7 @@ export PW_WINE_FULLSCREEN_FSR="1" ...@@ -51,6 +51,7 @@ export PW_WINE_FULLSCREEN_FSR="1"
export VKD3D_LIMIT_TESS_FACTORS="64" export VKD3D_LIMIT_TESS_FACTORS="64"
export D8VK_VER="1.7.1-2367" export D8VK_VER="1.7.1-2367"
export DGV2_VER="2.8.2" export DGV2_VER="2.8.2"
export DXVK_LEGACY_VER="1.6.1"
export DXVK_STABLE_VER="1.10.3-28" export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.3.1-9" export DXVK_GIT_VER="2.3.1-9"
export VKD3D_STABLE_VER="1.1-2602" export VKD3D_STABLE_VER="1.1-2602"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment