merge upstream

This commit is contained in:
2025-09-02 15:27:17 +00:00
5 changed files with 65 additions and 33 deletions

View File

@@ -718,7 +718,7 @@ var_vkd3d_config_update () {
var_radv_perftest_config_update () {
if echo "$RADV_PERFTEST" | grep "$1"
then return 0
else export RADV_PERFTEST="${1}${RADV_PERFTEST:+;$RADV_PERFTEST}"
else export RADV_PERFTEST="${1}${RADV_PERFTEST:+,$RADV_PERFTEST}"
fi
}
@@ -2800,6 +2800,13 @@ pw_check_vulkan () {
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 () {
IFS='.' read -ra a1 <<< "$1"
IFS='.' read -ra a2 <<< "$2"
@@ -2870,8 +2877,7 @@ pw_check_dxvk () {
*) other_group+=("$elem") ;;
esac
done
unset SELECTED_VULKAN_GPU
SELECTED_VULKAN_GPU_NEW=(
SELECTED_VULKAN_GPU=(
"${nvidia_group[@]}"
"${amd_group[@]}"
"${intel_group[@]}"
@@ -2880,14 +2886,34 @@ pw_check_dxvk () {
fi
# получаем информацию о конкретном драйвере который выбран в PW_GPU_USE,
# либо ищем наилучший драйвер с учётом приоритета видеокарт + информация
mapfile -t PW_VULKAN_DRIVER_ARRAY < <(awk '
/apiVersion|driverVersion/ { print $3 }
/deviceName|driverName|driverInfo/ {
split($0, parts, "= ")
print parts[2]
mapfile -t PW_VULKAN_DRIVER_ARRAY < <(awk '/^GPU[0-9]+/ {
if (count == 5) {
# Выводим собранные значения перед переходом к следующему GPU
for (i = 1; i <= 5; i++) print values[i]
}
# Сбрасываем счетчик и массив значений для нового GPU
count = 0
delete values
next
}
count < 5 {
if (/apiVersion|driverVersion/) {
values[++count] = $3
} else if (/deviceName|driverName|driverInfo/) {
split($0, parts, "= ")
values[++count] = parts[2]
}
}
END {
# Выводим значения для последнего GPU, если набралось 5
if (count == 5) {
for (i = 1; i <= 5; i++) print values[i]
}
}' "${PW_TMPFS_PATH}/vulkaninfo.tmp")
for i in "${SELECTED_VULKAN_GPU_NEW[@]}" "${SELECTED_VULKAN_GPU[@]}" ; do
for i in "${SELECTED_VULKAN_GPU[@]}" ; do
x="0" && y="5"
while true ; do
PW_VULKAN_DRIVER_ARRAY_CHECK=("${PW_VULKAN_DRIVER_ARRAY[@]:x:y}")
@@ -3727,7 +3753,12 @@ start_portwine () {
if [[ "${PW_USE_RAY_TRACING}" == "1" ]] ; then
var_vkd3d_config_update dxr
var_radv_perftest_config_update rt
if [[ $(check_vendor_gpu) == "amd" ]] ; then
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
var_vkd3d_config_update nodxr
fi
@@ -3767,9 +3798,14 @@ start_portwine () {
[[ "${PW_MANGOHUD_USER_CONF}" == 1 ]] && unset MANGOHUD_CONFIG
[[ "${PW_VKBASALT_USER_CONF}" == 1 ]] && unset PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS
if [[ "${PW_GPU_USE}" != "disabled" ]] && [[ "${PW_AMD_VULKAN_USE}" == "disabled" ]] ; then
export DXVK_FILTER_DEVICE_NAME="${PW_GPU_USE}"
export VKD3D_FILTER_DEVICE_NAME="${PW_GPU_USE}"
if [[ -n $PW_GPU_USE && $PW_GPU_USE != "disabled" ]] \
&& [[ -z $PW_AMD_VULKAN_USE || $PW_AMD_VULKAN_USE == "disabled" ]] ; then
export DXVK_FILTER_DEVICE_NAME="$PW_GPU_USE"
export VKD3D_FILTER_DEVICE_NAME="$PW_GPU_USE"
export PW_vendorID="$(grep -B3 "$PW_GPU_USE" "${PW_TMPFS_PATH}/vulkaninfo.tmp" | grep vendorID | sort -u | awk -F'0x' '{print $2}')"
export PW_deviceID="$(grep -B3 "$PW_GPU_USE" "${PW_TMPFS_PATH}/vulkaninfo.tmp" | grep deviceID | sort -u | awk -F'0x' '{print $2}')"
export MESA_VK_DEVICE_SELECT_FORCE_DEFAULT_DEVICE="1"
export MESA_VK_DEVICE_SELECT="$PW_vendorID:$PW_deviceID"
fi
if [[ -f "$PATH_TO_GAME/dxvk.conf" ]] ; then
@@ -3790,9 +3826,11 @@ start_portwine () {
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"
fi
if check_gamescope_session ; then
@@ -4539,9 +4577,8 @@ fi
fi
if check_wayland_session \
&& [[ $PW_USE_NATIVE_WAYLAND == "1" || $PW_USE_DXVK_HDR == "1" ]]
&& [[ $PW_USE_NATIVE_WAYLAND == "1" ]]
then
[[ $PW_USE_DXVK_HDR == "1" ]] && export DXVK_HDR="1"
export WINE_WAYLAND_HACKS="1"
var_winedlloverride_update "winex11.drv=d;winewayland.drv=b"
get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user"
@@ -4626,7 +4663,7 @@ fi
if [[ $(check_vendor_gpu) == "amd" ]] ; then
export RADV_DEBUG+="nodcc "
export AMD_DEBUG="nodcc"
if [[ ! $(<"${PW_TMPFS_PATH}/vulkaninfo.tmp") =~ VK_EXT_image_drm_format_modifier ]] ; then
if ! pw_check_vulkan_extensions "VK_EXT_image_drm_format_modifier" ; then
export R600_DEBUG="nodcc"
grep -e '--backend' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && PW_GS_BACKEND_SDL="1"
fi
@@ -4644,8 +4681,6 @@ fi
&& ! check_gamescope_session
then
if [[ "${PW_GPU_USE}" != "disabled" ]] ; then
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=""
@@ -4657,14 +4692,8 @@ fi
[[ "${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_KEYBOARD}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" -g"
if [[ "${PW_GS_HDR_ENABLE}" == "1" ]] ; then
PW_GAMESCOPE_ARGS_NEW+=" --hdr-enabled"
export DXVK_HDR="1"
fi
[[ "${PW_GS_HDR_ENABLE}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --hdr-enabled"
[[ "${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_SDR_GAMMUT_WIDENESS}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --sdr-gamut-wideness"
[[ "${PW_GS_FORCE_COMPOSITION}" == "1" ]] && PW_GAMESCOPE_ARGS_NEW+=" --force-composition"
@@ -5559,12 +5588,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_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_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR PW_GAMESCOPE
PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_GAMESCOPE
)
if check_wayland_session
then rm_from_array "PW_EDIT_DB_LIST" PW_USE_US_LAYOUT
else rm_from_array "PW_EDIT_DB_LIST" PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR
else rm_from_array "PW_EDIT_DB_LIST" PW_USE_NATIVE_WAYLAND
fi
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
@@ -5615,7 +5644,6 @@ gui_edit_db () {
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_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_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.]}

View File

@@ -6,6 +6,7 @@
# 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: Экшен-игра про сталкеров, где игроки исследуют таинственные миры и сражаются с разнообразными противниками. Игра предлагает захватывающий сюжет и возможность улучшать персонажа, открывая новые способности и снаряжение.
########################################################################
export PW_PREFIX_NAME="ANOMALY_ZONE"
export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/az_webinst.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Anomaly Zone"
@@ -16,7 +17,7 @@ then
pw_start_progress_bar_install_game "Anomaly Zone."
pw_kill_autostart Launcher.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Cybertime Games/Anomaly-Zone/Launcher.exe"
portwine_exe="$WINEPREFIX/drive_c/Program Files/New Story Games/Anomaly-Zone/Launcher.exe"
pw_create_unique_exe
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"

View File

@@ -11,7 +11,7 @@ export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GGDInstaller.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Goose Goose Duck"
VERSION="4.01.02"
VERSION="4.02.01"
start_portwine
if try_download "https://download-ggd.gaggle.gg/Goose%20Goose%20Duck%20Installer%20${VERSION}%20release.exe" "${PW_AUTOINSTALL_EXE}" no_mirror

View File

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

View File

@@ -57,6 +57,7 @@ export PW_WINE_LG_VER="WINE_LG_10-12"
export PW_WINE_FULLSCREEN_FSR="1"
export WINE_FULLSCREEN_FSR_MODE="ultra"
###DXVK_AND_VKD3D###
export DXVK_HDR="1"
export VKD3D_LIMIT_TESS_FACTORS="64"
export DXVK_NEW_VER="2.7-46"
export DXVK_OLD_VER="2.6.2"