Compare commits

..

2 Commits

13 changed files with 110 additions and 194 deletions

View File

@@ -2,21 +2,6 @@ You can help us in the development of the project on the website: https://linux-
---------------------------------------- ----------------------------------------
Changelog: Changelog:
###Scripts version 2440### / Date: 03.09.2025 / Download update size: 380 megabytes
* updated WINE_LG to version "10-14"
* updated PROTON_LG to version "10-15"
* updated versions:
- DXVK_NEW_VER "2.7-46" (with dxvk-nvapi)
- VKD3D_NEW_VER "1.1-4707" (with vkd3d-shader)
* improved and optimized video card and driver selection functions (thanks to Htylol)
* Epic Games Launcher is installed and works again on new PROTON_LG versions (to apply the fix, run autoinstall)
* updated VK Play installation link (thanks to Muzifs)
* fixed Anomaly Zone autoinstallation (thanks to Muzifs)
* fixed Azahar autoinstallation (thanks to Muzifs)
* fixed Goose Goose Duck autoinstallation (thanks Muzifs)
* improved Steam cover download function (thanks alex2844)
* improved main monitor detection on Hyprland (thanks Boria138)
###Scripts version 2439### / Date: 31.07.2025 / Download update size: 4 megabytes ###Scripts version 2439### / Date: 31.07.2025 / Download update size: 4 megabytes
* improved functions for checking and selecting video cards (thanks to Htylol) * improved functions for checking and selecting video cards (thanks to Htylol)
* added blocking of 3D API versions not supported by the video card or driver (thanks to Htylol) * added blocking of 3D API versions not supported by the video card or driver (thanks to Htylol)

View File

@@ -2,21 +2,6 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2440### / Дата: 03.09.2025 / Размер скачиваемого обновления: 380 мегабайта
* обновлен WINE_LG до версии "10-14"
* обновлен PROTON_LG до версии "10-15"
* обновлены версии:
- DXVK_NEW_VER "2.7-46" (совместно с dxvk-nvapi)
- VKD3D_NEW_VER "1.1-4707" (совместно vkd3d-shader)
* улучшены и оптимизированы функции выбора видеокарты и драйвера (спасибо Htylol)
* Epic Games Launcher снова устанавливается и работает на новых версиях PROTON_LG (для применения исправления, запустите автоустановку)
* обновлена ссылка для установки VK Play (спасибо Muzifs)
* исправлена автоустановка Anomaly Zone (спасибо Muzifs)
* исправлена автоустановка Azahar (спасибо Muzifs)
* исправлена автоустановка Goose Goose Duck (спасибо Muzifs)
* улучшена функция скачивания обложек для Steam (спасибо alex2844)
* улучшено определение главного монитора на Hyprland (спасибо Boria138)
###Scripts version 2439### / Дата: 31.07.2025 / Размер скачиваемого обновления: 4 мегабайта ###Scripts version 2439### / Дата: 31.07.2025 / Размер скачиваемого обновления: 4 мегабайта
* улучшены функции проверки и выбора видеокарт (спасибо Htylol) * улучшены функции проверки и выбора видеокарт (спасибо Htylol)
* добавлена блокировка не поддерживаемых видеокартой, или драйвером, версий 3D Api (спасибо Htylol) * добавлена блокировка не поддерживаемых видеокартой, или драйвером, версий 3D Api (спасибо Htylol)

View File

@@ -86,7 +86,7 @@ getSteamId() {
local file=$(find "$(dirname "${NOSTAPPPATH}")" -type f \( ${conditions# -o} \) -print -quit 2>/dev/null) local file=$(find "$(dirname "${NOSTAPPPATH}")" -type f \( ${conditions# -o} \) -print -quit 2>/dev/null)
if [[ -n "${file}" ]]; then if [[ -n "${file}" ]]; then
if [[ "${file}" == *"steam_appid.txt" ]]; then if [[ "${file}" == *"steam_appid.txt" ]]; then
SteamAppId=$(cat "${file}" | tr -d '[:space:]\r\n') SteamAppId=$(cat "${file}" | tr -d '\r\n')
else else
SteamAppId=$(grep -i "^AppId=" "${file}" | cut -d'=' -f2 | head -1 | tr -d '\r\n') SteamAppId=$(grep -i "^AppId=" "${file}" | cut -d'=' -f2 | head -1 | tr -d '\r\n')
fi fi

View File

@@ -718,7 +718,7 @@ var_vkd3d_config_update () {
var_radv_perftest_config_update () { var_radv_perftest_config_update () {
if echo "$RADV_PERFTEST" | grep "$1" if echo "$RADV_PERFTEST" | grep "$1"
then return 0 then return 0
else export RADV_PERFTEST="${1}${RADV_PERFTEST:+,$RADV_PERFTEST}" else export RADV_PERFTEST="${1}${RADV_PERFTEST:+;$RADV_PERFTEST}"
fi fi
} }
@@ -875,7 +875,7 @@ check_vendor_gpu () {
esac esac
} }
if [[ $PW_GPU_USE != "disabled" ]] if [[ -n $PW_GPU_USE && $PW_GPU_USE != "disabled" ]]
then check_pci_driver "${PW_GPU_USE,,}" then check_pci_driver "${PW_GPU_USE,,}"
elif pw_check_glxinfo elif pw_check_glxinfo
then check_pci_driver "$(<"${PW_TMPFS_PATH}/glxinfo.tmp" tr '[:upper:]' '[:lower:]')" then check_pci_driver "$(<"${PW_TMPFS_PATH}/glxinfo.tmp" tr '[:upper:]' '[:lower:]')"
@@ -1002,7 +1002,6 @@ fix_icon_name_png () {
# Поиск нужного .desktop файла по $portwine_exe (для показа в комментариях нужного времени) # Поиск нужного .desktop файла по $portwine_exe (для показа в комментариях нужного времени)
# Параллельное создание базы по времени после завершения приложения # Параллельное создание базы по времени после завершения приложения
search_desktop_file () { search_desktop_file () {
[[ $PW_USE_SETUP_FILE == "1" ]] && return 0
local desktop_file desktop_file_new line1 line2 FILE_SHA256SUM_ARRAY EXEC_DESKTOP ICON_NAME BROKEN_LINE FILE_SHA256SUM_FOUND FILE_SHA256SUM_NOT_FOUND local desktop_file desktop_file_new line1 line2 FILE_SHA256SUM_ARRAY EXEC_DESKTOP ICON_NAME BROKEN_LINE FILE_SHA256SUM_FOUND FILE_SHA256SUM_NOT_FOUND
if [[ -z $FILE_SHA256SUM ]] ; then if [[ -z $FILE_SHA256SUM ]] ; then
read -r -a FILE_SHA256SUM_ARRAY < <(sha256sum "$portwine_exe") read -r -a FILE_SHA256SUM_ARRAY < <(sha256sum "$portwine_exe")
@@ -1860,10 +1859,9 @@ pw_lsfg_vk_check () {
fi fi
fi fi
# export PW_WINE_FULLSCREEN_FSR="0" export PW_WINE_FULLSCREEN_FSR="0"
export LSFG_DLL_PATH="$lsfg_vk_path/Lossless.dll" export LSFG_DLL_PATH="$lsfg_vk_path/Lossless.dll"
check_variables LSFG_LEGACY "1"
check_variables LSFG_MULTIPLIER "2" check_variables LSFG_MULTIPLIER "2"
check_variables LSFG_FLOW_SCALE "0.1" check_variables LSFG_FLOW_SCALE "0.1"
check_variables LSFG_PERF_MODE "1" check_variables LSFG_PERF_MODE "1"
@@ -2482,8 +2480,7 @@ pw_init_db () {
fi fi
fi fi
[[ -z $PW_AMD_VULKAN_USE ]] && export PW_AMD_VULKAN_USE="disabled" case "${PW_AMD_VULKAN_USE}" in
case "$PW_AMD_VULKAN_USE" in
"amdvlk") "amdvlk")
PW_VK_ICD_FILENAMES="" PW_VK_ICD_FILENAMES=""
for dir in /opt/amdgpu/etc/vulkan/icd.d /etc/vulkan/icd.d /usr/share/vulkan/icd.d; do for dir in /opt/amdgpu/etc/vulkan/icd.d /etc/vulkan/icd.d /usr/share/vulkan/icd.d; do
@@ -2801,13 +2798,6 @@ pw_check_vulkan () {
fi fi
} }
pw_check_vulkan_extensions () {
if sed -n "/deviceName \+ = $PW_GPU_USE/,/GPU/p" "${PW_TMPFS_PATH}/vulkaninfo.tmp" | grep -w "$1" &>/dev/null
then return 0
else return 1
fi
}
compare_versions () { compare_versions () {
IFS='.' read -ra a1 <<< "$1" IFS='.' read -ra a1 <<< "$1"
IFS='.' read -ra a2 <<< "$2" IFS='.' read -ra a2 <<< "$2"
@@ -2848,16 +2838,17 @@ get_gpu_names () {
pw_check_dxvk () { pw_check_dxvk () {
background_pid --end "pw_check_vulkan" "1" background_pid --end "pw_check_vulkan" "1"
if [[ -z $PW_VULKAN_DRIVER_USE ]] && [[ -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then if [[ -z $PW_VULKAN_DRIVER_USE ]] && [[ -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
if [[ $PW_GPU_USE == "disabled" ]] ; then if [[ -z $PW_GPU_USE ]] ; then
[[ -z $GET_GPU_NAMES ]] && get_gpu_names if [[ -z $GET_GPU_NAMES ]] ; then
get_gpu_names
fi
IFS='!' read -r -a SELECTED_VULKAN_GPU <<< "$GET_GPU_NAMES" IFS='!' read -r -a SELECTED_VULKAN_GPU <<< "$GET_GPU_NAMES"
else else
IFS='' read -r -a SELECTED_VULKAN_GPU <<< "$PW_GPU_USE" IFS='' read -r -a SELECTED_VULKAN_GPU <<< "$PW_GPU_USE"
fi fi
# Заходим сюда только, когда в системе есть vulkan драйвер if [[ -n ${SELECTED_VULKAN_GPU[*]} ]] ; then # оптимизация когда vulkan драйвера в системе нет
if [[ -n ${SELECTED_VULKAN_GPU[*]} ]] ; then # если используется amdvlk или amdgpupro, то проверка на vulkan драйвер происходит среди них, а не через mesa драйвер
# Если используется amdvlk или amdgpupro, то проверка на vulkan драйвер происходит среди них, а не через mesa драйвер
if [[ $PW_AMD_VULKAN_USE =~ ^(amdvlk|amdgpupro)$ ]] ; then if [[ $PW_AMD_VULKAN_USE =~ ^(amdvlk|amdgpupro)$ ]] ; then
if [[ ${SELECTED_VULKAN_GPU[*],,} =~ radv ]] ; then if [[ ${SELECTED_VULKAN_GPU[*],,} =~ radv ]] ; then
for i in "${!SELECTED_VULKAN_GPU[@]}" ; do for i in "${!SELECTED_VULKAN_GPU[@]}" ; do
@@ -2867,7 +2858,7 @@ pw_check_dxvk () {
done done
fi fi
fi fi
# Какие карты в приоритете, если не выбран изначально PW_GPU_USE # какие карты в приоритете, если не выбран изначально PW_GPU_USE
if [[ -n ${SELECTED_VULKAN_GPU[1]} ]] ; then if [[ -n ${SELECTED_VULKAN_GPU[1]} ]] ; then
for elem in "${SELECTED_VULKAN_GPU[@]}"; do for elem in "${SELECTED_VULKAN_GPU[@]}"; do
case ${elem,,} in case ${elem,,} in
@@ -2877,7 +2868,8 @@ pw_check_dxvk () {
*) other_group+=("$elem") ;; *) other_group+=("$elem") ;;
esac esac
done done
SELECTED_VULKAN_GPU=( unset SELECTED_VULKAN_GPU
SELECTED_VULKAN_GPU_NEW=(
"${nvidia_group[@]}" "${nvidia_group[@]}"
"${amd_group[@]}" "${amd_group[@]}"
"${intel_group[@]}" "${intel_group[@]}"
@@ -2886,81 +2878,63 @@ pw_check_dxvk () {
fi fi
# получаем информацию о конкретном драйвере который выбран в PW_GPU_USE, # получаем информацию о конкретном драйвере который выбран в PW_GPU_USE,
# либо ищем наилучший драйвер с учётом приоритета видеокарт + информация # либо ищем наилучший драйвер с учётом приоритета видеокарт + информация
mapfile -t PW_VULKAN_DRIVER_ARRAY < <(awk '/^GPU[0-9]+/ { mapfile -t PW_VULKAN_DRIVER_ARRAY < <(awk '
if (count == 7) { /apiVersion|driverVersion/ { print $3 }
# Выводим собранные значения перед переходом к следующему GPU /deviceName|driverName|driverInfo/ {
for (i = 1; i <= 7; i++) print values[i]
}
# Сбрасываем счетчик и массив значений для нового GPU
count = 0
delete values
next
}
count < 7 {
if (/apiVersion|driverVersion|vendorID|deviceID/) {
values[++count] = $3
} else if (/deviceName|driverName|driverInfo/) {
split($0, parts, "= ") split($0, parts, "= ")
values[++count] = parts[2] print parts[2]
}
}
END {
# Выводим значения для последнего GPU, если набралось 7
if (count == 7) {
for (i = 1; i <= 7; i++) print values[i]
}
}' "${PW_TMPFS_PATH}/vulkaninfo.tmp") }' "${PW_TMPFS_PATH}/vulkaninfo.tmp")
for i in "${SELECTED_VULKAN_GPU[@]}" ; do for i in "${SELECTED_VULKAN_GPU_NEW[@]}" "${SELECTED_VULKAN_GPU[@]}" ; do
x="0" && y="7" x="0" && y="5"
while true ; do while true ; do
PW_VULKAN_DRIVER_ARRAY_CHECK=("${PW_VULKAN_DRIVER_ARRAY[@]:x:y}") PW_VULKAN_DRIVER_ARRAY_CHECK=("${PW_VULKAN_DRIVER_ARRAY[@]:x:y}")
if [[ $PW_AMD_VULKAN_USE != "disabled" ]] ; then if [[ -n $PW_AMD_VULKAN_USE && $PW_AMD_VULKAN_USE != "disabled" ]] ; then
[[ $PW_AMD_VULKAN_USE == "amdvlk" && ${PW_VULKAN_DRIVER_ARRAY_CHECK[5],,} == *"amd open-source driver"* ]] && break [[ $PW_AMD_VULKAN_USE == "amdvlk" && ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} == *"amd open-source driver"* ]] && break
[[ $PW_AMD_VULKAN_USE == "amdgpupro" && ${PW_VULKAN_DRIVER_ARRAY_CHECK[5],,} == *"amd proprietary driver"* ]] && break [[ $PW_AMD_VULKAN_USE == "amdgpupro" && ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} == *"amd proprietary driver"* ]] && break
else else
[[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[4]} == "$i" ]] && break [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[2]} == "$i" ]] && break
fi fi
x=$(( x + 7 )) && y=$(( y + 7 )) x=$(( x + 5 )) && y=$(( y + 5 ))
# фикс, если вдруг PW_GPU_USE изменился или сломался # фикс, если вдруг PW_GPU_USE изменился или сломался
if [[ -z ${PW_VULKAN_DRIVER_ARRAY_CHECK[4]} ]] ; then if [[ -z ${PW_VULKAN_DRIVER_ARRAY_CHECK[2]} ]] ; then
PW_GPU_USE="disabled"
PW_AMD_VULKAN_USE="disabled" PW_AMD_VULKAN_USE="disabled"
edit_db_from_gui PW_AMD_VULKAN_USE edit_db_from_gui PW_AMD_VULKAN_USE
unset PW_GPU_USE
pw_check_dxvk pw_check_dxvk
break break
fi fi
done done
if [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[5],,} =~ nvidia ]] ; then
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[6]}" "550.54.14" ; then if [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} =~ nvidia ]] ; then
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[4]}" "550.54.14" ; then
PW_VULKAN_DRIVER_USE="6" && break PW_VULKAN_DRIVER_USE="6" && break
fi fi
elif [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[6],,} =~ mesa ]] ; then elif [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[4],,} =~ mesa ]] ; then
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[1]}" "25.0" ; then if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[1]}" "25.0" ; then
PW_VULKAN_DRIVER_USE="6" && break PW_VULKAN_DRIVER_USE="6" && break
fi fi
elif [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[5],,} == *"amd open-source driver"* ]] \ elif [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} == *"amd open-source driver"* ]] \
|| [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[5],,} == *"amd proprietary driver"* ]] ; then || [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} == *"amd proprietary driver"* ]] ; then
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[1]}" "2.0.310" ; then if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[1]}" "2.0.310" ; then
PW_VULKAN_DRIVER_USE="6" && break PW_VULKAN_DRIVER_USE="6" && break
fi fi
fi fi
done done
# если используется nvidia, со встройкой opengl будет работать через встройку, с этим будет работать через nvidia
PW_vendorID="$(echo "${PW_VULKAN_DRIVER_ARRAY_CHECK[2]}" | awk -F'0x' '{print $2}')" if [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} =~ nvidia ]] ; then
PW_deviceID="$(echo "${PW_VULKAN_DRIVER_ARRAY_CHECK[3]}" | awk -F'0x' '{print $2}')" export __NV_PRIME_RENDER_OFFLOAD="1"
export PW_vendorID PW_deviceID export __GLX_VENDOR_LIBRARY_NAME="nvidia"
else
export __NV_PRIME_RENDER_OFFLOAD="0"
fi
# если PW_GPU_USE изначально не было # если PW_GPU_USE изначально не было
if [[ $PW_GPU_USE == "disabled" ]] ; then if [[ -z $PW_GPU_USE ]] ; then
export PW_GPU_USE=${PW_VULKAN_DRIVER_ARRAY_CHECK[4]} export PW_GPU_USE=${PW_VULKAN_DRIVER_ARRAY_CHECK[2]}
edit_user_conf_from_gui PW_GPU_USE edit_user_conf_from_gui PW_GPU_USE
fi fi
fi fi
fi fi
# формируется в зависимости от выбранного PW_GPU_USE и поддержки самого драйвера # формируется в зависимости от выбранного PW_GPU_USE и поддержки самого драйвера
if [[ $PW_VULKAN_DRIVER_USE == "6" ]] || [[ $PW_VULKAN_UNLOCKED == "unlocked" ]] ; then if [[ $PW_VULKAN_DRIVER_USE == "6" ]] || [[ $PW_VULKAN_UNLOCKED == "unlocked" ]] ; then
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="6" [[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="6"
@@ -2971,8 +2945,8 @@ pw_check_dxvk () {
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;; *) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;;
esac esac
else else
if [[ $PW_GPU_USE == "disabled" ]] ; then if [[ -z $PW_GPU_USE || $PW_GPU_USE == "disabled" ]] ; then
PW_VULKAN_USE="0" [[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="0"
PW_DEFAULT_VULKAN_USE="$SORT_OPENGL" PW_DEFAULT_VULKAN_USE="$SORT_OPENGL"
else else
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[0]}" "1.3" ; then if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[0]}" "1.3" ; then
@@ -3047,17 +3021,7 @@ pw_skip_get_info () {
PW_SCREEN_RESOLUTION="$(<"${PW_TMPFS_PATH}/xrandr.tmp" sed -rn 's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p')" PW_SCREEN_RESOLUTION="$(<"${PW_TMPFS_PATH}/xrandr.tmp" sed -rn 's/^.*primary.* ([0-9]+x[0-9]+).*$/\1/p')"
PW_SCREEN_PRIMARY="$(grep -e 'primary' "${PW_TMPFS_PATH}/xrandr.tmp" | awk '{print $1}')" PW_SCREEN_PRIMARY="$(grep -e 'primary' "${PW_TMPFS_PATH}/xrandr.tmp" | awk '{print $1}')"
fi fi
if [[ $PW_SCREEN_RESOLUTION != *x* ]] ; then
if command -v hyprctl >/dev/null 2>&1 ; then
monitor_info=$(hyprctl monitors -j 2>/dev/null | jq -r '.[] | select(.focused==true)')
PW_SCREEN_PRIMARY=$(echo "$monitor_info" | jq -r '.name')
PW_SCREEN_RESOLUTION=$(echo "$monitor_info" | jq -r '"\(.width)x\(.height)"')
fi
fi
[[ $PW_SCREEN_RESOLUTION != *x* ]] && PW_SCREEN_RESOLUTION="1920x1080" [[ $PW_SCREEN_RESOLUTION != *x* ]] && PW_SCREEN_RESOLUTION="1920x1080"
export PW_SCREEN_PRIMARY PW_SCREEN_RESOLUTION export PW_SCREEN_PRIMARY PW_SCREEN_RESOLUTION
if [[ -f "${PW_TMPFS_PATH}/locale.tmp" ]] ; then if [[ -f "${PW_TMPFS_PATH}/locale.tmp" ]] ; then
@@ -3079,7 +3043,7 @@ pw_skip_get_info () {
unset AMD_VULKAN_DRIVER_LIST unset AMD_VULKAN_DRIVER_LIST
if ! check_flatpak \ if ! check_flatpak \
&& [[ $(check_vendor_gpu) == "amd" ]] && [[ $(check_vendor_gpu) =~ amd ]]
then then
for DRIVER in $GET_AMD_VULKAN_DRIVER_LIST; do for DRIVER in $GET_AMD_VULKAN_DRIVER_LIST; do
case "$DRIVER" in case "$DRIVER" in
@@ -3454,10 +3418,6 @@ start_portwine () {
export STEAM_COMPAT_TRANSCODED_MEDIA_PATH="${PORT_WINE_TMP_PATH}/gstreamer_tmp" export STEAM_COMPAT_TRANSCODED_MEDIA_PATH="${PORT_WINE_TMP_PATH}/gstreamer_tmp"
export MEDIACONV_AUDIO_DUMP_FILE="$STEAM_COMPAT_TRANSCODED_MEDIA_PATH/audiov2.foz" export MEDIACONV_AUDIO_DUMP_FILE="$STEAM_COMPAT_TRANSCODED_MEDIA_PATH/audiov2.foz"
export MEDIACONV_VIDEO_DUMP_FILE="$STEAM_COMPAT_TRANSCODED_MEDIA_PATH/video.foz" export MEDIACONV_VIDEO_DUMP_FILE="$STEAM_COMPAT_TRANSCODED_MEDIA_PATH/video.foz"
export PROTON_MEDIA_USE_GST="1"
else
export PROTON_MEDIA_USE_GST="0"
fi fi
check_variables VKD3D_DEBUG "none" check_variables VKD3D_DEBUG "none"
@@ -3469,7 +3429,7 @@ start_portwine () {
if [[ "${PW_LOG}" == 1 ]] \ if [[ "${PW_LOG}" == 1 ]] \
|| [[ -n "$PW_DEBUG" ]] || [[ -n "$PW_DEBUG" ]]
then then
# check_variables GST_DEBUG "GST_REFCOUNTING:5,GST_BUFFER:5" check_variables GST_DEBUG "ERROR"
check_variables WINEDEBUG "err+all" check_variables WINEDEBUG "err+all"
check_variables WINE_MONO_TRACE "E:System.NotImplementedException" check_variables WINE_MONO_TRACE "E:System.NotImplementedException"
check_variables VKBASALT_LOG_LEVEL "error" check_variables VKBASALT_LOG_LEVEL "error"
@@ -3478,9 +3438,6 @@ start_portwine () {
unset WINE_MONO_TRACE unset WINE_MONO_TRACE
fi fi
#disable winebth.sys as it crashes winedevice.exe
var_winedlloverride_update "winebth.sys=d"
pw_wineboot () { pw_wineboot () {
LIST_NATIVE_WINE_DLL_LINKS="winevulkan ir50_32 amd_ags_x64 wined3d vulkan-1" LIST_NATIVE_WINE_DLL_LINKS="winevulkan ir50_32 amd_ags_x64 wined3d vulkan-1"
for dll in $LIST_NATIVE_WINE_DLL_LINKS ; do for dll in $LIST_NATIVE_WINE_DLL_LINKS ; do
@@ -3760,12 +3717,7 @@ start_portwine () {
if [[ "${PW_USE_RAY_TRACING}" == "1" ]] ; then if [[ "${PW_USE_RAY_TRACING}" == "1" ]] ; then
var_vkd3d_config_update dxr var_vkd3d_config_update dxr
if [[ $(check_vendor_gpu) == "amd" ]] ; then
var_radv_perftest_config_update rt var_radv_perftest_config_update rt
if ! pw_check_vulkan_extensions "VK_KHR_ray_tracing_pipeline" ; then
var_radv_perftest_config_update emulate_rt
fi
fi
else else
var_vkd3d_config_update nodxr var_vkd3d_config_update nodxr
fi fi
@@ -3805,11 +3757,9 @@ start_portwine () {
[[ "${PW_MANGOHUD_USER_CONF}" == 1 ]] && unset MANGOHUD_CONFIG [[ "${PW_MANGOHUD_USER_CONF}" == 1 ]] && unset MANGOHUD_CONFIG
[[ "${PW_VKBASALT_USER_CONF}" == 1 ]] && unset PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS [[ "${PW_VKBASALT_USER_CONF}" == 1 ]] && unset PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS
if [[ $PW_GPU_USE != "disabled" ]] && [[ $PW_AMD_VULKAN_USE == "disabled" ]] ; then if [[ "${PW_GPU_USE}" != "disabled" ]] && [[ "${PW_AMD_VULKAN_USE}" == "disabled" ]] ; then
export DXVK_FILTER_DEVICE_NAME="$PW_GPU_USE" export DXVK_FILTER_DEVICE_NAME="${PW_GPU_USE}"
export VKD3D_FILTER_DEVICE_NAME="$PW_GPU_USE" export VKD3D_FILTER_DEVICE_NAME="${PW_GPU_USE}"
export MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE="1"
export MESA_VK_DEVICE_SELECT="$PW_vendorID:$PW_deviceID"
fi fi
if [[ -f "$PATH_TO_GAME/dxvk.conf" ]] ; then if [[ -f "$PATH_TO_GAME/dxvk.conf" ]] ; then
@@ -3825,18 +3775,8 @@ start_portwine () {
export int_xneur=1 export int_xneur=1
fi fi
if [[ $(check_vendor_gpu) == "nvidia" ]] ; then
#https://github.com/flathub/net.lutris.Lutris/pull/368#issuecomment-1751381312 #https://github.com/flathub/net.lutris.Lutris/pull/368#issuecomment-1751381312
export WEBKIT_DISABLE_DMABUF_RENDERER="1" [[ $(check_vendor_gpu) =~ nvidia ]] && export WEBKIT_DISABLE_DMABUF_RENDERER=1
#Для того чтобы OpenGL всегда работал через nvidia (если в PW_GPU_USE выбрана nvidia)
export __NV_PRIME_RENDER_OFFLOAD="1"
export __VK_LAYER_NV_optimus="NVIDIA_only"
export __GLX_VENDOR_LIBRARY_NAME="nvidia"
else
export __NV_PRIME_RENDER_OFFLOAD="0"
export __VK_LAYER_NV_optimus="non_NVIDIA_only"
unset __GLX_VENDOR_LIBRARY_NAME
fi
if check_gamescope_session ; then if check_gamescope_session ; then
export PW_GAMEMODERUN_SLR="" export PW_GAMEMODERUN_SLR=""
@@ -4053,7 +3993,7 @@ fi
then then
export LIBGL_KOPPER_DRI2="1" export LIBGL_KOPPER_DRI2="1"
fi fi
[[ $(check_vendor_gpu) == "nouveau" ]] && export NOUVEAU_USE_ZINK="1" [[ $(check_vendor_gpu) =~ nouveau ]] && export NOUVEAU_USE_ZINK="1"
fi fi
# WINED3D VULKAN # WINED3D VULKAN
@@ -4582,8 +4522,9 @@ fi
fi fi
if check_wayland_session \ if check_wayland_session \
&& [[ $PW_USE_NATIVE_WAYLAND == "1" ]] && [[ $PW_USE_NATIVE_WAYLAND == "1" || $PW_USE_DXVK_HDR == "1" ]]
then then
[[ $PW_USE_DXVK_HDR == "1" ]] && export DXVK_HDR="1"
export WINE_WAYLAND_HACKS="1" export WINE_WAYLAND_HACKS="1"
var_winedlloverride_update "winex11.drv=d;winewayland.drv=b" var_winedlloverride_update "winex11.drv=d;winewayland.drv=b"
get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user" get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user"
@@ -4599,7 +4540,7 @@ fi
export PW_USE_RUNTIME="0" export PW_USE_RUNTIME="0"
fi fi
else else
unset WINE_WAYLAND_HACKS unset WINE_WAYLAND_HACKS DXVK_HDR
get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics' get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics'
fi fi
@@ -4665,18 +4606,18 @@ fi
|| check_gamescope_session || check_gamescope_session
then then
export vk_xwayland_wait_ready="false" export vk_xwayland_wait_ready="false"
if [[ $(check_vendor_gpu) == "amd" ]] ; then if [[ $(check_vendor_gpu) =~ amd ]] ; then
export RADV_DEBUG+="nodcc " export RADV_DEBUG+="nodcc "
export AMD_DEBUG="nodcc" export AMD_DEBUG="nodcc"
if ! pw_check_vulkan_extensions "VK_EXT_image_drm_format_modifier" ; then if [[ ! $(<"${PW_TMPFS_PATH}/vulkaninfo.tmp") =~ VK_EXT_image_drm_format_modifier ]] ; then
export R600_DEBUG="nodcc" export R600_DEBUG="nodcc"
grep -e '--backend' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && PW_GS_BACKEND_SDL="1" grep -e '--backend' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && PW_GS_BACKEND_SDL="1"
fi fi
fi fi
if [[ $(check_vendor_gpu) == "intel" ]] ; then if [[ $(check_vendor_gpu) =~ intel ]] ; then
export INTEL_DEBUG="norbc" export INTEL_DEBUG="norbc"
fi fi
if [[ $(check_vendor_gpu) == "nvidia" ]] ; then if [[ $(check_vendor_gpu) =~ nvidia ]] ; then
PW_GAMESCOPE_VARIABLES_BEFORE+="__GL_THREADED_OPTIMIZATIONS=0 " PW_GAMESCOPE_VARIABLES_BEFORE+="__GL_THREADED_OPTIMIZATIONS=0 "
PW_GAMESCOPE_VARIABLES_AFTER+="__GL_THREADED_OPTIMIZATIONS=1 " PW_GAMESCOPE_VARIABLES_AFTER+="__GL_THREADED_OPTIMIZATIONS=1 "
fi fi
@@ -4685,8 +4626,12 @@ fi
if [[ "${PW_GAMESCOPE}" == "1" && "${GAMESCOPE_INSTALLED}" == "1" ]] \ if [[ "${PW_GAMESCOPE}" == "1" && "${GAMESCOPE_INSTALLED}" == "1" ]] \
&& ! check_gamescope_session && ! check_gamescope_session
then then
if [[ $PW_GPU_USE != "disabled" ]] if [[ "${PW_GPU_USE}" != "disabled" ]] ; then
then PW_ID_VIDEO=" --prefer-vk-device ${PW_vendorID}:${PW_deviceID}" PW_vendorID="$(grep -B3 "${PW_GPU_USE}" "${PW_TMPFS_PATH}/vulkaninfo.tmp" | grep vendorID | sort -u | awk -F'0x' '{print $2}')"
PW_deviceID="$(grep -B3 "${PW_GPU_USE}" "${PW_TMPFS_PATH}/vulkaninfo.tmp" | grep deviceID | sort -u | awk -F'0x' '{print $2}')"
PW_ID_VIDEO=" --prefer-vk-device ${PW_vendorID}:${PW_deviceID}"
else
PW_ID_VIDEO=""
fi fi
#checkbox #checkbox
@@ -4695,8 +4640,14 @@ fi
[[ "${PW_GS_BORDERLESS_WINDOW}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -b" [[ "${PW_GS_BORDERLESS_WINDOW}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -b"
[[ "${PW_GS_FORCE_GRAB_CURSOR}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-grab-cursor" [[ "${PW_GS_FORCE_GRAB_CURSOR}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-grab-cursor"
[[ "${PW_GS_FORCE_GRAB_KEYBOARD}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -g" [[ "${PW_GS_FORCE_GRAB_KEYBOARD}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -g"
[[ "${PW_GS_HDR_ENABLE}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-enabled"
if [[ "${PW_GS_HDR_ENABLE}" == "1" ]] ; then
PW_GAMESCOPE_ARGS_NEW+=" --hdr-enabled"
export DXVK_HDR="1"
fi
[[ "${PW_GS_ENABLE_GAMESCOPE_WSI}" == "1" ]] && export ENABLE_GAMESCOPE_WSI="1" [[ "${PW_GS_ENABLE_GAMESCOPE_WSI}" == "1" ]] && export ENABLE_GAMESCOPE_WSI="1"
[[ "${PW_GS_HDR_ITM_ENABLE}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-itm-enable" [[ "${PW_GS_HDR_ITM_ENABLE}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-itm-enable"
[[ "${PW_GS_SDR_GAMMUT_WIDENESS}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --sdr-gamut-wideness" [[ "${PW_GS_SDR_GAMMUT_WIDENESS}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --sdr-gamut-wideness"
[[ "${PW_GS_FORCE_COMPOSITION}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-composition" [[ "${PW_GS_FORCE_COMPOSITION}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-composition"
@@ -5591,12 +5542,12 @@ gui_edit_db () {
PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER
PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_GALLIUM_ZINK PW_USE_GALLIUM_NINE PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_GALLIUM_ZINK PW_USE_GALLIUM_NINE
PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_GAMESCOPE PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR PW_GAMESCOPE
) )
if check_wayland_session if check_wayland_session
then rm_from_array "PW_EDIT_DB_LIST" PW_USE_US_LAYOUT then rm_from_array "PW_EDIT_DB_LIST" PW_USE_US_LAYOUT
else rm_from_array "PW_EDIT_DB_LIST" PW_USE_NATIVE_WAYLAND else rm_from_array "PW_EDIT_DB_LIST" PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR
fi fi
if [[ $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] || [[ $PW_VULKAN_USE == "0" ]] ; then if [[ $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] || [[ $PW_VULKAN_USE == "0" ]] ; then
rm_from_array "PW_EDIT_DB_LIST" PW_USE_SUPPLIED_DXVK_VKD3D rm_from_array "PW_EDIT_DB_LIST" PW_USE_SUPPLIED_DXVK_VKD3D
@@ -5647,6 +5598,7 @@ gui_edit_db () {
PW_USE_RUNTIME_INFO=${translations[Use container launch mode (It is recommended not to change the value)]} PW_USE_RUNTIME_INFO=${translations[Use container launch mode (It is recommended not to change the value)]}
PW_DINPUT_PROTOCOL_INFO=${translations[Force use DirectInput protocol instead of XInput]} PW_DINPUT_PROTOCOL_INFO=${translations[Force use DirectInput protocol instead of XInput]}
PW_USE_NATIVE_WAYLAND_INFO=${translations[Enable experemental native Wayland support]} PW_USE_NATIVE_WAYLAND_INFO=${translations[Enable experemental native Wayland support]}
PW_USE_DXVK_HDR_INFO=${translations[Enable HDR settings in games with native Wayland]}
PW_USE_GALLIUM_ZINK_INFO=${translations[Use Gallium Zink (OpenGL driver is implemented via Vulkan)]} PW_USE_GALLIUM_ZINK_INFO=${translations[Use Gallium Zink (OpenGL driver is implemented via Vulkan)]}
PW_USE_GALLIUM_NINE_INFO=${translations[Use Gallium Nine (native DirectX 9 for MESA)]} PW_USE_GALLIUM_NINE_INFO=${translations[Use Gallium Nine (native DirectX 9 for MESA)]}
PW_USE_WINED3D_VULKAN_INFO=${translations[Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function.]} PW_USE_WINED3D_VULKAN_INFO=${translations[Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function.]}
@@ -5673,7 +5625,7 @@ gui_edit_db () {
[[ ! -e "/dev/ntsync" ]] && DISABLE_EDIT_DB_LIST+=" PW_USE_NTSYNC" [[ ! -e "/dev/ntsync" ]] && DISABLE_EDIT_DB_LIST+=" PW_USE_NTSYNC"
if ! check_flatpak \ if ! check_flatpak \
&& ! compare_versions "$(ldd --version | head -n 1 | awk '{print $4}')" "2.38" && [[ $(ldd --version | head -n 1 | awk '{print $4}') < 2.38 ]]
then then
DISABLE_EDIT_DB_LIST+=" PW_USE_LS_FRAME_GEN" DISABLE_EDIT_DB_LIST+=" PW_USE_LS_FRAME_GEN"
export PW_USE_LS_FRAME_GEN="0" export PW_USE_LS_FRAME_GEN="0"
@@ -5740,6 +5692,13 @@ gui_edit_db () {
NUMA_NODE_INDEX="disabled" NUMA_NODE_INDEX="disabled"
fi fi
if [[ -n "${PW_AMD_VULKAN_USE}" ]] && \
[[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then
AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
else
AMD_VULKAN_VAR="disabled"
fi
[[ $AMD_VULKAN_CB == ":LBLH" ]] && translations[Select needed AMD vulkan implementation]="" [[ $AMD_VULKAN_CB == ":LBLH" ]] && translations[Select needed AMD vulkan implementation]=""
if [[ $NUMA_NODE_LIST == "0" ]] ; then if [[ $NUMA_NODE_LIST == "0" ]] ; then
NUDA_CPU_CB=":LBLH" NUDA_CPU_CB=":LBLH"
@@ -5770,7 +5729,7 @@ A brief instruction:
immediate - Unlimited frame rate + tearing. immediate - Unlimited frame rate + tearing.
mailbox - Triple buffering. Unlimited frame rate + no tearing. mailbox - Triple buffering. Unlimited frame rate + no tearing.
relaxed - Same as fifo but allows tearing when below the monitors refresh rate.]} :CB" "$(combobox_fix --disabled "${PW_MESA_VK_WSI_PRESENT_MODE}" "fifo!immediate!mailbox!relaxed")" \ relaxed - Same as fifo but allows tearing when below the monitors refresh rate.]} :CB" "$(combobox_fix --disabled "${PW_MESA_VK_WSI_PRESENT_MODE}" "fifo!immediate!mailbox!relaxed")" \
--field="${translations[Select needed AMD vulkan implementation]}!${translations[Choosing which implementation of vulkan will be used to run the game]} $AMD_VULKAN_CB" "$(combobox_fix --disabled "$PW_AMD_VULKAN_USE" "$AMD_VULKAN_DRIVER_LIST")" \ --field="${translations[Select needed AMD vulkan implementation]}!${translations[Choosing which implementation of vulkan will be used to run the game]} $AMD_VULKAN_CB" "$(combobox_fix --disabled "$AMD_VULKAN_VAR" "$AMD_VULKAN_DRIVER_LIST")" \
--field="${translations[NUMA node for CPU affinity]}!${translations[In multicore systems, CPUs are split into NUMA nodes, each with its own local memory and cores. --field="${translations[NUMA node for CPU affinity]}!${translations[In multicore systems, CPUs are split into NUMA nodes, each with its own local memory and cores.
Binding a game to a single node reduces memoryaccess latency and limits costly coretocore switches.)]} $NUDA_CPU_CB" "$(combobox_fix --disabled "${NUMA_NODE_INDEX}" "${NUMA_NODE_LIST}")" \ Binding a game to a single node reduces memoryaccess latency and limits costly coretocore switches.)]} $NUDA_CPU_CB" "$(combobox_fix --disabled "${NUMA_NODE_INDEX}" "${NUMA_NODE_LIST}")" \
1> "$PW_TMPFS_PATH/tmp_output_yad_fps_limit" 2>/dev/null & 1> "$PW_TMPFS_PATH/tmp_output_yad_fps_limit" 2>/dev/null &
@@ -6615,7 +6574,7 @@ gui_userconf () {
NEW_STEAM_BEHAVIOR="${translations[Enable]}" NEW_STEAM_BEHAVIOR="${translations[Enable]}"
fi fi
if [[ $PW_GPU_USE != "disabled" ]] ; then if [[ -n $PW_GPU_USE ]] && [[ $PW_GPU_USE != "disabled" ]] ; then
GPU_VAR="$PW_GPU_USE" GPU_VAR="$PW_GPU_USE"
elif [[ -n $GET_GPU_NAMES ]] ; then elif [[ -n $GET_GPU_NAMES ]] ; then
GPU_VAR="${GET_GPU_NAMES/!*/}" GPU_VAR="${GET_GPU_NAMES/!*/}"
@@ -6748,10 +6707,8 @@ gui_userconf () {
export PW_CHANGE_BRANCH="1" export PW_CHANGE_BRANCH="1"
export PW_FORCE_UPDATE="1" export PW_FORCE_UPDATE="1"
else else
if [[ $BRANCH == "DEVEL" ]] [[ $BRANCH == "DEVEL" ]] && BRANCH="devel"
then BRANCH="devel" [[ $BRANCH == "STABLE" ]] && BRANCH="master"
else BRANCH="master"
fi
fi fi
PW_GUI_START="${PW_ADD_SETTINGS_UC[2]}" PW_GUI_START="${PW_ADD_SETTINGS_UC[2]}"
DOWNLOAD_STEAM_GRID="${PW_ADD_SETTINGS_UC[3]}" DOWNLOAD_STEAM_GRID="${PW_ADD_SETTINGS_UC[3]}"

View File

@@ -6,9 +6,7 @@
#export PW_COMMENT_DB="PortWINE database file for Epic Games Launcher" #export PW_COMMENT_DB="PortWINE database file for Epic Games Launcher"
export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq" export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq"
export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019" export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019"
export PW_WINE_USE="PROTON_LG" export PW_WINE_USE="WINE_LG_10-7"
export PW_USE_ESYNC="1"
export PW_USE_FSYNC="1"
export WINEDLLOVERRIDES="vulkan-1=n,b" export WINEDLLOVERRIDES="vulkan-1=n,b"
# add_in_start_portwine () { # add_in_start_portwine () {
# regdlloverrides "RDR2.exe:vulkan-1=n,b" # regdlloverrides "RDR2.exe:vulkan-1=n,b"

View File

@@ -4,8 +4,8 @@
#GOG_Galaxy_2.0.exe #GOG_Galaxy_2.0.exe
#Rating=5 #Rating=5
################################################ ################################################
# export PW_VULKAN_USE="2" export PW_VULKAN_USE="2"
export WINEDLLOVERRIDES="GalaxyCommunication.exe,GalaxyClientService.exe=n;libglesv2=" export WINEDLLOVERRIDES="galaxycommunication.exe=n;libglesv2="
export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated" export LAUNCH_PARAMETERS="/runWithoutUpdating /deelevated"
export PW_PREFIX_NAME="GOG" export PW_PREFIX_NAME="GOG"
export DISABLE_CP_DEFPFX="1" export DISABLE_CP_DEFPFX="1"

View File

@@ -6,7 +6,6 @@
# info_en: An action game about stalkers, where players explore mysterious worlds and fight against a variety of opponents. The game offers an exciting storyline and the opportunity to improve the character by unlocking new abilities and equipment. # info_en: An action game about stalkers, where players explore mysterious worlds and fight against a variety of opponents. The game offers an exciting storyline and the opportunity to improve the character by unlocking new abilities and equipment.
# info_ru: Экшен-игра про сталкеров, где игроки исследуют таинственные миры и сражаются с разнообразными противниками. Игра предлагает захватывающий сюжет и возможность улучшать персонажа, открывая новые способности и снаряжение. # info_ru: Экшен-игра про сталкеров, где игроки исследуют таинственные миры и сражаются с разнообразными противниками. Игра предлагает захватывающий сюжет и возможность улучшать персонажа, открывая новые способности и снаряжение.
######################################################################## ########################################################################
export PW_PREFIX_NAME="ANOMALY_ZONE"
export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-" export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/az_webinst.exe" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/az_webinst.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Anomaly Zone" export PORTWINE_CREATE_SHORTCUT_NAME="Anomaly Zone"
@@ -17,7 +16,7 @@ then
pw_start_progress_bar_install_game "Anomaly Zone." pw_start_progress_bar_install_game "Anomaly Zone."
pw_kill_autostart Launcher.exe & pw_kill_autostart Launcher.exe &
pw_run "${PW_AUTOINSTALL_EXE}" pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Program Files/New Story Games/Anomaly-Zone/Launcher.exe" portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Cybertime Games/Anomaly-Zone/Launcher.exe"
pw_create_unique_exe pw_create_unique_exe
try_remove_file "${PW_AUTOINSTALL_EXE}" try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb" try_remove_file "${portwine_exe}.ppdb"

View File

@@ -6,11 +6,10 @@
# info_en: An open source Nintendo 3DS emulator based on Citra, designed to run games with support for enhanced resolutions and advanced emulation settings. # info_en: An open source Nintendo 3DS emulator based on Citra, designed to run games with support for enhanced resolutions and advanced emulation settings.
# info_ru: Эмулятор Nintendo 3DS с открытым исходным кодом на основе Citra, созданный для запуска игр с поддержкой улучшенного разрешения и расширенных настроек эмуляции. # info_ru: Эмулятор Nintendo 3DS с открытым исходным кодом на основе Citra, созданный для запуска игр с поддержкой улучшенного разрешения и расширенных настроек эмуляции.
########################################################################## ##########################################################################
export PW_AZAHAR_VERSION=$(curl -s "https://github.com/azahar-emu/azahar/releases" | grep -oP '/azahar-emu/azahar/releases/tag/\K[0-9.]+(-[a-z0-9]+)?' | grep -v -- '-[a-z0-9]' | sort -Vu | tail -n1) # export LAUNCH_PARAMETERS="/VERYSILENT"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/azahar-$PW_AZAHAR_VERSION-windows-msys2-installer.exe" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/azahar-2120.3-windows-msys2-installer.exe"
export PW_PREFIX_NAME="AZAHAR"
start_portwine start_portwine
if try_download "https://github.com/azahar-emu/azahar/releases/download/$PW_AZAHAR_VERSION/azahar-$PW_AZAHAR_VERSION-windows-msys2-installer.exe" "${PW_AUTOINSTALL_EXE}" no_mirror if try_download "https://github.com/azahar-emu/azahar/releases/download/2120.3/azahar-2120.3-windows-msys2-installer.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
then then
pw_start_progress_bar_install_game "Azahar." pw_start_progress_bar_install_game "Azahar."
pw_run "${PW_AUTOINSTALL_EXE}" pw_run "${PW_AUTOINSTALL_EXE}"

View File

@@ -8,12 +8,9 @@
######################################################################## ########################################################################
export LAUNCH_PARAMETERS="/q" export LAUNCH_PARAMETERS="/q"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi"
export PW_USE_D3D_EXTRAS="1" export PW_USE_D3D_EXTRAS=1
export PORTWINE_CREATE_SHORTCUT_NAME="Epic Games Launcher" export PORTWINE_CREATE_SHORTCUT_NAME="Epic Games Launcher"
export PW_WINE_USE="PROTON_LG" export PW_WINE_USE="WINE_LG_10-7"
export PW_USE_ESYNC="1"
export PW_USE_FSYNC="1"
# sed -i '/Epic Games/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/*.reg >/dev/null # sed -i '/Epic Games/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/*.reg >/dev/null
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"

View File

@@ -6,15 +6,14 @@
# info_en: A multiplayer social deduction game where players take on the roles of ducks or geese, trying to complete tasks and identify the "ducks" — the impostors among them. The game combines elements of strategy and communication, requiring players to coordinate and recognize deception. # info_en: A multiplayer social deduction game where players take on the roles of ducks or geese, trying to complete tasks and identify the "ducks" — the impostors among them. The game combines elements of strategy and communication, requiring players to coordinate and recognize deception.
# info_ru: Многопользовательская игра в жанре социальной дедукции, где игроки выступают в роли уток или гусей, пытаясь выполнить задания и выявить среди них "уток" — предателей. Игра сочетает в себе элементы стратегии и общения, требуя от игроков координации и способности распознавать обман. # info_ru: Многопользовательская игра в жанре социальной дедукции, где игроки выступают в роли уток или гусей, пытаясь выполнить задания и выявить среди них "уток" — предателей. Игра сочетает в себе элементы стратегии и общения, требуя от игроков координации и способности распознавать обман.
######################################################################## ########################################################################
VERSION="3.11.00"
export PW_PREFIX_NAME="GOOSE_GOOSE_DUCK" export PW_PREFIX_NAME="GOOSE_GOOSE_DUCK"
export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-" export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GGDInstaller.exe" export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Goose Goose Duck Installer $VERSION release.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Goose Goose Duck" export PORTWINE_CREATE_SHORTCUT_NAME="Goose Goose Duck"
VERSION="4.02.01"
start_portwine start_portwine
if try_download "https://download-ggd.gaggle.gg/Goose%20Goose%20Duck%20Installer%20${VERSION}%20release.exe" "${PW_AUTOINSTALL_EXE}" no_mirror if try_download "https://firebasestorage.googleapis.com/v0/b/gaggle-staging.appspot.com/o/Builds%2FGGD%2FGoose%20Goose%20Duck%20Installer%20${VERSION}%20release.exe?alt=media&token=e6c29f8f-bfd8-4592-a740-821aa4cebe00" "${PW_AUTOINSTALL_EXE}" no_mirror
then then
pw_start_progress_bar_install_game "Goose Goose Duck." pw_start_progress_bar_install_game "Goose Goose Duck."
pw_run "${PW_AUTOINSTALL_EXE}" pw_run "${PW_AUTOINSTALL_EXE}"

View File

@@ -1,26 +1,24 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Author: chal55rus (Sergey P.) # Author: chal55rus (Sergey P.)
# type: games # type: games
# name: VK Play Games Center # name: vkPlay Games Center
# image: mygames # image: mygames
# info_en: Launcher for the VK Play game library. # info_en: Launcher for the VK Play game library.
# info_ru: Лаунчер для библиотеки игр VK Play. # info_ru: Лаунчер для библиотеки игр VK Play.
######################################################################## ########################################################################
export PW_PREFIX_NAME="VK_PLAY" export PW_PREFIX_NAME="VK_PLAY"
# export LAUNCH_PARAMETERS=""
export PW_AUTOINSTALL_EXE="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/AppData/Local/VKPlayLoader.exe" export PW_AUTOINSTALL_EXE="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/steamuser/AppData/Local/VKPlayLoader.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="VK Play"
export WINEDLLOVERRIDES="mscoree,mshtml=" export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_MUST_HAVE_DLL="" export PW_MUST_HAVE_DLL=""
export PW_WINE_USE="WINE_LG" export PW_WINE_USE="WINE_LG"
start_portwine start_portwine
if try_download "https://static.gc.vkplay.ru/VKPlayLoader.exe" "${PW_AUTOINSTALL_EXE}" no_mirror if try_download "https://static.gc.my.games/VKPlayLoader.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
then then
portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/VKPlayLoader.exe" portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/VKPlayLoader.exe"
try_remove_file "${portwine_exe}.ppdb" try_remove_file "${portwine_exe}.ppdb"
pw_stop_progress_bar pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="vkPlay"
portwine_create_shortcut portwine_create_shortcut
fi fi
stop_portwine stop_portwine

View File

@@ -312,7 +312,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
fi fi
if [[ -z $PW_GPU_USE || $PW_GPU_USE == "disabled" ]] ; then if [[ -z $PW_GPU_USE || $PW_GPU_USE == "disabled" ]] ; then
PW_GPU_USE="disabled" unset PW_GPU_USE
pw_check_dxvk pw_check_dxvk
fi fi

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2440 #SCRIPTS_NEXT_VERSION=2439
#SCRIPTS_STABLE_VERSION=2435 #SCRIPTS_STABLE_VERSION=2435
######################################################################## ########################################################################
export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT" export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT"
@@ -52,17 +52,16 @@ export PW_OPTISCALER_VER="v02-0.7.7-pre12"
export PW_GALLIUM_NINE_VER="0.10" export PW_GALLIUM_NINE_VER="0.10"
export PW_LSFG_VK_VER="3.1-p11-cebe5e2" export PW_LSFG_VK_VER="3.1-p11-cebe5e2"
###WINE_AND_PROTON_LG### ###WINE_AND_PROTON_LG###
export PW_PROTON_LG_VER="PROTON_LG_10-15" export PW_PROTON_LG_VER="PROTON_LG_10-10"
export PW_WINE_LG_VER="WINE_LG_10-14" export PW_WINE_LG_VER="WINE_LG_10-12"
export PW_WINE_FULLSCREEN_FSR="1" export PW_WINE_FULLSCREEN_FSR="1"
export WINE_FULLSCREEN_FSR_MODE="ultra" export WINE_FULLSCREEN_FSR_MODE="ultra"
###DXVK_AND_VKD3D### ###DXVK_AND_VKD3D###
export DXVK_HDR="1"
export VKD3D_LIMIT_TESS_FACTORS="64" export VKD3D_LIMIT_TESS_FACTORS="64"
export DXVK_NEW_VER="2.7-46" export DXVK_NEW_VER="2.7-5"
export DXVK_OLD_VER="2.6.2" export DXVK_OLD_VER="2.6.2"
export DXVK_SAREK_VER="sarek-1.11.0" export DXVK_SAREK_VER="sarek-1.11.0"
export VKD3D_NEW_VER="1.1-4707" export VKD3D_NEW_VER="1.1-4666"
export VKD3D_OLD_VER="2.14.1" export VKD3D_OLD_VER="2.14.1"
export VKD3D_SAREK_VER="sarek-2.6.0" export VKD3D_SAREK_VER="sarek-2.6.0"
###VKBASALT### ###VKBASALT###