Commit 77935dcf authored by Mikhail Tergoev's avatar Mikhail Tergoev

added check and download vulkan library

parent e9b8b66e
...@@ -58,13 +58,12 @@ else ...@@ -58,13 +58,12 @@ else
fi fi
check_variables D8VK_VER "1.0" check_variables D8VK_VER "1.0"
check_variables DXVK_STABLE_VER "1.10.3"
check_variables DXVK_STABLE_VER "1.10.3-28" check_variables DXVK_GIT_VER "2.2"
check_variables DXVK_GIT_VER "2.2-137"
# check_variables DXVK_CONFIG_FILE "path/to/dxvk.conf" # check_variables DXVK_CONFIG_FILE "path/to/dxvk.conf"
check_variables VKD3D_STABLE_VER "2.8"
check_variables VKD3D_STABLE_VER "1.1-2602" check_variables VKD3D_GIT_VER "2.9"
check_variables VKD3D_GIT_VER "1.1-3516" check_variables VKD3D_LIMIT_TESS_FACTORS 32
# check_variables VKD3D_FEATURE_LEVEL "12_0" # check_variables VKD3D_FEATURE_LEVEL "12_0"
check_variables MANGOHUD 0 check_variables MANGOHUD 0
...@@ -221,16 +220,14 @@ var_vk_istance_layers_config_update () { ...@@ -221,16 +220,14 @@ var_vk_istance_layers_config_update () {
check_win_file () { check_win_file () {
if [[ -f "$1" ]] ; then if [[ -f "$1" ]] ; then
WIN_FILE_EXEC="$(readlink -f "$1")" WIN_FILE_EXEC="$(readlink -f "$1")"
if basename "$WIN_FILE_EXEC" | grep -e ".exe$" &>/dev/null ; then case "$(basename "$WIN_FILE_EXEC")" in
WIN_FILE_TYPE=exe *.exe) WIN_FILE_TYPE=exe ;;
elif basename "$WIN_FILE_EXEC" | grep -e ".msi$" &>/dev/null ; then *.msi) WIN_FILE_TYPE=msi ;;
WIN_FILE_TYPE=msi *.bat) WIN_FILE_TYPE=bat ;;
elif basename "$WIN_FILE_EXEC" | grep -e ".bat$" &>/dev/null ; then *)
WIN_FILE_TYPE=bat
else
print_error "Unknown file extension." print_error "Unknown file extension."
return 1 return 1 ;;
fi esac
WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")" WIN_FILE_PATH="$(dirname "$WIN_FILE_EXEC")"
return 0 return 0
else else
...@@ -250,8 +247,60 @@ if [[ ! -f "$PP_CONFIG_FILE" ]] ; then ...@@ -250,8 +247,60 @@ if [[ ! -f "$PP_CONFIG_FILE" ]] ; then
fi fi
. "$PP_CONFIG_FILE" . "$PP_CONFIG_FILE"
PP_VULKAN_LIBDIR="$PORTPROTON_PATH/vulkan"
create_new_dir "$PP_VULKAN_LIBDIR"
##### CHECK VULKAN LIBRARY #####
check_and_download_dxvk () {
for DXVK_VAR_VER in "$DXVK_STABLE_VER" "$DXVK_GIT_VER" $@ ; do
if [[ ! -d "${PP_VULKAN_LIBDIR}/dxvk-$DXVK_VAR_VER" ]] ; then
DXVK_URL="https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz"
DXVK_PACKAGE="${PP_VULKAN_LIBDIR}/dxvk-${DXVK_VAR_VER}.tar.gz"
if try_download "$DXVK_URL" "$DXVK_PACKAGE"
then
if try_unpack_file "$DXVK_PACKAGE" "$PP_VULKAN_LIBDIR"
then try_remove_file "$DXVK_PACKAGE"
fi
fi
fi
done
}
check_and_download_vkd3d () {
for VKD3D_VAR_VER in "$VKD3D_STABLE_VER" "$VKD3D_GIT_VER" $@ ; do
if [[ ! -d "${PP_VULKAN_LIBDIR}/vkd3d-proton-$VKD3D_VAR_VER" ]] ; then
VKD3D_URL="https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
VKD3D_PACKAGE="${PP_VULKAN_LIBDIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst"
if try_download "$VKD3D_URL" "$VKD3D_PACKAGE"
then
if try_unpack_file "$VKD3D_PACKAGE" "$PP_VULKAN_LIBDIR"
then try_remove_file "$VKD3D_PACKAGE"
fi
fi
fi
done
}
check_and_download_d8vk () {
for D8VK_VAR_VER in "$D8VK_VER" $@ ; do
if [[ ! -d "${PP_VULKAN_LIBDIR}/d8vk-$D8VK_VAR_VER" ]] ; then
D8VK_URL="https://github.com/AlpyneDreams/d8vk/releases/download/d8vk-v${D8VK_VAR_VER}/d8vk-v${D8VK_VAR_VER}.tar.gz"
D8VK_PACKAGE="${PP_VULKAN_LIBDIR}/d8vk-${D8VK_VAR_VER}.tar.gz"
if try_download "$D8VK_URL" "$D8VK_PACKAGE" ; then
if try_unpack_file "$D8VK_PACKAGE" "$PP_VULKAN_LIBDIR/d8vk-$D8VK_VAR_VER"
then
try_remove_file "$D8VK_PACKAGE"
fi
fi
fi
done
}
check_and_download_dxvk
check_and_download_vkd3d
check_and_download_d8vk
check_win_file "$1" # check_win_file "$1"
print_var WIN_FILE_EXEC WIN_FILE_TYPE WIN_FILE_PATH PP_DEFAULT_PATH PORTPROTON_PATH # print_var WIN_FILE_EXEC WIN_FILE_TYPE WIN_FILE_PATH PP_DEFAULT_PATH PORTPROTON_PATH
exit 0 exit 0
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