From 53464aa8581a3f3581c392a704f8b82f237d2139 Mon Sep 17 00:00:00 2001 From: Muzifs Date: Fri, 29 Aug 2025 14:48:08 +0300 Subject: [PATCH 1/8] fixes for autoinstall Anomaly Zone --- data_from_portwine/scripts/pw_autoinstall/PW_ANOMALY_ZONE | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_ANOMALY_ZONE b/data_from_portwine/scripts/pw_autoinstall/PW_ANOMALY_ZONE index 60adb531..c2d1eef8 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_ANOMALY_ZONE +++ b/data_from_portwine/scripts/pw_autoinstall/PW_ANOMALY_ZONE @@ -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" From 9929d950c3f728f9ecc2c4777a261013f01763b5 Mon Sep 17 00:00:00 2001 From: Htylol Date: Sat, 30 Aug 2025 15:41:41 +0500 Subject: [PATCH 2/8] Updated: fix for pw_check_dxvk --- data_from_portwine/scripts/functions_helper | 35 ++++++++++++++++----- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 04409e94..9e68b2bb 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -2870,8 +2870,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 +2879,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}") From 063e206dee00f1d6c0334f06a156169ee0835ca9 Mon Sep 17 00:00:00 2001 From: Htylol Date: Fri, 29 Aug 2025 22:39:03 +0500 Subject: [PATCH 3/8] Added: pw_check_vulkan_extensions function --- data_from_portwine/scripts/functions_helper | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 04409e94..90bfa104 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -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" @@ -3727,7 +3734,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 @@ -4626,7 +4638,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 From 4f613ce5eebc24e26761364750add8826dede8ad Mon Sep 17 00:00:00 2001 From: Htylol Date: Sat, 30 Aug 2025 20:24:40 +0500 Subject: [PATCH 4/8] start_portwine: Added MESA_VK_DEVICE_SELECT --- data_from_portwine/scripts/functions_helper | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 04409e94..0a8b888d 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -3767,9 +3767,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 +3795,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 @@ -4644,8 +4651,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="" From 5112519da03c3944a654644a593413e340a4374d Mon Sep 17 00:00:00 2001 From: Muzifs Date: Sun, 31 Aug 2025 14:41:22 +0300 Subject: [PATCH 5/8] fixes for autoinstall GGD MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Обновил версию игры --- data_from_portwine/scripts/pw_autoinstall/PW_GOOSE_GOOSE_DUCK | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_GOOSE_GOOSE_DUCK b/data_from_portwine/scripts/pw_autoinstall/PW_GOOSE_GOOSE_DUCK index 6d2663c2..d8bb8946 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_GOOSE_GOOSE_DUCK +++ b/data_from_portwine/scripts/pw_autoinstall/PW_GOOSE_GOOSE_DUCK @@ -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 From e4c51d1d16b2bb18cab7ffb1cc0e8209f6a1da0b Mon Sep 17 00:00:00 2001 From: Muzifs Date: Sun, 31 Aug 2025 15:38:03 +0300 Subject: [PATCH 6/8] updated the autoinstall VK Play MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Обновил ссылку из оф. сайта - Поправил vkPlay -> VK Play --- data_from_portwine/scripts/pw_autoinstall/PW_VKPLAY | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_VKPLAY b/data_from_portwine/scripts/pw_autoinstall/PW_VKPLAY index 932e5b75..1bf41f62 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_VKPLAY +++ b/data_from_portwine/scripts/pw_autoinstall/PW_VKPLAY @@ -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 From 0b3d66a07a5801dc32407b2000933ff2c285157d Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Tue, 2 Sep 2025 18:12:06 +0300 Subject: [PATCH 7/8] DXVK_HDR=1 by default --- data_from_portwine/scripts/functions_helper | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 2d34231e..9c84d37d 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -4576,10 +4576,11 @@ fi get_and_set_reg_file --add 'System\CurrentControlSet\Services\winebus' 'Enable SDL' 'REG_DWORD' "1" "system" fi + export DXVK_HDR="1" + 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" @@ -4693,14 +4694,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" @@ -5595,12 +5590,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 @@ -5651,7 +5646,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.]} From 96262d1c0696d8164c7421a6a08195dac870f19d Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Tue, 2 Sep 2025 18:15:44 +0300 Subject: [PATCH 8/8] moved DXVK_HDR to var --- data_from_portwine/scripts/functions_helper | 2 -- data_from_portwine/scripts/var | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 9c84d37d..9b7bdf40 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -4576,8 +4576,6 @@ fi get_and_set_reg_file --add 'System\CurrentControlSet\Services\winebus' 'Enable SDL' 'REG_DWORD' "1" "system" fi - export DXVK_HDR="1" - if check_wayland_session \ && [[ $PW_USE_NATIVE_WAYLAND == "1" ]] then diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index b655722d..bd314c0f 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -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"