From a6b83f41816d1d5b408c5bf4af73a3c2602556ee Mon Sep 17 00:00:00 2001
From: Boria138
Date: Thu, 12 Oct 2023 17:45:49 +0600
Subject: [PATCH 1/8] Added select needed amd vulkan implementation
---
data_from_portwine/scripts/lang | 8 +++++--
data_from_portwine/scripts/start.sh | 2 +-
data_from_portwine/scripts/zen_yad_gui | 29 ++++++++++++++++++++++++--
3 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang
index fc2214bf..9e571312 100755
--- a/data_from_portwine/scripts/lang
+++ b/data_from_portwine/scripts/lang
@@ -126,7 +126,6 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export PW_USE_D3D_EXTRAS_INFO='Включить принудительное использование сторонних библиотек DirectX'
export PW_PRIME_RENDER_OFFLOAD_INFO='Включить дискретную видеокарту NVIDIA для ноутбуков с гибридной графикой (при поддержке установленого драйвера в ОС)'
export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе'
- export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD'
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана'
export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12'
@@ -243,6 +242,9 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_cpu_limit="Ограничить использование ядер процессора"
export loc_gui_cpu_limit_help="Ограничения количества ядер процессора полезно для игр на движке Unity (Рекомендуется выставить значение равное 8)"
+ export loc_gui_amd_vulkan_select="Изменить используемый драйвер vulkan для AMD"
+ export loc_gui_amd_vulkan_select_help="Выбор какая реализация vulkan будет использоваться для запуска игры"
+
export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub"
export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
export loc_gui_set_new_wine="Выберите версию WINE для загрузки:"
@@ -381,7 +383,6 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export PW_USE_D3D_EXTRAS_INFO='Enable forced use of third-party DirectX libraries'
export PW_PRIME_RENDER_OFFLOAD_INFO='Enable NVIDIA discrete graphics card for notebooks with hybrid graphics (if supported by the installed driver in the OS)'
export PW_USE_WINDOWS_7_INFO='Change the version of WINDOWS 10 to WINDOWS 7 in the prefix'
- export PW_USE_AMDVLK_DRIVER_INFO='Use AMDVLK driver instead of RADV on AMD graphics cards'
export PW_USE_SHADER_CACHE_INFO='Use WINE shader caching (disable only if there are microfreezes in the game)'
export PW_WINE_FULLSCREEN_FSR_INFO='Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen'
export PW_USE_FAKE_DLSS_INFO='Enable DLSS translator in FSR 2 in DirectX 12 games'
@@ -499,6 +500,9 @@ A brief instruction:
export loc_gui_cpu_limit="Limit the use of processor cores"
export loc_gui_cpu_limit_help="Limiting the number of CPU cores is useful for Unity games (It is recommended to set the value equal to 8)"
+ export loc_gui_amd_vulkan_select="Select needed AMD vulkan implementation"
+ export loc_gui_amd_vulkan_select_help="Choosing which implementation of vulkan will be used to run the game"
+
export loc_gui_check_new_wine="Check new version WINE from GitHub"
export loc_gui_check_new_wine_error="Error: check wine from github."
export loc_gui_set_new_wine="Select WINE for download:"
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 21a68831..5fe8af11 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -438,7 +438,7 @@ pw_edit_db () {
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
- # PW_FORCE_USE_VSYNC PW_WINEDBG_DISABLE PW_USE_AMDVLK_DRIVER HEAP_DELAY_FREE
+ # PW_FORCE_USE_VSYNC PW_WINEDBG_DISABLE HEAP_DELAY_FREE
}
pw_autoinstall_from_db () {
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index 87c609e4..63b20966 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -154,7 +154,6 @@ pw_gui_for_edit_db () {
else
FPS_LIMIT_VAR="disabled"
fi
-
if [[ ! -z "${PW_WINE_CPU_TOPOLOGY}" ]] && [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then
CPU_LIMIT_VAR="`echo ${PW_WINE_CPU_TOPOLOGY%%:*}`"
else
@@ -202,6 +201,7 @@ pw_gui_for_edit_db () {
--field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \
--field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help} :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \
+ --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select} :CB" "${AMD_VUKAN_VAR}!default!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRASH_RATE}" 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="650" \
--text "${loc_gui_edit_db} ${PORTWINE_DB}\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
@@ -233,7 +233,8 @@ pw_gui_for_edit_db () {
WINEDLLOVERRIDES=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'`
LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'`
CPU_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
- FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
+ AMD_VUKAN="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
+ FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
if [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/fps_limit=${FPS_LIMIT_VAR}/fps_limit=${FPS_LIMIT}/")"
@@ -249,6 +250,30 @@ pw_gui_for_edit_db () {
else
export PW_WINE_CPU_TOPOLOGY="disabled"
fi
+ if [[ "${AMD_VUKAN}" == "amdvlk" ]] ; then
+ export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
+ export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
+ elif [[ "${AMD_VUKAN}" == "amdgpupro" ]] ; then
+ export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
+ export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_pro_icd32.json:/usr/share/vulkan/icd.d/amd_pro_icd64.json"
+ elif [[ "${AMD_VUKAN}" == "radv" ]] ; then
+ export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
+ export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
+ elif [[ "${AMD_VUKAN}" == "radv_aco" ]] ; then
+ unset RADV_PERFTEST
+ export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
+ export RADV_PERFTEST=aco
+ export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
+ elif [[ "${AMD_VUKAN}" == "radv_gpl" ]] ; then
+ unset RADV_PERFTEST
+ export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
+ export RADV_PERFTEST=gpl
+ export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
+ fi
+ # Debug echo (nedded delete)
+ echo $VK_ICD_FILENAMES
+ echo $RADV_PERFTEST
+ echo $AMD_VUKAN
echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY
return 0
From 1b3831f0b4c0e753b6614a6d1ce34375a0070fdd Mon Sep 17 00:00:00 2001
From: Boria138
Date: Thu, 12 Oct 2023 18:25:21 +0600
Subject: [PATCH 2/8] Added Nobara support
---
data_from_portwine/scripts/zen_yad_gui | 27 +++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index 63b20966..214f7255 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -233,7 +233,7 @@ pw_gui_for_edit_db () {
WINEDLLOVERRIDES=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'`
LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'`
CPU_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
- AMD_VUKAN="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
+ AMD_VULKAN="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
if [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
@@ -250,21 +250,30 @@ pw_gui_for_edit_db () {
else
export PW_WINE_CPU_TOPOLOGY="disabled"
fi
- if [[ "${AMD_VUKAN}" == "amdvlk" ]] ; then
+ if [[ "${AMD_VULKAN}" == "amdvlk" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
- export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
- elif [[ "${AMD_VUKAN}" == "amdgpupro" ]] ; then
+ if [[ $(cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+') == "Nobara" ]] ; then
+ export VK_ICD_FILENAMES="/opt/amdgpu/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu/etc/vulkan/icd.d/amd_icd64.json"
+ else
+ export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
+ fi
+ elif [[ "${AMD_VULKAN}" == "amdgpupro" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
- export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_pro_icd32.json:/usr/share/vulkan/icd.d/amd_pro_icd64.json"
- elif [[ "${AMD_VUKAN}" == "radv" ]] ; then
+ if [[ $(cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+') == "Nobara" ]] ; then
+ export VK_ICD_FILENAMES="/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json"
+ export LD_LIBRARY_PATH="/opt/amdgpu/libdrm/lib64:/opt/amdgpu/libdrm/lib32:$LD_LIBRARY_PATH"
+ else
+ export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_pro_icd32.json:/usr/share/vulkan/icd.d/amd_pro_icd64.json"
+ fi
+ elif [[ "${AMD_VULKAN}" == "radv" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
- elif [[ "${AMD_VUKAN}" == "radv_aco" ]] ; then
+ elif [[ "${AMD_VULKAN}" == "radv_aco" ]] ; then
unset RADV_PERFTEST
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export RADV_PERFTEST=aco
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
- elif [[ "${AMD_VUKAN}" == "radv_gpl" ]] ; then
+ elif [[ "${AMD_VULKAN}" == "radv_gpl" ]] ; then
unset RADV_PERFTEST
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export RADV_PERFTEST=gpl
@@ -273,7 +282,7 @@ pw_gui_for_edit_db () {
# Debug echo (nedded delete)
echo $VK_ICD_FILENAMES
echo $RADV_PERFTEST
- echo $AMD_VUKAN
+ echo $AMD_VULKAN
echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY
return 0
From 7a4496622167175e5151679ea002c89284feb585 Mon Sep 17 00:00:00 2001
From: Boria138
Date: Thu, 12 Oct 2023 18:37:31 +0600
Subject: [PATCH 3/8] Optimized the code a tiny bit
---
data_from_portwine/scripts/zen_yad_gui | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index 214f7255..65d037be 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -252,14 +252,14 @@ pw_gui_for_edit_db () {
fi
if [[ "${AMD_VULKAN}" == "amdvlk" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
- if [[ $(cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+') == "Nobara" ]] ; then
+ if [[ $(cat /etc/os-release | grep -i nobara) ]] ; then
export VK_ICD_FILENAMES="/opt/amdgpu/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu/etc/vulkan/icd.d/amd_icd64.json"
else
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
fi
elif [[ "${AMD_VULKAN}" == "amdgpupro" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
- if [[ $(cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+') == "Nobara" ]] ; then
+ if [[ $(cat /etc/os-release | grep -i nobara) ]] ; then
export VK_ICD_FILENAMES="/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json"
export LD_LIBRARY_PATH="/opt/amdgpu/libdrm/lib64:/opt/amdgpu/libdrm/lib32:$LD_LIBRARY_PATH"
else
From 8c0415225e5cc9dccaeada1cf3b184cb24dc03d0 Mon Sep 17 00:00:00 2001
From: Boria138
Date: Thu, 12 Oct 2023 19:25:05 +0600
Subject: [PATCH 4/8] Added all officially supported AMD distributions and all
distributions based on them
---
data_from_portwine/scripts/zen_yad_gui | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index 65d037be..70d161e1 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -252,14 +252,14 @@ pw_gui_for_edit_db () {
fi
if [[ "${AMD_VULKAN}" == "amdvlk" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
- if [[ $(cat /etc/os-release | grep -i nobara) ]] ; then
+ if [[ $(grep -i -E '(rosa|redos|nobara|linuxmint|ubuntu|centos|rhel|fedora)' "/etc/os-release") ]] ; then
export VK_ICD_FILENAMES="/opt/amdgpu/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu/etc/vulkan/icd.d/amd_icd64.json"
else
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
fi
elif [[ "${AMD_VULKAN}" == "amdgpupro" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
- if [[ $(cat /etc/os-release | grep -i nobara) ]] ; then
+ if [[ $(grep -i -E '(rosa|redos|nobara|linuxmint|ubuntu|centos|rhel|fedora)' "/etc/os-release") ]] ; then
export VK_ICD_FILENAMES="/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json"
export LD_LIBRARY_PATH="/opt/amdgpu/libdrm/lib64:/opt/amdgpu/libdrm/lib32:$LD_LIBRARY_PATH"
else
From 9e6d3008db0b61927cd7d46a1339e64cb3e51505 Mon Sep 17 00:00:00 2001
From: Boria138
Date: Fri, 13 Oct 2023 12:57:52 +0600
Subject: [PATCH 5/8] Completely finished the job
---
data_from_portwine/scripts/functions_helper | 13 +++++-
data_from_portwine/scripts/zen_yad_gui | 51 +++++++++++----------
2 files changed, 37 insertions(+), 27 deletions(-)
diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index 8de2e074..5763bfad 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -202,6 +202,15 @@ var_vk_istance_layers_config_update () {
return 0
}
+var_ld_library_path_update() {
+ if [ ! -z "${LD_LIBRARY_PATH}" ]; then
+ export LD_LIBRARY_PATH="$1:$LD_LIBRARY_PATH"
+ else
+ export LD_LIBRARY_PATH="$1"
+ fi
+ return 0
+}
+
unpack_tar_zst () {
set -o pipefail
unset PW_ZSTD_PORT
@@ -818,7 +827,7 @@ pw_check_and_download_plugins () {
}
check_nvidia_rtx () {
- if echo "$LSPCI_VGA" | grep -i "nvidia" ; then
+ if [[ $(echo "$LSPCI_VGA" | grep -i "nvidia") ]] ; then
# Turing (without nvidia 16XX)
[[ "$LSPCI_VGA" == *TU[0-9]* ]] && [[ "$LSPCI_VGA" != *TU11[6-7]* ]] && return 0
# Ampere
@@ -830,7 +839,7 @@ check_nvidia_rtx () {
}
check_hybrid_graphicks () {
- if echo "$LSPCI_VGA" | grep -i nvidia | grep -iE '(intel|amd)'
+ if [[ $(echo "$LSPCI_VGA" | grep -i nvidia | grep -i -E '(intel|amd)') ]]
then return 0
else return 1
fi
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index 70d161e1..64fc82be 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -142,11 +142,11 @@ pw_tray_icon () {
${loc_tray_winefile}!bash -c pw_tray_winefile!"$PW_GUI_ICON_PATH/port_winefile.png"|| \
${loc_tray_tascmng}!bash -c pw_tray_taskmgr!"$PW_GUI_ICON_PATH/port_winefile.png"|| \
${loc_tray_cangelog}!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"|| \
- ${loc_tray_force_exit} !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"||" 2>/dev/null &
+ ${loc_tray_force_exit} !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"||" 2>/dev/null &
return 0
}
-
+
pw_gui_for_edit_db () {
KEY_EDIT_DB_GUI=$RANDOM
if echo "${MANGOHUD_CONFIG}" | grep "fps_limit" ; then
@@ -159,6 +159,11 @@ pw_gui_for_edit_db () {
else
CPU_LIMIT_VAR="disabled"
fi
+ if [[ ! -z "${PW_AMD_VULKAN_USE}" ]] && [[ "${PW_AMD_VULKAN_USE}" != "default" ]] ; then
+ AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
+ else
+ AMD_VULKAN_VAR="default"
+ fi
GET_REFRASH_RATE="30!45!60!75!120!144!165!240"
@@ -183,9 +188,9 @@ pw_gui_for_edit_db () {
}
edit_db_field_add $@
old_IFS=$IFS
- IFS="%"
+ IFS="%"
"${pw_yad_v12_3}" --plug=$KEY_EDIT_DB_GUI --tabnum="1" --form --separator=" " --columns=4 ${ADD_CHK_BOX_EDIT_DB} \
- 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" 2>/dev/null &
+ 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" 2>/dev/null &
IFS=$old_IFS
case ${PW_WINDOWS_VER} in
@@ -201,7 +206,7 @@ pw_gui_for_edit_db () {
--field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \
--field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help} :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \
- --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select} :CB" "${AMD_VUKAN_VAR}!default!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
+ --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select} :CB" "${AMD_VULKAN_VAR}!default!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRASH_RATE}" 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="650" \
--text "${loc_gui_edit_db} ${PORTWINE_DB}\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
@@ -210,7 +215,7 @@ pw_gui_for_edit_db () {
--button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \
--button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 2>/dev/null
YAD_STATUS="$?"
- case "$YAD_STATUS" in
+ case "$YAD_STATUS" in
1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;;
150) xdg-open "${PORTWINE_DB_FILE}" & exit 0 ;;
252) exit 0 ;;
@@ -233,7 +238,7 @@ pw_gui_for_edit_db () {
WINEDLLOVERRIDES=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'`
LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'`
CPU_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
- AMD_VULKAN="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
+ PW_AMD_VULKAN_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
if [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
@@ -250,41 +255,37 @@ pw_gui_for_edit_db () {
else
export PW_WINE_CPU_TOPOLOGY="disabled"
fi
- if [[ "${AMD_VULKAN}" == "amdvlk" ]] ; then
+ if [[ "${PW_AMD_VULKAN_USE}" == "amdvlk" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
if [[ $(grep -i -E '(rosa|redos|nobara|linuxmint|ubuntu|centos|rhel|fedora)' "/etc/os-release") ]] ; then
export VK_ICD_FILENAMES="/opt/amdgpu/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu/etc/vulkan/icd.d/amd_icd64.json"
else
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
fi
- elif [[ "${AMD_VULKAN}" == "amdgpupro" ]] ; then
+ elif [[ "${PW_AMD_VULKAN_USE}" == "amdgpupro" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
if [[ $(grep -i -E '(rosa|redos|nobara|linuxmint|ubuntu|centos|rhel|fedora)' "/etc/os-release") ]] ; then
export VK_ICD_FILENAMES="/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json:/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json"
- export LD_LIBRARY_PATH="/opt/amdgpu/libdrm/lib64:/opt/amdgpu/libdrm/lib32:$LD_LIBRARY_PATH"
+ var_ld_library_path_update "/opt/amdgpu/libdrm/lib64:/opt/amdgpu/libdrm/lib32"
else
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_pro_icd32.json:/usr/share/vulkan/icd.d/amd_pro_icd64.json"
fi
- elif [[ "${AMD_VULKAN}" == "radv" ]] ; then
+ elif [[ "${PW_AMD_VULKAN_USE}" == "radv" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
- elif [[ "${AMD_VULKAN}" == "radv_aco" ]] ; then
+ elif [[ "${PW_AMD_VULKAN_USE}" == "radv_aco" ]] ; then
unset RADV_PERFTEST
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export RADV_PERFTEST=aco
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
- elif [[ "${AMD_VULKAN}" == "radv_gpl" ]] ; then
+ elif [[ "${PW_AMD_VULKAN_USE}" == "radv_gpl" ]] ; then
unset RADV_PERFTEST
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
export RADV_PERFTEST=gpl
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
fi
- # Debug echo (nedded delete)
- echo $VK_ICD_FILENAMES
- echo $RADV_PERFTEST
- echo $AMD_VULKAN
echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
- edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY
+ edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY PW_AMD_VULKAN_USE
return 0
}
@@ -377,7 +378,7 @@ gui_proton_downloader () {
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
-
+
if [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_proton_set" | awk '{print $1}'` ] ; then
export VERSION_WINE_GIT="`cat "${PORT_WINE_TMP_PATH}/tmp_proton_set"`"
elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" | awk '{print $1}'` ] ; then
@@ -410,14 +411,14 @@ gui_proton_downloader () {
break
fi
done
-
+
if [[ ! -z "${VERSION_INSTALLED_WINE}" ]]; then
try_remove_dir "${PORT_WINE_PATH}/data/dist/${VERSION_INSTALLED_WINE}"
unset VERSION_INSTALLED_WINE
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
-
+
print_info "Download and install ${VERSION_WINE_GIT}..."
PW_WINE_ARCHIVE="$(echo ${URL_VERSION_PROTON_GIT} | awk -F'/' '{print $NF}' | awk -F'.tar' '{print $1}')"
if try_download_to_path "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/" ; then
@@ -469,11 +470,11 @@ gui_vkBasalt () {
VKBASALT_FFX_CAS_GUI=75
fi
export old_IFS=$IFS
- export IFS="%"
+ export IFS="%"
"${pw_yad_v12_3}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=5 --separator=" " \
--text-align=center --text="$loc_gui_vkbasalt_top" \
${ADD_GUI_FX} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" 2>/dev/null &
- export IFS="${old_IFS}"
+ export IFS="${old_IFS}"
"${pw_yad_v12_3}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \
--field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$loc_gui_ffx_cas":SCL "${VKBASALT_FFX_CAS_GUI}" \
@@ -505,7 +506,7 @@ gui_vkBasalt () {
export INT_COUNT_FX=$(( ${INT_COUNT_FX} + 1 ))
done
GUI_FX_RESULT="${GUI_FX_RESULT}cas"
- export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
+ export PW_VKBASALT_EFFECTS="${GUI_FX_RESULT}"
if [[ "$YAD_CAS_SET" == "0" ]] ; then
export PW_VKBASALT_FFX_CAS="0"
@@ -534,7 +535,7 @@ portwine_create_shortcut () {
create_menu_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{ print $3 }')
try_remove_file "${PORT_WINE_PATH}/${name_desktop}.desktop"
-
+
mv -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${name_desktop}.png"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
From 61e56a08e350d5146c13887b78ddd14862b747be Mon Sep 17 00:00:00 2001
From: Boria138
Date: Fri, 13 Oct 2023 22:20:11 +0600
Subject: [PATCH 6/8] Fixed typo
---
data_from_portwine/scripts/zen_yad_gui | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index 64fc82be..b610f63d 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -206,7 +206,7 @@ pw_gui_for_edit_db () {
--field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \
--field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help} :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \
- --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select} :CB" "${AMD_VULKAN_VAR}!default!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
+ --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select_help} :CB" "${AMD_VULKAN_VAR}!default!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRASH_RATE}" 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="650" \
--text "${loc_gui_edit_db} ${PORTWINE_DB}\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
From bd2bbee60fbaaba66cc9b17200248dbb504034cd Mon Sep 17 00:00:00 2001
From: Boria138
Date: Mon, 16 Oct 2023 12:16:50 +0600
Subject: [PATCH 7/8] Combined two pull requests into one to avoid conflicts
---
README-RU.md | 203 +++++++++++++++++++++++++
README.md | 5 +-
data_from_portwine/scripts/lang | 38 +++++
data_from_portwine/scripts/start.sh | 28 ++--
data_from_portwine/scripts/var | 1 +
data_from_portwine/scripts/zen_yad_gui | 26 ++--
6 files changed, 275 insertions(+), 26 deletions(-)
create mode 100755 README-RU.md
diff --git a/README-RU.md b/README-RU.md
new file mode 100755
index 00000000..2b10f3f8
--- /dev/null
+++ b/README-RU.md
@@ -0,0 +1,203 @@
+
+

+
PortProton
+
Проект, призванный сделать запуск Windows-игр в Linux простым и удобным как для начинающих, так и для опытных пользователей.
+Проект стремится сделать запуск игр (и другого программного обеспечения) максимально простым, но в то же время предоставляет гибкие настройки для опытных пользователей.
+
+
+# **Язык README**
+**Русский** - [English](README.md)
+
+## Внимание
+**Официальный сайт проекта** с сентября 2022 года: https://linux-gaming.ru. **Любой другой сайт - фальшивка!**
+
+## Особенности
+
+- Основан на версии WINE от Valve (Proton) и ее модификациях (Proton GE).
+Включает набор скриптов, объединенных с самим wine-proton, контейнер Steam Runtime Sniper с добавлением портированных версий MANGOHUD (вывод полезной информации в окно игры: FPS, FrameTime, CPU, GPU и т.д.) и vkBasalt (улучшение графики в играх, очень хорош в связке с FSR, DLSS) + множество уже настроенных оптимизаций для максимальной производительности.
+
+- Реализована автоматическая установка одним щелчком мыши (на вкладке АВТОУСТАНОВКА) популярных лаунчеров, таких как: WGC, Epic Games, Battle.net, Origin, EVE Online, RockStar, Ubisoft connect , League of Legends и многие другие.
+
+- Для любителей консольных игр предлагается множество эмуляторов консолей (на вкладке ЭМУЛЯТОРЫ ): PPSSPP, Citra, Cemu, ePSXe, MAME и многие другие..
+
+**ПОЖАЛУЙСТА, НЕ СООБЩАЙТЕ О НАЙДЕННЫХ ОШИБКАХ В WINEHQ ИЛИ ПРОГРАММНОМ ОБЕСПЕЧЕНИИ VALVE!**
+
+## **Ссылка на исходный код версий wine используемых в PortProton:**
+
+* WINE-PROTON: https://github.com/ValveSoftware/Proton
+
+* WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
+
+## Установка с помощью пакетов
+
+* **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, и т.д.), **Linux Mint 20.x** :
+[portproton_1.0-2_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.0-2_amd64/portproton_1.0-2_amd64.deb)
+* **Arch Linux** и производные (Manjaro, Garuda, и т.д.) :
+[AUR](https://aur.archlinux.org/packages/portproton)
+* **ROSA Linux** устанавливается с помощью этой команды:
+
+```sh
+sudo urpmi portproton
+```
+
+* **Fedora 37+** and **Nobara**:
+
+```sh
+sudo dnf copr enable boria138/portproton
+
+sudo dnf install portproton
+```
+
+* [**openSUSE Leap 15.4**](https://software.opensuse.org/ymp/home:Boria138/15.4/portproton.ymp?base=openSUSE%3ALeap%3A15.4&query=portproton)
+* [**openSUSE Leap 15.5**](https://software.opensuse.org/ymp/home:Boria138/15.5/portproton.ymp?base=openSUSE%3ALeap%3A15.5&query=portproton)
+* [**openSUSE Tumbleweed**](https://software.opensuse.org/ymp/home:Boria138/openSUSE_Tumbleweed/portproton.ymp?base=openSUSE%3AFactory&query=portproton)
+
+* **Alt Linux** устанавливается с помощью этой команды:
+
+```sh
+su -
+
+epm ei
+
+epm full-upgrade
+
+epm play portproton
+
+exit
+```
+
+## Универсальный (ручной) метод установки
+
+**ВНИМАНИЕ** : при универсальном способе установки PortProton зависимости должны быть установлены вручную!
+
+Нормальная установка:
+
+```sh
+wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0
+```
+
+Тихая установка (ENG):
+
+```sh
+wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -eng
+```
+
+Тихая установка (RUS):
+
+```sh
+wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus
+```
+
+## Зависимости
+
+* **Пользователи карт NVIDIA**
+
+Если у вас видеокарта от NVIDIA и установлен проприетарный драйвер, то необходимо проверить, установлена ли lib32-nvidia-utils (без нее ни одна 32-битная игра не будет работать)
+
+* **Ubuntu / Linux Mint / Pop!_OS**
+
+```sh
+sudo dpkg --add-architecture i386
+
+sudo add-apt-repository multiverse
+
+sudo apt update
+
+sudo apt upgrade
+
+sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386
+```
+
+* **Arch Linux / Manjaro**
+
+Сперва проверьте включён ли **multilib** репозиторий
+
+```sh
+/etc/pacman.conf
+===================================
+[multilib]
+Include = /etc/pacman.d/mirrorlist
+====================================
+```
+
+```sh
+sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity gzip nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-gamemode lib32-openssl
+```
+
+Если у вас видеокарта от **NVIDIA**, обязательно проверьте, установлен ли пакет **lib32-nvidia-utils**.
+
+```sh
+sudo pacman -Syu lib32-nvidia-utils
+```
+
+* **Debian/Deepin**
+
+```sh
+sudo apt install software-properties-common -y
+
+sudo apt-add-repository non-free
+
+sudo dpkg --add-architecture i386
+
+sudo apt update
+
+sudo apt upgrade
+
+sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract
+```
+
+* **openSUSE**
+
+```sh
+sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0
+```
+
+* **Fedora**
+
+```sh
+sudo dnf update
+
+sudo dnf upgrade --refresh
+
+sudo dnf install curl gamemode gamemode.i686 icoutils wget zenity bubblewrap zstd cabextract tar openssl mesa-dri-drivers.i686 mesa-vulkan-drivers mesa-vulkan-drivers.i686 vulkan-loader vulkan-loader.i686 nss.i686 alsa-lib.i686 mesa-libGL.i686 mesa-libEGL.i686 wmctrl ImageMagick
+```
+
+* **Alt Linux**
+
+```sh
+sudo apt-get update
+
+sudo apt-get dist-upgrade -y
+
+sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd
+```
+
+* **ROSA DESKTOP FRESH R12**
+
+```sh
+sudo dnf update
+
+sudo dnf upgrade --refresh
+
+sudo dnf install sysvinit-tools curl libcurl4 icoutils wget zenity bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl bc libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686
+```
+
+* **RED OS**
+
+```sh
+sudo -E dnf install curl icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam
+```
+
+* **Solus 4.x**
+
+```sh
+sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba
+```
+
+## Контакты
+
+
+
+
+
diff --git a/README.md b/README.md
index 279aebb7..ec68caeb 100755
--- a/README.md
+++ b/README.md
@@ -5,6 +5,9 @@
The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.
+# **Readme Language**
+**English** - [Русский](README-RU.md)
+
## Attention
The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!**
@@ -195,6 +198,6 @@ sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cab
-
diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang
index 9e571312..94aecada 100755
--- a/data_from_portwine/scripts/lang
+++ b/data_from_portwine/scripts/lang
@@ -30,6 +30,16 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_scripts_fb="Откатить версию скриптов"
export loc_gui_credits="Авторы и спасибы =)"
+ export loc_gui_clear_pfx="Очистить префикс"
+ export loc_gui_download_other_wine="Скачать другую версию wine"
+ export loc_gui_create_pfx_backup="Создать резервную копию префикса"
+
+ export loc_gui_wine_uninstaller="Удаление программм"
+ export loc_gui_wine_cfg="Настройка префикса"
+ export loc_gui_wine_file="Файловый менеджер"
+ export loc_gui_wine_cmd="Коммандная строка"
+ export loc_gui_wine_reg="Редактор реестра"
+
export loc_tray_winefile="Файловый менеджер WINE"
export loc_tray_tascmng="Диспетчер задач WINE"
export loc_tray_cangelog="История изменений"
@@ -96,10 +106,13 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_winefile="Запустить файловый менеждер встроенный в wine"
export loc_winecmd="Запустить командную строку wine"
export loc_winereg="Запустить редактор реестра выбранного префикса"
+ export loc_wineuninstaller="Запустить средство удаление программ встроенное в wine"
export loc_winetricks="Запустить префикс менеджер для установки доп. библиотек в выбранный префикс"
export loc_edit_db="Изменить файл настроек для"
export loc_download_other_wine="Открыть меню для скачивания других версий WINE-PROTON"
+ export loc_clear_pfx="Очистить префикс для исправления проблем"
+
export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)'
export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)'
export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)'
@@ -194,6 +207,10 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export PW_WAYLAND_INFO="Внимание! Вы запускаете ${portname} в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
+ export PW_PFX_BACKUP_INFO="Внимание! Не передавайте резевную копию третьим лицам, есть риск потери аккаунтов"
+ export PW_PFX_BACKUP_SUCCESS="Резервная копия префикса: \"${PW_PREFIX_NAME}\" успешно создана"
+ export PW_PFX_BACKUP_ERROR="Во время создания резервной копии префикса: \"${PW_PREFIX_NAME}\" произошла ошибка"
+
export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: d3dadapter9"
export loc_gui_create_shortcut_for_exe="Выберите .exe файл для которого необходимо создать ярлык и нажмите ОК.\n"
@@ -209,6 +226,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню."
+ export loc_disabled="Отключено"
+
export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК"
export loc_gui_open_db_help="Открыть файл настроек .ppdb в системном текстовом редакторе для просмотра и изменений переменных вручную."
@@ -287,6 +306,16 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_scripts_fb="SCRIPTS FROM BACKUP"
export loc_gui_credits="CREDITS"
+ export loc_gui_clear_pfx="Clear prefix"
+ export loc_gui_download_other_wine="Get other Wine"
+ export loc_gui_create_pfx_backup="Create prefix backup"
+
+ export loc_gui_wine_uninstaller="Uninstaller"
+ export loc_gui_wine_cfg="Prefix configuration"
+ export loc_gui_wine_file="File manager"
+ export loc_gui_wine_cmd="CMD"
+ export loc_gui_wine_reg="Reg edit"
+
export loc_tray_winefile="WINEFILE"
export loc_tray_tascmng="TASKMNR"
export loc_tray_cangelog="CHANGE LOG"
@@ -353,10 +382,13 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_winefile="Run wine file manager"
export loc_winecmd="Run wine cmd"
export loc_winereg="Run wine regedit"
+ export loc_wineuninstaller="Run the program uninstaller built into wine"
export loc_winetricks="Run winetricks to install additional libraries to the selected prefix"
export loc_edit_db="Edit database file for"
export loc_download_other_wine="Open the menu to download other versions of WINE-PROTON "
+ export loc_clear_pfx="Clear the prefix to fix problems"
+
export ENABLE_VKBASALT_INFO='Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)'
export PW_NO_ESYNC_INFO='Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)'
export PW_NO_FSYNC_INFO='Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems without FUTEX_WAIT_MULTIPLE support) (It is recommended not to change the value)'
@@ -451,6 +483,10 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export PW_WAYLAND_INFO="Attention! You are running $portname in a Wayland session, some features may not be available!\nRestarting your session in X11 is recommended!"
+ export PW_PFX_BACKUP_INFO="Attention! Do not pass the resev copy to third parties, there is a risk of losing accounts"
+ export PW_PFX_BACKUP_SUCCESS="Prefix backup: \"${PW_PREFIX_NAME}\" has been successfully created"
+ export PW_PFX_BACKUP_ERROR="An error occurred while backing up the prefix: \"${PW_PREFIX_NAME}\" error occurred"
+
export loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: d3dadapter9"
export loc_gui_create_shortcut_for_exe="Choose the .exe file for which you need to create a shortcut and click OK.\n"
@@ -466,6 +502,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_cancel="CANCEL THE CHANGES"
export loc_gui_cancel_help="Cancel the current changes and return to the previous menu."
+ export loc_disabled="Disabled"
+
export loc_gui_open_db="OPEN THE SETTINGS FILE"
export loc_gui_open_db_help="Open the .ppdb settings file in a system text editor to view and change variables manually."
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 5fe8af11..aaea1012 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -391,7 +391,7 @@ pw_start_cont_xterm () {
pw_create_prefix_backup () {
cd "$HOME"
PW_PREFIX_TO_BACKUP=$("${pw_yad_v12_3}" --file --directory --borders=3 --width=650 --height=500 --auto-close \
- --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO..." 2>/dev/null )
+ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$loc_create_pfx_backup_path" 2>/dev/null )
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
if [[ ! -z "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
@@ -419,9 +419,13 @@ pw_create_prefix_backup () {
done
if [[ -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" ]] ; then
mv -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack"
- zenity_info "Backup for prefix \"${PW_PREFIX_NAME}\" successfully created."
+ zenity_info "$PW_PFX_BACKUP_SUCCESS"
else
- zenity_error "An error occurred while creating a backup for prefix: \"${PW_PREFIX_NAME}\" !"
+ zenity_error "$PW_PFX_BACKUP_ERROR"
+ fi
+ if [[ ! -f "${PORT_WINE_TMP_PATH}/pfx_backup_info" ]]; then
+ zenity_info "$PW_PFX_BACKUP_INFO"
+ echo "1" > "${PORT_WINE_TMP_PATH}/pfx_backup_info"
fi
return 0
}
@@ -725,15 +729,15 @@ else
--field=" 3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
- --field=" CREATE PFX BACKUP"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' \
- --field=' WINETRICKS'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \
- --field=" CLEAR PREFIX"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' \
- --field=" DOWNLOAD OTHER WINE"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \
- --field=" WINE UNINSTALLER"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \
- --field=' WINECFG'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \
- --field=' WINEFILE'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \
- --field=' WINECMD'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \
- --field=' WINEREG'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
+ --field=" $loc_gui_create_pfx_backup"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' \
+ --field=" WINETRICKS"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \
+ --field=" $loc_gui_clear_pfx"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_clear_pfx}":"FBTN" '@bash -c "button_click gui_clear_pfx"' \
+ --field=" $loc_gui_download_other_wine"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \
+ --field=" $loc_gui_wine_uninstaller"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_wineuninstaller}":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \
+ --field=" $loc_gui_wine_cfg"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \
+ --field=" $loc_gui_wine_file"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \
+ --field=" $loc_gui_wine_cmd"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \
+ --field=" $loc_gui_wine_reg"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
"${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[1]} --form --columns=3 --align-buttons --keep-icon-size --scroll \
--field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \
diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var
index 1c5bd5d7..ada35a77 100755
--- a/data_from_portwine/scripts/var
+++ b/data_from_portwine/scripts/var
@@ -66,6 +66,7 @@ pw_install_dll_in_prefix ()
case $PW_PREFIX_NAME in
DEFAULT) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2022 sandbox" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 faudio dotnet48" ;;
+ PROGRAMS) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2019 riched20 corefonts msxml3 msxml4 msxml6" ;;
*) export PW_MUST_HAVE_DLL="" ;;
esac
}
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index b610f63d..e8e1a288 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -152,17 +152,17 @@ pw_gui_for_edit_db () {
if echo "${MANGOHUD_CONFIG}" | grep "fps_limit" ; then
FPS_LIMIT_VAR="$(echo ${MANGOHUD_CONFIG} | sed 's/.*fps_limit=//' | awk -F, '{print $1}')"
else
- FPS_LIMIT_VAR="disabled"
+ FPS_LIMIT_VAR="$loc_disabled"
fi
- if [[ ! -z "${PW_WINE_CPU_TOPOLOGY}" ]] && [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then
+ if [[ ! -z "${PW_WINE_CPU_TOPOLOGY}" ]] && [[ "${PW_WINE_CPU_TOPOLOGY}" != "$loc_disabled" ]] ; then
CPU_LIMIT_VAR="`echo ${PW_WINE_CPU_TOPOLOGY%%:*}`"
else
- CPU_LIMIT_VAR="disabled"
+ CPU_LIMIT_VAR="$loc_disabled"
fi
- if [[ ! -z "${PW_AMD_VULKAN_USE}" ]] && [[ "${PW_AMD_VULKAN_USE}" != "default" ]] ; then
+ if [[ ! -z "${PW_AMD_VULKAN_USE}" ]] && [[ "${PW_AMD_VULKAN_USE}" != "$loc_disabled" ]] ; then
AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
else
- AMD_VULKAN_VAR="default"
+ AMD_VULKAN_VAR="$loc_disabled"
fi
GET_REFRASH_RATE="30!45!60!75!120!144!165!240"
@@ -205,9 +205,9 @@ pw_gui_for_edit_db () {
--field=":LBL" "" \
--field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \
- --field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help} :CB" "${CPU_LIMIT_VAR}!disabled!${GET_LOGICAL_CORE}" \
- --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select_help} :CB" "${AMD_VULKAN_VAR}!default!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
- --field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!disabled!${GET_REFRASH_RATE}" 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
+ --field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help} :CB" "${CPU_LIMIT_VAR}!${loc_disabled}!${GET_LOGICAL_CORE}" \
+ --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select_help} :CB" "${AMD_VULKAN_VAR}!${loc_disabled}!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
+ --field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :CB" "${FPS_LIMIT_VAR}!${loc_disabled}!${GET_REFRASH_RATE}" 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="650" \
--text "${loc_gui_edit_db} ${PORTWINE_DB}\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
@@ -241,19 +241,19 @@ pw_gui_for_edit_db () {
PW_AMD_VULKAN_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
- if [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
+ if [[ "${FPS_LIMIT}" != "$loc_disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "$loc_disabled" ]] ; then
export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/fps_limit=${FPS_LIMIT_VAR}/fps_limit=${FPS_LIMIT}/")"
export PW_MANGOHUD=1
- elif [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" == "disabled" ]] ; then
+ elif [[ "${FPS_LIMIT}" != "$loc_disabled" ]] && [[ "${FPS_LIMIT_VAR}" == "$loc_disabled" ]] ; then
export MANGOHUD_CONFIG=${MANGOHUD_CONFIG},fps_limit=${FPS_LIMIT}
export PW_MANGOHUD=1
- elif [[ "${FPS_LIMIT}" == "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
+ elif [[ "${FPS_LIMIT}" == "$loc_disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "$loc_disabled" ]] ; then
export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//")"
fi
- if [[ "${CPU_LIMIT}" != "disabled" ]] ; then
+ if [[ "${CPU_LIMIT}" != "$loc_disabled" ]] ; then
export PW_WINE_CPU_TOPOLOGY="${CPU_LIMIT}:$(seq -s, 0 $((${CPU_LIMIT} - 1)))"
else
- export PW_WINE_CPU_TOPOLOGY="disabled"
+ export PW_WINE_CPU_TOPOLOGY="$loc_disabled"
fi
if [[ "${PW_AMD_VULKAN_USE}" == "amdvlk" ]] ; then
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
From bef62e1b8798788654a972ec79817c165a2cde5d Mon Sep 17 00:00:00 2001
From: Boria138
Date: Wed, 18 Oct 2023 10:18:09 +0600
Subject: [PATCH 8/8] Added missing loc_create_pfx_backup_path
---
data_from_portwine/scripts/lang | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang
index 94aecada..fc7d3275 100755
--- a/data_from_portwine/scripts/lang
+++ b/data_from_portwine/scripts/lang
@@ -34,6 +34,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_download_other_wine="Скачать другую версию wine"
export loc_gui_create_pfx_backup="Создать резервную копию префикса"
+ export loc_create_pfx_backup_path="РЕЗЕРВНОЕ КОПИРОВАНИЕ ПРЕФИКСА В..."
+
export loc_gui_wine_uninstaller="Удаление программм"
export loc_gui_wine_cfg="Настройка префикса"
export loc_gui_wine_file="Файловый менеджер"
@@ -310,6 +312,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_download_other_wine="Get other Wine"
export loc_gui_create_pfx_backup="Create prefix backup"
+ export loc_create_pfx_backup_path="BACKUP PREFIX TO..."
+
export loc_gui_wine_uninstaller="Uninstaller"
export loc_gui_wine_cfg="Prefix configuration"
export loc_gui_wine_file="File manager"