forked from CastroFidel/PortWINE
		
	Compare commits
	
		
			20 Commits
		
	
	
		
			4510570e7c
			...
			da4b2e32c7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| da4b2e32c7 | |||
|  | 96262d1c06 | ||
|  | 0b3d66a07a | ||
|  | cc4d4458ee | ||
|  | ac0671cbf7 | ||
|  | b19407c0ae | ||
|  | ebffc287a3 | ||
|  | 4e8bbf09f3 | ||
|  | b2ca9765ec | ||
|  | f7bbc2caf2 | ||
|  | c817f2e402 | ||
|  | 28cfce104e | ||
|  | f6fb592329 | ||
|  | f536ffa245 | ||
| e4c51d1d16 | |||
| 5112519da0 | |||
| 4f613ce5ee | |||
| 063e206dee | |||
| 9929d950c3 | |||
| 53464aa858 | 
| @@ -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/ { | ||||
|             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, "= ") | ||||
|                 print parts[2] | ||||
|                     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 | ||||
|         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.]} | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user