Scripts version 2232
This commit is contained in:
@ -31,7 +31,6 @@ gui_question () {
|
||||
[ $? -eq "0" ] && return 0 || return 1
|
||||
}
|
||||
|
||||
|
||||
pw_start_progress_bar_cover () {
|
||||
PW_GIF_FILE="$1"
|
||||
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
|
||||
@ -48,7 +47,7 @@ pw_update_pfx_cover_gui () {
|
||||
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 40}'`
|
||||
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 80}'`
|
||||
echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
|
||||
unset PW_TIMER
|
||||
export PW_TIMER=0
|
||||
while read -r line || [[ ! -z `pgrep -a yad | grep "yad_v12_3 --notebook --key="$PW_KEY_PROGRESS_BAR"" | awk '{print $1}'` ]] ; do
|
||||
sleep 0.005
|
||||
if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \
|
||||
@ -159,11 +158,11 @@ pw_gui_for_edit_db () {
|
||||
else
|
||||
CPU_LIMIT_VAR="disabled"
|
||||
fi
|
||||
if [[ ! -z "${PW_AMD_VULKAN_USE}" ]] && [[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then
|
||||
AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
|
||||
else
|
||||
AMD_VULKAN_VAR="disabled"
|
||||
fi
|
||||
# if [[ ! -z "${PW_AMD_VULKAN_USE}" ]] && [[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then
|
||||
# AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
|
||||
# else
|
||||
# AMD_VULKAN_VAR="disabled"
|
||||
# fi
|
||||
|
||||
if [[ ! -z "${PW_GPU_USE}" ]] && [[ "${PW_GPU_USE}" != "disabled" ]] ; then
|
||||
GPU_VAR="${PW_GPU_USE}"
|
||||
@ -171,7 +170,7 @@ pw_gui_for_edit_db () {
|
||||
GPU_VAR="disabled"
|
||||
fi
|
||||
|
||||
GET_GPU_NAMES=$(vulkaninfo 2>/dev/null | awk -F '=' '/deviceName/{print $2}' | paste -sd '!' | sed 's/^ //')
|
||||
GET_GPU_NAMES=$(vulkaninfo 2>/dev/null | awk -F '=' '/deviceName/{print $2}' | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
|
||||
|
||||
GET_REFRASH_RATE="30!45!60!75!120!144!165!240"
|
||||
|
||||
@ -206,6 +205,9 @@ pw_gui_for_edit_db () {
|
||||
"XP") ADD_WINVER_EDIT_DB="XP!7!10" ;;
|
||||
*) ADD_WINVER_EDIT_DB="10!7!XP" ;;
|
||||
esac
|
||||
|
||||
# --field="${loc_gui_amd_vulkan_select}!${loc_gui_amd_vulkan_select_help} :CB" "${AMD_VULKAN_VAR}!disabled!amdvlk!amdgpupro!radv!radv_gpl!radv_aco"
|
||||
|
||||
"${pw_yad_v12_3}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \
|
||||
--field="${loc_gui_ver_windows}!${loc_gui_ver_windows_help} :CB" "${ADD_WINVER_EDIT_DB}" \
|
||||
--field="${loc_gui_aut_winetricks}!${loc_gui_aut_winetricks_help} :CBE" "${PW_DLL_INSTALL}!vcrun2019 corefonts lucida" \
|
||||
@ -214,10 +216,9 @@ 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_help} :CB" "${AMD_VULKAN_VAR}!disabled!amdvlk!amdgpupro!radv!radv_gpl!radv_aco" \
|
||||
--field="${loc_gui_gpu_select}!${loc_gui_gpu_select_help} :CB" "${GPU_VAR}!disabled!${GET_GPU_NAMES}" \
|
||||
--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="700" \
|
||||
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="750" \
|
||||
--text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
|
||||
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
|
||||
--button="${loc_gui_cancel}"!!"${loc_gui_cancel_help}":1 \
|
||||
@ -247,9 +248,9 @@ 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}'`"
|
||||
PW_AMD_VULKAN_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
|
||||
PW_GPU_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
|
||||
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $10}'`"
|
||||
PW_GPU_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}'`"
|
||||
# PW_AMD_VULKAN_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $10}'`"
|
||||
|
||||
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}/")"
|
||||
@ -265,41 +266,10 @@ pw_gui_for_edit_db () {
|
||||
else
|
||||
export PW_WINE_CPU_TOPOLOGY="disabled"
|
||||
fi
|
||||
if [[ "${PW_AMD_VULKAN_USE}" == "amdvlk" ]] ; then
|
||||
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
if grep -i -q -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"
|
||||
elif grep -i -q "altlinux" '/etc/os-release' ; then
|
||||
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd.json"
|
||||
else
|
||||
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd32.json:/usr/share/vulkan/icd.d/amd_icd64.json"
|
||||
fi
|
||||
elif [[ "${PW_AMD_VULKAN_USE}" == "amdgpupro" ]] ; then
|
||||
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
if grep -i -q -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"
|
||||
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 [[ "${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 [[ "${PW_AMD_VULKAN_USE}" == "radv_aco" ]] ; then
|
||||
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
var_radv_perftest_config_update 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 [[ "${PW_AMD_VULKAN_USE}" == "radv_gpl" ]] ; then
|
||||
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
var_radv_perftest_config_update 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
|
||||
if [[ "${PW_GPU_USE}" != "disabled" ]]; then
|
||||
export DXVK_FILTER_DEVICE_NAME=$PW_GPU_USE
|
||||
export VKD3D_FILTER_DEVICE_NAME=$PW_GPU_USE
|
||||
fi
|
||||
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 PW_AMD_VULKAN_USE PW_GPU_USE
|
||||
edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY
|
||||
edit_user_conf_from_gui PW_GPU_USE
|
||||
# PW_AMD_VULKAN_USE
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -536,22 +506,27 @@ gui_vkBasalt () {
|
||||
|
||||
portwine_create_shortcut () {
|
||||
pw_create_gui_png
|
||||
pw_stop_progress_bar
|
||||
if ls "$HOME/.local/share/Steam/userdata/"*"/config/shortcuts.vdf" &>/dev/null
|
||||
then PW_FOUND_VDF=TRUE
|
||||
else PW_FOUND_VDF=FALSE
|
||||
fi
|
||||
export name_desktop="${PORTPROTON_NAME}"
|
||||
OUTPUT=$("${pw_yad}" --title="${inst_set}." --form --borders=3 \
|
||||
--window-icon "$PW_GUI_ICON_PATH/port_proton.png" \
|
||||
--image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \
|
||||
--field="${sc_info}":LBL "" \
|
||||
--field="${sc_name}:" "${name_desktop}" \
|
||||
--field="${sc_menu_desktop}":CHK "TRUE" \
|
||||
--field=" ${sc_menu_desktop}":CHK "TRUE" \
|
||||
--field=" ${sc_add_in_steam}":CHK "$PW_FOUND_VDF" \
|
||||
--button="$loc_gui_create_shortcut":0)
|
||||
if [ $? -eq "0" ]; then
|
||||
name_desktop=$(echo "$OUTPUT" | awk -F'|' '{ print $2 }')
|
||||
create_menu_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{ print $3 }')
|
||||
name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $2}')
|
||||
create_menu_desktop_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $3}')
|
||||
create_menu_steam_shortcut=$(echo "$OUTPUT" | awk -F'|' '{print $4}')
|
||||
|
||||
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"
|
||||
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||
echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||
@ -562,14 +537,6 @@ portwine_create_shortcut () {
|
||||
echo "Icon="${PORT_WINE_PATH}/data/img/${name_desktop}.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
|
||||
|
||||
# TODO: for steam
|
||||
# echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
# echo "export START_FROM_STEAM=1" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
# echo "export LD_PRELOAD=\"\"" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
# echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
# chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
# "${PORT_SCRIPTS_PATH}/add_in_steam.sh"
|
||||
|
||||
if [[ "${create_menu_desktop_shortcut}" == "TRUE" ]]; then
|
||||
try_remove_file "${HOME}/.local/share/applications/${name_desktop}.desktop"
|
||||
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" "${HOME}/.local/share/applications/"
|
||||
@ -580,6 +547,27 @@ portwine_create_shortcut () {
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${PW_FOUND_VDF}" == "TRUE" ]] && [[ "${create_menu_steam_shortcut}" == "TRUE" ]] ; then
|
||||
echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
echo "export START_FROM_STEAM=1" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
echo "export LD_PRELOAD=" >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh"
|
||||
"${PORT_SCRIPTS_PATH}/add_in_steam.sh"
|
||||
if pgrep -i steam &>/dev/null ; then
|
||||
if gui_question "$sc_restert_steam" ; then
|
||||
pw_start_progress_bar_block "Restarting STEAM... Please wait."
|
||||
kill -s SIGTERM $(pgrep -a steam) &>/dev/null
|
||||
while pgrep -i steam &>/dev/null ; do
|
||||
sleep 0.5
|
||||
done
|
||||
steam &
|
||||
sleep 5
|
||||
pw_stop_progress_bar
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ "$1" != silent ]] && xdg-open "${PORT_WINE_PATH}" 2>1 >/dev/null &
|
||||
fi
|
||||
@ -588,7 +576,7 @@ portwine_create_shortcut () {
|
||||
portwine_delete_shortcut () {
|
||||
rm -f "$(grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop)" $>/dev/null
|
||||
rm -f "$(grep -il "${portwine_exe}" "${PORT_WINE_PATH}"/*.desktop)" $>/dev/null
|
||||
rm -f "$(grep -il "${portwine_exe}" "${STEAM_SCRIPTS}"/*.sh)" $>/dev/null
|
||||
# rm -f "$(grep -il "${portwine_exe}" "${STEAM_SCRIPTS}"/*.sh)" $>/dev/null
|
||||
if [[ -d "${HOME}/Desktop" ]] ; then
|
||||
rm -f "$(grep -il "${portwine_exe}" "${HOME}/Desktop"/*.desktop)" $>/dev/null
|
||||
elif [[ -d "${HOME}/Рабочий стол" ]] ; then
|
||||
|
Reference in New Issue
Block a user