forked from CastroFidel/PortWINE
		
	Compare commits
	
		
			48 Commits
		
	
	
		
			fixes_for_
			...
			da4b2e32c7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| da4b2e32c7 | |||
|  | 96262d1c06 | ||
|  | 0b3d66a07a | ||
|  | cc4d4458ee | ||
|  | ac0671cbf7 | ||
|  | b19407c0ae | ||
|  | ebffc287a3 | ||
|  | 4e8bbf09f3 | ||
|  | b2ca9765ec | ||
|  | f7bbc2caf2 | ||
|  | c817f2e402 | ||
|  | 28cfce104e | ||
|  | f6fb592329 | ||
|  | f536ffa245 | ||
| e4c51d1d16 | |||
| 5112519da0 | |||
| 4f613ce5ee | |||
| 063e206dee | |||
| 9929d950c3 | |||
| 53464aa858 | |||
| 4510570e7c | |||
|  | c193e64f6c | ||
|  | 4da7f6b132 | ||
|  | d6ddbcf270 | ||
|  | 84792464d6 | ||
|  | 97b6d58b03 | ||
|  | 031da4301d | ||
|  | 303408157a | ||
|  | 9c387d06f1 | ||
|  | d64804ac87 | ||
|  | bc2f254f0c | ||
|  | 6c6382598e | ||
|  | 4a11c22f38 | ||
|  | 597b067b9b | ||
|  | b428c830a9 | ||
|  | a2135c1bbf | ||
|  | 892d3eae4d | ||
|  | fb8b089b75 | ||
|  | 137108f1bd | ||
|  | 68aa03847c | ||
| b3b76c799f | |||
| ceb4dfb536 | |||
| aab1ebd2c1 | |||
| 42bb83a77f | |||
| cddc466a0d | |||
| 1e290d0c55 | |||
| 98cbc018ae | |||
| 0c81978c5b | 
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 5.0 KiB | 
| @@ -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 '\r\n') | 					SteamAppId=$(cat "${file}" | tr -d '[:space:]\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 | ||||||
|   | |||||||
| @@ -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 | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -1002,6 +1002,7 @@ 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") | ||||||
| @@ -1859,9 +1860,10 @@ 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" | ||||||
| @@ -2798,6 +2800,13 @@ 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" | ||||||
| @@ -2868,8 +2877,7 @@ pw_check_dxvk () { | |||||||
|                                *) other_group+=("$elem") ;; |                                *) other_group+=("$elem") ;; | ||||||
|                     esac |                     esac | ||||||
|                 done |                 done | ||||||
|                 unset SELECTED_VULKAN_GPU |                 SELECTED_VULKAN_GPU=( | ||||||
|                 SELECTED_VULKAN_GPU_NEW=( |  | ||||||
|                     "${nvidia_group[@]}" |                     "${nvidia_group[@]}" | ||||||
|                     "${amd_group[@]}" |                     "${amd_group[@]}" | ||||||
|                     "${intel_group[@]}" |                     "${intel_group[@]}" | ||||||
| @@ -2878,14 +2886,34 @@ pw_check_dxvk () { | |||||||
|             fi |             fi | ||||||
|             # получаем информацию о конкретном драйвере который выбран в PW_GPU_USE, |             # получаем информацию о конкретном драйвере который выбран в PW_GPU_USE, | ||||||
|             # либо ищем наилучший драйвер с учётом приоритета видеокарт + информация |             # либо ищем наилучший драйвер с учётом приоритета видеокарт + информация | ||||||
|             mapfile -t PW_VULKAN_DRIVER_ARRAY < <(awk ' |             mapfile -t PW_VULKAN_DRIVER_ARRAY < <(awk '/^GPU[0-9]+/ { | ||||||
|             /apiVersion|driverVersion/ { print $3 } |             if (count == 5) { | ||||||
|             /deviceName|driverName|driverInfo/ { |                 # Выводим собранные значения перед переходом к следующему GPU | ||||||
|                 split($0, parts, "= ") |                 for (i = 1; i <= 5; i++) print values[i] | ||||||
|                 print parts[2] |                 } | ||||||
|  |                 # Сбрасываем счетчик и массив значений для нового 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") |             }' "${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" |                 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}") | ||||||
| @@ -2921,13 +2949,6 @@ pw_check_dxvk () { | |||||||
|                     fi |                     fi | ||||||
|                 fi |                 fi | ||||||
|             done |             done | ||||||
|             # если используется nvidia, со встройкой opengl будет работать через встройку, с этим будет работать через nvidia |  | ||||||
|             if [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} =~ nvidia ]] ; then |  | ||||||
|                 export __NV_PRIME_RENDER_OFFLOAD="1" |  | ||||||
|                 export __GLX_VENDOR_LIBRARY_NAME="nvidia" |  | ||||||
|             else |  | ||||||
|                 export __NV_PRIME_RENDER_OFFLOAD="0" |  | ||||||
|             fi |  | ||||||
|             # если PW_GPU_USE изначально не было |             # если PW_GPU_USE изначально не было | ||||||
|             if [[ -z $PW_GPU_USE ]] ; then |             if [[ -z $PW_GPU_USE ]] ; then | ||||||
|                 export PW_GPU_USE=${PW_VULKAN_DRIVER_ARRAY_CHECK[2]} |                 export PW_GPU_USE=${PW_VULKAN_DRIVER_ARRAY_CHECK[2]} | ||||||
| @@ -3021,7 +3042,17 @@ 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 | ||||||
| @@ -3043,7 +3074,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 | ||||||
| @@ -3418,6 +3449,8 @@ 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" | ||||||
|     fi |     fi | ||||||
|  |  | ||||||
|     check_variables VKD3D_DEBUG "none" |     check_variables VKD3D_DEBUG "none" | ||||||
| @@ -3438,6 +3471,9 @@ 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 | ||||||
| @@ -3717,7 +3753,12 @@ 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 | ||||||
|         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 |     else | ||||||
|         var_vkd3d_config_update nodxr |         var_vkd3d_config_update nodxr | ||||||
|     fi |     fi | ||||||
| @@ -3757,9 +3798,14 @@ 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 [[ -n $PW_GPU_USE && $PW_GPU_USE != "disabled" ]] \ | ||||||
|         export DXVK_FILTER_DEVICE_NAME="${PW_GPU_USE}" |     && [[ -z $PW_AMD_VULKAN_USE || $PW_AMD_VULKAN_USE == "disabled" ]] ; then | ||||||
|         export VKD3D_FILTER_DEVICE_NAME="${PW_GPU_USE}" |         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 |     fi | ||||||
|  |  | ||||||
|     if [[ -f "$PATH_TO_GAME/dxvk.conf" ]] ; then |     if [[ -f "$PATH_TO_GAME/dxvk.conf" ]] ; then | ||||||
| @@ -3775,8 +3821,17 @@ start_portwine () { | |||||||
|         export int_xneur=1 |         export int_xneur=1 | ||||||
|     fi |     fi | ||||||
|  |  | ||||||
|     #https://github.com/flathub/net.lutris.Lutris/pull/368#issuecomment-1751381312 |     if [[ $(check_vendor_gpu) == "nvidia" ]] ; then | ||||||
|     [[ $(check_vendor_gpu) =~ nvidia ]] && export WEBKIT_DISABLE_DMABUF_RENDERER=1 |         #https://github.com/flathub/net.lutris.Lutris/pull/368#issuecomment-1751381312 | ||||||
|  |         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 |     if check_gamescope_session ; then | ||||||
|         export PW_GAMEMODERUN_SLR="" |         export PW_GAMEMODERUN_SLR="" | ||||||
| @@ -3993,7 +4048,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 | ||||||
| @@ -4522,9 +4577,8 @@ fi | |||||||
|     fi |     fi | ||||||
|  |  | ||||||
|     if check_wayland_session \ |     if check_wayland_session \ | ||||||
|     && [[ $PW_USE_NATIVE_WAYLAND == "1" || $PW_USE_DXVK_HDR == "1" ]] |     && [[ $PW_USE_NATIVE_WAYLAND == "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" | ||||||
| @@ -4606,18 +4660,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_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" |                 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 | ||||||
| @@ -4627,8 +4681,6 @@ fi | |||||||
|     && ! check_gamescope_session |     && ! check_gamescope_session | ||||||
|     then |     then | ||||||
|         if [[ "${PW_GPU_USE}" != "disabled" ]] ; 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}" |             PW_ID_VIDEO=" --prefer-vk-device ${PW_vendorID}:${PW_deviceID}" | ||||||
|         else |         else | ||||||
|             PW_ID_VIDEO="" |             PW_ID_VIDEO="" | ||||||
| @@ -4640,14 +4692,8 @@ 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" | ||||||
| @@ -5542,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_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_USE_DXVK_HDR PW_GAMESCOPE |     PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND 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 PW_USE_DXVK_HDR |     else rm_from_array "PW_EDIT_DB_LIST" PW_USE_NATIVE_WAYLAND | ||||||
|     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 | ||||||
| @@ -5598,7 +5644,6 @@ 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.]} | ||||||
| @@ -5625,7 +5670,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 \ | ||||||
|     && [[ $(ldd --version | head -n 1 | awk '{print $4}') < 2.38 ]] |     && ! compare_versions "$(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" | ||||||
| @@ -6707,8 +6752,10 @@ gui_userconf () { | |||||||
|                 export PW_CHANGE_BRANCH="1" |                 export PW_CHANGE_BRANCH="1" | ||||||
|                 export PW_FORCE_UPDATE="1" |                 export PW_FORCE_UPDATE="1" | ||||||
|             else |             else | ||||||
|                 [[ $BRANCH == "DEVEL" ]] && BRANCH="devel" |                 if [[ $BRANCH == "DEVEL" ]] | ||||||
|                 [[ $BRANCH == "STABLE" ]] && BRANCH="master" |                 then BRANCH="devel" | ||||||
|  |                 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]}" | ||||||
|   | |||||||
| @@ -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_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" | ||||||
| @@ -16,7 +17,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 (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 |     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" | ||||||
|   | |||||||
| @@ -6,10 +6,11 @@ | |||||||
| # 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 LAUNCH_PARAMETERS="/VERYSILENT" | 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 PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/azahar-2120.3-windows-msys2-installer.exe" | export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/azahar-$PW_AZAHAR_VERSION-windows-msys2-installer.exe" | ||||||
|  | export PW_PREFIX_NAME="AZAHAR" | ||||||
| start_portwine | start_portwine | ||||||
| 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 | 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 | ||||||
| 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}" | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ export LAUNCH_PARAMETERS="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-" | |||||||
| export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GGDInstaller.exe" | export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/GGDInstaller.exe" | ||||||
| export PORTWINE_CREATE_SHORTCUT_NAME="Goose Goose Duck" | export PORTWINE_CREATE_SHORTCUT_NAME="Goose Goose Duck" | ||||||
|  |  | ||||||
| VERSION="4.01.02" | 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://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 | #!/usr/bin/env bash | ||||||
| # Author: chal55rus (Sergey P.) | # Author: chal55rus (Sergey P.) | ||||||
| # type: games | # type: games | ||||||
| # name: vkPlay Games Center | # name: VK Play 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.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 | 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 | ||||||
|   | |||||||
| @@ -52,16 +52,17 @@ 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-10" | export PW_PROTON_LG_VER="PROTON_LG_10-15" | ||||||
| export PW_WINE_LG_VER="WINE_LG_10-12" | 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-5" | export DXVK_NEW_VER="2.7-46" | ||||||
| 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-4666" | export VKD3D_NEW_VER="1.1-4707" | ||||||
| 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### | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user