Commit 026e54e9 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2279

parent a0493321
......@@ -2,6 +2,13 @@ You can help us in the development of the project on the website: https://linux-
----------------------------------------
Changelog:
###Scripts version 2279### Date: 16.04.2024 / Download update size: 15 megabytes
* improvements to the flatpak version of PortProton:
- fixed running games on SteamDeck in gaming mode
- disabled downloading of the steam runtime container (reduces the size of the installed PortProton)
- improved the function of detecting GALLIUM_NINE libraries
* ATTENTION: Do not use flatpak and the native version of PortProton on the same system!
###Scripts version 2278### Date: 15.04.2024 / Download update size: 15 megabytes
* changed function for prefix update
......
......@@ -2,6 +2,14 @@
-----------------------------------------
История изменений:
###Scripts version 2279### Дата: 16.04.2024 / Размер скачиваемого обновления: 15 мегабайт
* улучшения flatpak версии PortProton:
- исправлен запуск игр на SteamDeck в игровом режиме
- исправлены локализации внутри игр на SteamDeck в игровом режиме (требуется выбор руского интерфейса PortProton)
- отключено скачивание контейнера steam runtime (уменьшает размер установленого PortProton)
- улучшена функция определения библиотек GALLIUM_NINE
* ВНИМАНИЕ: Не используйте flatpak и нативную версии PortProton на одной системе!
###Scripts version 2278### Дата: 15.04.2024 / Размер скачиваемого обновления: 15 мегабайт
* улучшена функция обновления префикса (исправлена ошибка shell32.dll)
......
#!/usr/bin/env bash
# Author: Castro-Fidel (linux-gaming.ru)
########################################################################
pw_ping_test () {
ping -w3 -c1 github.com &> /dev/null
ping_test () {
ping -w3 -c1 $@ &> /dev/null
[ "$?" == "0" ] && return 0 || return 1
}
......@@ -87,10 +87,10 @@ try_force_link_file () {
export -f try_force_link_file
check_symlink () {
CHK_SYMLINK_FILE="`file "$1"`"
if [[ ! -z "`echo "$CHK_SYMLINK_FILE" | grep -v "broken" | grep "symbolic link to" | awk '{print $1}'`" ]] ; then
CHK_SYMLINK_FILE="$(file "$1")"
if [[ ! -z "$(echo "$CHK_SYMLINK_FILE" | grep -v "broken" | grep "symbolic link to" | awk '{print $1}')" ]] ; then
return 0
elif [[ ! -z "`echo "$CHK_SYMLINK_FILE" | grep "broken symbolic link to" | awk '{print $1}'`" ]] ; then
elif [[ ! -z "$(echo "$CHK_SYMLINK_FILE" | grep "broken symbolic link to" | awk '{print $1}')" ]] ; then
print_error "remove broken symlink: $CHK_SYMLINK_FILE"
rm -fr "$CHK_SYMLINK_FILE"
return 1
......@@ -112,7 +112,7 @@ try_force_link_dir () {
export -f try_force_link_dir
check_process () {
[ ! -n "`ps cax | grep "$1" | awk '{print $1}'`" ] && return 0 || return 1
[ ! -n "$(ps cax | grep "$1" | awk '{print $1}')" ] && return 0 || return 1
}
export -f check_process
......@@ -203,7 +203,7 @@ var_radv_perftest_config_update () {
return 0
}
var_vk_istance_layers_config_update () {
var_pw_vk_istance_layers_config_update () {
if [ ! -z "$PW_VK_INSTANCE_LAYERS" ]
then export PW_VK_INSTANCE_LAYERS="$1:$PW_VK_INSTANCE_LAYERS"
else export PW_VK_INSTANCE_LAYERS="$1"
......@@ -212,7 +212,9 @@ var_vk_istance_layers_config_update () {
}
var_ld_library_path_update () {
if [ ! -z "$LD_LIBRARY_PATH" ]
if echo "$LD_LIBRARY_PATH" | grep "$1"
then return 0
elif [[ ! -z "$LD_LIBRARY_PATH" ]]
then export LD_LIBRARY_PATH="$1:$LD_LIBRARY_PATH"
else export LD_LIBRARY_PATH="$1"
fi
......@@ -394,19 +396,11 @@ init_wine_ver () {
if [[ "${PW_WINE_USE}" == "USE_SYSTEM_WINE" ]] \
&& command -v wine &>/dev/null ; then
if ! check_flatpak ; then
export WINEDIR="$RT_PREFIX/usr"
export WINE="$RT_PREFIX$(command -v wine)"
export WINELOADER="$WINE"
export WINESERVER="$RT_PREFIX$(command -v wineserver)"
export PW_NO_FSYNC=1
else
export WINEDIR="$RT_PREFIX/app"
export WINE="$RT_PREFIX/app/bin/wine"
export WINELOADER="$WINE"
export WINESERVER="$RT_PREFIX/app/bin/wineserver"
export PW_NO_FSYNC=1
fi
export WINEDIR="$RT_PREFIX/usr"
export WINE="$RT_PREFIX$(command -v wine)"
export WINELOADER="$WINE"
export WINESERVER="$RT_PREFIX$(command -v wineserver)"
export PW_NO_FSYNC=1
unset WINEDLLPATH
else
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
......@@ -500,9 +494,12 @@ init_wine_ver () {
fi
fi
export WINE_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib"
if [[ "${PW_USE_GSTREAMER}" == 1 ]] ; then
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] ; then
if [[ "${PW_USE_GSTREAMER}" == "1" ]] ; then
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] \
&& ! check_flatpak
then
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
fi
create_new_dir "${PORT_WINE_TMP_PATH}"/gstreamer_tmp/
......@@ -512,17 +509,33 @@ init_wine_ver () {
export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/gstreamer_tmp/video.foz
export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/gstreamer_tmp/transcoded_video.foz
else
# var_winedlloverride_update "winegstreamer="
echo
var_winedlloverride_update "winegstreamer="
fi
return 0
}
pw_init_runtime () {
if [[ "$PW_USE_RUNTIME" != 1 ]] \
if [ ! -z ${PATH_TMP} ]
then export PATH="${PATH_TMP}"
else export PATH_TMP="${PATH}"
fi
if [ ! -z "${PATH}" ]
then export PATH="${PATH}:${PW_PLUGINS_PATH}/portable/bin"
else export PATH="${PW_PLUGINS_PATH}/portable/bin"
fi
if check_flatpak ; then
[[ "${update_loc}" == "RUS" ]] && export LC_ALL=ru_RU.UTF-8
export PW_USE_RUNTIME="0"
fi
if [[ "$PW_USE_RUNTIME" != "1" ]] \
|| [[ "$PW_WINE_USE" == "USE_SYSTEM_WINE" ]]
then
var_ld_library_path_update "${PW_PLUGINS_PATH}/portable/lib/lib64:${PW_PLUGINS_PATH}/portable/lib/lib32"
export PW_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}"
export PW_VK_LAYER_PATH="${PW_PLUGINS_PATH}/portable/share/vulkan/implicit_layer.d"
export pw_runtime=""
return 0
fi
......@@ -536,7 +549,6 @@ pw_init_runtime () {
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
export PW_LD_LIBRARY_PATH="\
${WINEDIR}/lib64:${WINEDIR}/lib:\
${PW_PLUGINS_PATH}/portable/lib/lib64:\
${PW_PLUGINS_PATH}/portable/lib/lib32:\
${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:\
......@@ -544,15 +556,6 @@ ${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:\
/overrides/lib/x86_64-linux-gnu:\
/overrides/lib/i386-linux-gnu"
if [ ! -z ${PATH_TMP} ]
then export PATH="${PATH_TMP}"
else export PATH_TMP="${PATH}"
fi
if [ ! -z "${PATH}" ]
then export PATH="${WINEDIR}/bin:${PATH}:${PW_PLUGINS_PATH}/portable/bin"
else export PATH="${WINEDIR}/bin:${PW_PLUGINS_PATH}/portable/bin"
fi
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]] ; then
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--unshare-home \
......@@ -617,7 +620,7 @@ pw_mangohud_check () {
then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
fi
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64:VK_LAYER_MANGOHUD_overlay32"
var_pw_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64:VK_LAYER_MANGOHUD_overlay32"
print_info "Portable MANGOHUD is enabled"
else
export PW_MANGOHUD_SLR=""
......@@ -636,7 +639,7 @@ pw_vkbasalt_check () {
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}"
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${VKBASALT_CONFIG_FILE}"
fi
var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32"
var_pw_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32"
print_info "vkBasalt is enabled"
else
export DISABLE_VKBASALT=1
......@@ -646,9 +649,9 @@ pw_vkbasalt_check () {
}
regdlloverrides () {
PW_DLL_EXE=`echo $@ | awk -F: '{print $1}'`
PW_DLL_LIB=`echo $@ | awk -F: '{print $2}' | awk -F= '{print $1}'`
PW_DLL_SET=`echo $@ | awk -F= '{print $NF}'`
PW_DLL_EXE=$(echo $@ | awk -F: '{print $1}')
PW_DLL_LIB=$(echo $@ | awk -F: '{print $2}' | awk -F= '{print $1}')
PW_DLL_SET=$(echo $@ | awk -F= '{print $NF}')
case "${PW_DLL_SET}" in
"n,b") PW_DLL_IN_REG="native,builtin" ;;
"b,n") PW_DLL_IN_REG="builtin,native" ;;
......@@ -668,7 +671,7 @@ regdlloverrides () {
}
wait_wineserver () {
while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do
while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie PortProton | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do
sleep 1
done
"$WINESERVER" -w
......@@ -678,21 +681,21 @@ export -f wait_wineserver
kill_portwine () {
if [[ "${PW_WINE_USE}" != "USE_SYSTEM_WINE" ]] ; then
wine_pids="`ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}'`"
wine_pids="$(ls -l /proc/*/exe 2>/dev/null | grep -ie PortProton | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')"
for pw_kill_pids in ${wine_pids} ; do
if ps cax | grep ${pw_kill_pids} ; then
kill -n 9 ${pw_kill_pids} &>/dev/null
fi
done
bwrap_pids="`pgrep -a wrap | grep ${portname} | head -n 1 | awk '{print $1}'`"
bwrap_pids="$(pgrep -a wrap | grep PortProton | head -n 1 | awk '{print $1}')"
for pw_kill_pids in ${bwrap_pids} ; do
if ps cax | grep ${pw_kill_pids} ; then
kill -n 9 ${pw_kill_pids} &>/dev/null
fi
done
else
wine_pids="`ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}'`"
wine_pids="$(ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')"
for pw_kill_pids in ${wine_pids} ; do
if ps cax | grep ${pw_kill_pids} ; then
kill -n 9 ${pw_kill_pids} &>/dev/null
......@@ -710,22 +713,22 @@ pw_kill_autostart () {
fi
sleep 5
while true ; do
if [[ -z "`ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}'`" ]] \
&& [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]]
if [[ -z "$(ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}')" ]] \
&& [[ ! -z "$(ps aux | grep wrap | grep -v grep | grep -i "PortProton" | head -n 1)" ]]
then
echo -e "PID "$1" not found"
sleep "${SWAIT}"
else
sleep "${SWAIT}"
if [[ "$3" == please ]]
then kill -s SIGTERM `ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}'`
then kill -s SIGTERM $(ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}')
else kill_portwine
fi
break
fi
done
if [[ ! -z "`ls "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp"`" ]] ; then
if [[ ! -z "$(ls "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp")" ]] ; then
rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp
fi
......@@ -772,10 +775,10 @@ stop_portwine () {
try_remove_dir "${PW_WINELIB}/var"
find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete
if [[ ! -z "$(pgrep -a yad_v13_0 | grep "\--notification" | awk '{print $1}')" ]] ; then
kill -s SIGUSR1 "`pgrep -a yad_v13_0 | grep "\--notification" | awk '{print $1}'`" 2>/dev/null
kill -s SIGUSR1 "$(pgrep -a yad_v13_0 | grep "\--notification" | awk '{print $1}')" 2>/dev/null
fi
add_in_stop_portwine #&>/dev/null
kill -n 9 `pgrep -a start.sh | grep -i '/PortProton/' | awk '{print $1}'` > /dev/null 2>&1
kill -n 9 $(pgrep -a start.sh | grep -i '/PortProton/' | awk '{print $1}') &>/dev/null
killall yad_v13_0 &>/dev/null
exit 0
}
......@@ -790,8 +793,8 @@ pw_download_libs () {
"${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/" ; then
try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`" ] ; then
for RM_LIBS in `ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}`
if [ ! -z "$(ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER})" ] ; then
for RM_LIBS in $(ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER})
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
done
fi
......@@ -942,8 +945,8 @@ pw_check_and_download_plugins () {
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
# TODO: drop clear prefix, and add update prefix from new plugins
pw_clear_pfx
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then
for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`
if [ ! -z "$(ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER})" ] ; then
for RM_PLUGINS in $(ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER})
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
done
fi
......@@ -974,8 +977,8 @@ pw_check_and_download_plugins () {
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
# TODO: drop clear prefix, and add update prefix from new plugins
pw_clear_pfx
if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then
for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`
if [ ! -z "$(ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER})" ] ; then
for RM_PLUGINS in $(ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER})
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
done
fi
......@@ -1076,40 +1079,40 @@ pw_init_db () {
if [[ -f "${portwine_exe}".ppdb ]] && [[ "${PORTWINE_DB}" != "RiotClientServices" ]] ; then
export PORTWINE_DB_FILE="${portwine_exe}".ppdb
. "${PORTWINE_DB_FILE}"
if [[ -z "`ls -p "${PORT_WINE_PATH}/prefixes/" | grep -e "^${PW_PREFIX_NAME}/"`" ]] ; then
export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
if [[ -z "$(ls -p "${PORT_WINE_PATH}/prefixes/" | grep -e "^${PW_PREFIX_NAME}/")" ]] ; then
export PW_PREFIX_NAME=$(echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
edit_db_from_gui PW_PREFIX_NAME
fi
else
orig_IFS="$IFS"
IFS=$'\n'
PW_FIND_DB_FILE=`grep -ilw "#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi`
if [[ `echo "$PW_FIND_DB_FILE" | wc -l` -gt 1 ]] ; then
PW_FIND_DB_FILE=$(grep -ilw "#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi)
if [[ $(echo "$PW_FIND_DB_FILE" | wc -l) -gt 1 ]] ; then
unset ADD_CB_DBFILE
for PW_CHECK_DB_FILE in $PW_FIND_DB_FILE ; do
if [[ -z "${ADD_CB_DBFILE}" ]] ; then
export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`"
export ADD_CB_DBFILE="$(echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}')"
else
export ADD_CB_DBFILE="`echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}'`!${ADD_CB_DBFILE}"
export ADD_CB_DBFILE="$(echo ${PW_CHECK_DB_FILE} | awk -F'/' '{print $NF}')!${ADD_CB_DBFILE}"
fi
done
PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db"/`"${pw_yad_v13_0}" --text-align=center \
PORTWINE_DB_FILE="${PORT_SCRIPTS_PATH}/portwine_db"/$("${pw_yad_v13_0}" --text-align=center \
--text "${PW_SELECTION_DB_LOC}" --borders="${YAD_BORDERS}" --form \
--title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --form --separator="" \
--field="DB FILE: :CB" "${ADD_CB_DBFILE}" 2>/dev/null`
--field="DB FILE: :CB" "${ADD_CB_DBFILE}" 2>/dev/null)
if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi
elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then
elif [[ $(echo "$PW_FIND_DB_FILE" | wc -l) -eq 1 ]] ; then
PORTWINE_DB_FILE="${PW_FIND_DB_FILE}"
fi
IFS="$orig_IFS"
if [[ -f "${PW_FIND_DB_FILE}" ]] && [[ -z `grep "^export PW_DISABLED_CREATE_DB=1" "${PW_FIND_DB_FILE}"` ]] ; then
if [[ -f "${PW_FIND_DB_FILE}" ]] && [[ -z $(grep "^export PW_DISABLED_CREATE_DB=1" "${PW_FIND_DB_FILE}") ]] ; then
try_copy_file "${PW_FIND_DB_FILE}" "${portwine_exe}".ppdb
export PORTWINE_DB_FILE="${portwine_exe}".ppdb
fi
if [[ ! -z `echo "${portwine_exe}" | grep "/data/prefixes/"` ]] && \
[[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/"` ]]
if [[ ! -z $(echo "${portwine_exe}" | grep "/data/prefixes/") ]] && \
[[ -z $(echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/") ]]
then
export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'`
export PW_PREFIX_NAME=$(echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
fi
fi
if [[ -f "${PORTWINE_DB_FILE}" ]] ; then
......@@ -1138,7 +1141,7 @@ pw_init_db () {
check_variables PW_USE_RAY_TRACING "1"
fi
if grep "RUS" "${PORT_WINE_TMP_PATH}/${portname}_loc" &>/dev/null ; then
if grep "RUS" "${PORT_WINE_TMP_PATH}/PortProton_loc" &>/dev/null ; then
for chk_lang_and_uname in "steam_emu.ini" "steam_api.ini" "steam_api64.ini" ; do
if [[ -f "${PATH_TO_GAME}/${chk_lang_and_uname}" ]] ; then
sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}/${chk_lang_and_uname}"
......@@ -1179,7 +1182,7 @@ pw_port_update () {
[[ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ]] && echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
read "scripts_update_not" < "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
if [[ "${scripts_update_not}" == "1" ]] ; then
export scripts_current_ver=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'`
export scripts_current_ver=$(cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}')
print_info "Scripts version in github = ${scripts_current_ver}"
print_info "Scripts version local = ${scripts_install_ver}"
if [[ ! -z "${scripts_current_ver}" ]] && [[ "${scripts_current_ver}" -gt "${scripts_install_ver}" ]] ; then
......@@ -1193,11 +1196,11 @@ pw_port_update () {
xcsd="${scripts_upd4}"
else
curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" | tee "${PORT_WINE_TMP_PATH}/curent_var_ver"
CHANGLOG_NEWS=`cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed "/Scripts version ${scripts_install_ver}/,$ d" | sed '1,/---/ d' `
xcsd=`"${pw_yad_v13_0}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
CHANGLOG_NEWS=$(cat "${PORT_WINE_TMP_PATH}/curent_var_ver" | sed "/Scripts version ${scripts_install_ver}/,$ d" | sed '1,/---/ d' )
xcsd=$("${pw_yad_v13_0}" --title "${scripts_upd2} v.${scripts_current_ver}" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--form --separator='%%%' --width=1200 --height=600 \
--field=":TXT" "${CHANGLOG_NEWS}" \
--field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" 2>/dev/null`
--field=" ${scripts_upd3} :CB" "${scripts_upd4}!${scripts_upd5}!${scripts_upd6}" 2>/dev/null)
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
xcsd=`echo "${xcsd}" | awk -F'%%%' '{print $2}'`
......@@ -1339,14 +1342,14 @@ pw_create_gui_png () {
fi
cp -f "${PORT_WINE_TMP_PATH}/tmp_img/${PORTPROTON_NAME}.png" "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
fi
if [[ -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] \
if [[ -z "$(file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}")" ]] \
&& command -v convert &>/dev/null \
&& [[ -f "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" ]]
then
convert "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" -resize ${PW_RESIZE_TO}x${PW_RESIZE_TO} "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
fi
if [[ -z "${PW_ICON_FOR_YAD}" ]] ; then
if [[ ! -z "`file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}"`" ]] ; then
if [[ ! -z "$(file "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" | grep "${PW_RESIZE_TO} x ${PW_RESIZE_TO}")" ]] ; then
export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png"
else
export PW_ICON_FOR_YAD="${PW_GUI_ICON_PATH}/port_proton.png"
......@@ -1477,7 +1480,7 @@ start_portwine () {
done
print_info "Used wineboot $@ for prefix: ${PW_PREFIX_NAME}"
${pw_runtime} env GST_PLUGIN_SYSTEM_PATH_1_0="" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
${pw_runtime} env GST_PLUGIN_SYSTEM_PATH_1_0="" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}" \
WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg" \
"${WINELOADER}" wineboot $@ &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver
......@@ -1805,7 +1808,7 @@ start_portwine () {
d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37 d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43"
if [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then
if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ]] \
|| [[ -z "`grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]]
|| [[ -z "$(grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log")" ]]
then
echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi
......@@ -1815,7 +1818,7 @@ start_portwine () {
try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
var_winedlloverride_update "${d3d_extras_from_plugins}=n"
if [[ -z "`grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then
if [[ -z "$(grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log")" ]] ; then
echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi
done
......@@ -1862,10 +1865,9 @@ start_portwine () {
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
var_winedlloverride_update "d3d9=n;wined3d=b;dxvk_config,vulkan-1,winevulkan="
unset FIND_D3D_MODULE D3D_MODULE_PATH
FIND_D3D_MODULE=`dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null`
FLATPAK_D3D_MODULES_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d
/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
if ! check_flatpak ; then
FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null)
if [[ ! -z "$FIND_D3D_MODULE" ]] ; then
old_IFS=$IFS
IFS=$'\n'
......@@ -1883,12 +1885,7 @@ start_portwine () {
stop_portwine
fi
else
for D3D_MP in $FLATPAK_D3D_MODULES_PATH ; do
if [[ ! -z "$D3D_MODULE_PATH" ]]
then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/parent${D3D_MP}"
else export D3D_MODULE_PATH="/run/parent${D3D_MP}"
fi
done
export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
fi
export mesa_glthread=true
......@@ -1998,7 +1995,7 @@ start_portwine () {
#run_winetricks_from_db
if [[ ! -z "${PW_MUST_HAVE_DLL}" ]]
then export PW_DLL_INSTALL="`echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' `"
then export PW_DLL_INSTALL="$(echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' )"
fi
if [[ ! -z "${PW_DLL_INSTALL}" ]] ; then
......@@ -2038,13 +2035,13 @@ start_portwine () {
fi
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] \
&& [[ -z `grep "Windows $PW_WINDOWS_VER" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg"` ]]
&& [[ -z $(grep "Windows $PW_WINDOWS_VER" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg") ]]
then
if [[ ! -z "${PW_WINDOWS_VER}" && `echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/'` == "xp" ]] ; then
if [[ ! -z "${PW_WINDOWS_VER}" && $(echo "$PW_WINDOWS_VER" | sed 's/.*/\L&/') == "xp" ]] ; then
export PW_WINDOWS_VER="xp64"
fi
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'`
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${WINELOADER}" winecfg -v $(echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/')
wait_wineserver
kill_portwine
echo "Set to win${PW_WINDOWS_VER}"
......@@ -2090,7 +2087,8 @@ start_portwine () {
pw_run () {
unset GDK_BACKEND
if [[ ! -z "${PATH_TO_GAME}" ]] && [[ -d "${PATH_TO_GAME}" ]] ; then
if [[ ! -z "${PATH_TO_GAME}" ]] \
&& [[ -d "${PATH_TO_GAME}" ]] ; then
cd "${PATH_TO_GAME}"
elif [[ -f "$portwine_exe" ]] ; then
export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )"
......@@ -2098,22 +2096,16 @@ pw_run () {
else
cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c"
fi
PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
PW_LOG_TO_FILE="${PORT_WINE_PATH}/PortProton.log"
PW_LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}"
print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME"
print_var "VULKAN_API_DRIVER_VERSION" "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2"
print_var "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2"
print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH"
kill -s SIGUSR1 "$PW_YAD_PID_PFX_COVER_UI" &>/dev/null
if [[ "$PW_USE_RUNTIME" == 1 ]] \
&& [[ "$PW_WINE_USE" != "USE_SYSTEM_WINE" ]]
then
if [[ "${PW_LOG}" == 1 ]] ; then
if check_start_from_steam ; then
for VAR_LOGGER in PW_WINE_USE WINEDIR WINEDLLPATH WINEPREFIX PATH_TO_GAME PW_VULKAN_USE PW_LD_LIBRARY_PATH LD_LIBRARY_PATH PATH \
VKD3D_CONFIG WINEESYNC WINEFSYNC WINEFSYNC_FUTEX2 WINE_CPU_TOPOLOGY DESKTOP_SESSION
do
echo "${VAR_LOGGER}=${!VAR_LOGGER}" >> "${PW_LOG_TO_FILE}"
done
fi
echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}"
echo "------------------------------------" >> "${PW_LOG_TO_FILE}"
[[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] && cat "${PORT_WINE_TMP_PATH}/update_pfx_log" >> "${PW_LOG_TO_FILE}"
......@@ -2159,13 +2151,6 @@ pw_run () {
fi
else
if [[ "${PW_LOG}" == 1 ]] ; then
if check_start_from_steam ; then
for VAR_LOGGER in PW_WINE_USE WINEDIR WINEDLLPATH WINEPREFIX PATH_TO_GAME PW_VULKAN_USE PW_LD_LIBRARY_PATH LD_LIBRARY_PATH PATH \
VKD3D_CONFIG WINEESYNC WINEFSYNC WINEFSYNC_FUTEX2 WINE_CPU_TOPOLOGY DESKTOP_SESSION
do
echo "${VAR_LOGGER}=${!VAR_LOGGER}" >> "${PW_LOG_TO_FILE}"
done
fi
echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}"
echo "------------------------------------" >> "${PW_LOG_TO_FILE}"
[[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] && cat "${PORT_WINE_TMP_PATH}/update_pfx_log" >> "${PW_LOG_TO_FILE}"
......@@ -2174,6 +2159,10 @@ pw_run () {
echo ""
print_info "Log WINE:"
env FAKE_VAR= \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
${PW_RUN_GAMESCOPE} \
${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
......@@ -2186,6 +2175,10 @@ pw_run () {
echo "Log WINE:" > "${PW_LOG_TO_FILE}"
print_info "Log WINE:"
env FAKE_VAR= \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
${PW_RUN_GAMESCOPE} \
${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
......@@ -2227,7 +2220,7 @@ pw_winecmd () {
export PW_USE_TERMINAL=1
start_portwine
cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c"
${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PW_PLUGINS_PATH}/portable/bin/xterm" -e "${WINELOADER}" cmd
${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}" "${PW_PLUGINS_PATH}/portable/bin/xterm" -e "${WINELOADER}" cmd
stop_portwine
}
......@@ -2252,9 +2245,6 @@ pw_start_cont_xterm () {
"${PW_PLUGINS_PATH}/portable/bin/xterm"
}
#!/usr/bin/env bash
# Author: Castro-Fidel (linux-gaming.ru)
########################################################################
yad_info () {
print_info "$@"
if [[ ! -f "${pw_yad_v13_0}" ]] ; then
......@@ -2289,8 +2279,8 @@ yad_error_download () {
"${pw_yad_v13_0}" --text "$loc_gui_error_download" --width=400 --borders=15 --title "$loc_gui_error" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --image="$PW_GUI_ICON_PATH/download.png" \
--no-wrap --center --text-align=center \
--button="SKIP"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1 \
--button="REPEAT"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 2>/dev/null
--button="$loc_skip"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1 \
--button="$loc_repeat"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 2>/dev/null
[[ "$?" != 0 ]] && return 1 || return 0
}
......@@ -2310,8 +2300,8 @@ yad_question () {
pw_start_progress_bar_cover () {
if ! check_start_from_steam ; then
PW_GIF_FILE="$1"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 8}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 15}'`
PW_GIF_SIZE_X=$(file "${PW_GIF_FILE}" | awk '{print $7 + 8}')
PW_GIF_SIZE_Y=$(file "${PW_GIF_FILE}" | awk '{print $9 + 15}')
"${pw_yad_v13_0}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
--skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 &
export PW_YAD_PID_PROGRESS_BAR_COVER="$!"
......@@ -2323,8 +2313,8 @@ pw_start_progress_bar_cover_block () {
if ! check_start_from_steam ; then
[[ ! -f "${pw_yad_v13_0}" ]] && local pw_yad_v13_0="yad"
PW_GIF_FILE="$1"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 8}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 15}'`
PW_GIF_SIZE_X=$(file "${PW_GIF_FILE}" | awk '{print $7 + 8}')
PW_GIF_SIZE_Y=$(file "${PW_GIF_FILE}" | awk '{print $9 + 15}')
"${pw_yad_v13_0}" --picture --filename="${PW_GIF_FILE}" --close-on-unfocus --no-buttons --undecorated --center \
--skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y --window-icon="$PW_GUI_ICON_PATH/portproton.svg" > /dev/null 2>&1 &
export PW_YAD_PID_PROGRESS_BAR_COVER_BLOCK="$!"
......@@ -2348,15 +2338,15 @@ pw_update_pfx_cover_gui () {
if ! check_start_from_steam && ! pgrep -a yad | grep "yad_v13_0 --notebook --key=$PW_KEY_PROGRESS_BAR_UP" &>/dev/null ; then
PW_KEY_PROGRESS_BAR_UP=$RANDOM
PW_GIF_FILE="${COVERS_PATH}/update_prefix_${update_loc}.gif"
PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 20}'`
PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 60}'`
PW_GIF_SIZE_X=$(file "${PW_GIF_FILE}" | awk '{print $7 + 20}')
PW_GIF_SIZE_Y=$(file "${PW_GIF_FILE}" | awk '{print $9 + 60}')
echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log"
export PW_TIMER=0
while read -r line || [[ ! -z `pgrep -a yad | grep "yad_v13_0 --notebook --key=$PW_KEY_PROGRESS_BAR_UP" | awk '{print $1}'` ]] ; do
while read -r line || [[ ! -z $(pgrep -a yad | grep "yad_v13_0 --notebook --key=$PW_KEY_PROGRESS_BAR_UP" | awk '{print $1}') ]] ; do
sleep 0.005
if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \
&& [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \
&& [[ -z "`echo "${line}" | grep -i "ntlm"`" ]]
if [[ ! -z "${line}" ]] && [[ -z "$(echo "${line}" | grep -i "gstreamer")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "kerberos")" ]] \
&& [[ -z "$(echo "${line}" | grep -i "ntlm")" ]]
then
echo "# ${line}"
fi
......@@ -2432,8 +2422,8 @@ open_changelog () {
export -f open_changelog
pw_tray_icon () {
if [ ! -z "`pgrep -a yad_v13_0 | grep "\--notification" | awk '{print $1}'`" ] ; then
kill -s SIGUSR1 "`pgrep -a yad_v13_0 | grep "\--notification" | awk '{print $1}'`"
if [ ! -z "$(pgrep -a yad_v13_0 | grep "\--notification" | awk '{print $1}')" ] ; then
kill -s SIGUSR1 "$(pgrep -a yad_v13_0 | grep "\--notification" | awk '{print $1}')"
fi
tray_icon_click () {
......@@ -2479,7 +2469,7 @@ pw_tray_icon () {
pw_gui_for_edit_db () {
KEY_EDIT_DB_GUI=$RANDOM
if [[ "${PW_WINE_CPU_TOPOLOGY}" == *[0-9]:* ]] && [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then
CPU_LIMIT_VAR="`echo ${PW_WINE_CPU_TOPOLOGY%%:*}`"
CPU_LIMIT_VAR="$(echo ${PW_WINE_CPU_TOPOLOGY%%:*})"
else
CPU_LIMIT_VAR="disabled"
fi
......@@ -2512,7 +2502,7 @@ pw_gui_for_edit_db () {
else export ${int_to_boole}="FALSE"
fi
TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
int_to_boole_non_pw="`echo ${int_to_boole} | sed 's/^PW_//' | sed 's/_/ /g' `"
int_to_boole_non_pw="$(echo ${int_to_boole} | sed 's/^PW_//' | sed 's/_/ /g' )"
ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:${THEME_CHKBOX}%${!int_to_boole}%"
done
}
......@@ -2563,7 +2553,7 @@ pw_gui_for_edit_db () {
exit 0
;;
esac
output_yad_edit_db=(`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"`)
output_yad_edit_db=($(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"))
bool_from_yad=0
edit_db_field_read () {
for boole_to_int in $@ ; do
......@@ -2779,12 +2769,22 @@ gui_proton_downloader () {
else
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_ARCHIVE}.tar.${archive_type}"
try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_ARCHIVE}"
yad_error_download && gui_proton_downloader || exit 1
if yad_error_download
then gui_proton_downloader $@
else
export PW_WINE_VER="$PW_WINE_USE"
init_wine_ver
fi
fi
fi
done
else
yad_error_download && gui_proton_downloader || exit 1
if yad_error_download
then gui_proton_downloader $@
else
export PW_WINE_VER="$PW_WINE_USE"
init_wine_ver
fi
fi
if [[ "$1" != "silent" ]] ; then
......@@ -2801,7 +2801,7 @@ export -f gui_proton_downloader
gui_vkBasalt () {
KEY_FX_GUI=$RANDOM
FILE_VKBASALT_CONF="${PORT_WINE_PATH}/data/vkBasalt.conf"
LIST_FX=(`grep -E '.fx$|.fxh$' "${FILE_VKBASALT_CONF}" | awk '{print $1}'`)
LIST_FX=($(grep -E '.fx$|.fxh$' "${FILE_VKBASALT_CONF}" | awk '{print $1}'))
GET_FX_IN_FILE=(`echo ${PW_VKBASALT_EFFECTS} | sed s/"cas:"// | sed s/":"/" "/g`)
unset ADD_GUI_FX GUI_FX_RESULT
for add_list_fx in ${LIST_FX[@]} ; do
......@@ -3122,7 +3122,7 @@ portwine_delete_shortcut () {
portwine_missing_shortcut () {
"${pw_yad}" --title="${loc_gui_error}." --form \
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
--image "$PW_GUI_ICON_PATH/error_file.png" \
--image "$PW_GUI_ICON_PATH/error.png" \
--text "$loc_gui_missing_shortcut" \
--button="$loc_gui_delete_shortcut"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 \
--button="$loc_cancel"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":1
......@@ -3249,135 +3249,135 @@ portwine_start_debug () {
if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then
yad_info "Attention working version of vulkan not detected!\nIt is recommended to run games in OpenGL (low performance possible)!"
fi
echo "${port_deb1}" > "${PORT_WINE_PATH}/${portname}.log"
echo "${port_deb2}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PortWINE version:" >> "${PORT_WINE_PATH}/${portname}.log"
read install_ver < "${PORT_WINE_TMP_PATH}/${portname}_ver"
echo "${portname}-${install_ver}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Scripts version:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORT_WINE_TMP_PATH}/scripts_ver" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "${port_deb1}" > "${PORT_WINE_PATH}/PortProton.log"
echo "${port_deb2}" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "PortWINE version:" >> "${PORT_WINE_PATH}/PortProton.log"
read install_ver < "${PORT_WINE_TMP_PATH}/PortProton_ver"
echo "PortProton-${install_ver}" >> "${PORT_WINE_PATH}/PortProton.log"
echo "------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Scripts version:" >> "${PORT_WINE_PATH}/PortProton.log"
cat "${PORT_WINE_TMP_PATH}/scripts_ver" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-----------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [ "${PW_USE_RUNTIME}" = 0 ] ; then
echo "RUNTIME is disabled" >> "${PORT_WINE_PATH}/${portname}.log"
echo "RUNTIME is disabled" >> "${PORT_WINE_PATH}/PortProton.log"
else
echo "RUNTIME is enabled" >> "${PORT_WINE_PATH}/${portname}.log"
echo "RUNTIME is enabled" >> "${PORT_WINE_PATH}/PortProton.log"
fi
echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [ ! -z "${portwine_exe}" ] ; then
echo "Debug for programm:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "${portwine_exe}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Debug for programm:" >> "${PORT_WINE_PATH}/PortProton.log"
echo "${portwine_exe}" >> "${PORT_WINE_PATH}/PortProton.log"
echo "---------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
fi
echo "GLIBC version:" >> "${PORT_WINE_PATH}/${portname}.log"
echo $(ldd --version | grep -m1 ldd | awk '{print $NF}') >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "GLIBC version:" >> "${PORT_WINE_PATH}/PortProton.log"
echo $(ldd --version | grep -m1 ldd | awk '{print $NF}') >> "${PORT_WINE_PATH}/PortProton.log"
echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to ${loc_gui_open_gl}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to ${loc_gui_open_gl}" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "1" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER} and VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER} and VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "2" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER} and VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER} and VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "3" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "4" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d vulkan" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d vulkan" >> "${PORT_WINE_PATH}/PortProton.log"
else
echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/PortProton.log"
fi
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Version WINE in use:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "$PW_WINE_USE" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Program bit depth:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Version WINE in use:" >> "${PORT_WINE_PATH}/PortProton.log"
echo "$PW_WINE_USE" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Program bit depth:" >> "${PORT_WINE_PATH}/PortProton.log"
if [[ $(file "$portwine_exe") =~ x86-64 ]]; then
echo "64 bit" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "64 bit" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-----------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
else
echo "32 bit" >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "--------------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Date and time of start debug for ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log"
date >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "The installation path of the ${portname}:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "$PORT_WINE_PATH" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Operating system:" >> "${PORT_WINE_PATH}/${portname}.log"
cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+' >> "${PORT_WINE_PATH}/${portname}.log"
echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Desktop environment:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Desktop session: ${DESKTOP_SESSION}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Current desktop: ${XDG_CURRENT_DESKTOP}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Session type: ${XDG_SESSION_TYPE}" >> "${PORT_WINE_PATH}/${portname}.log"
echo "---------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Kernel:" >> "${PORT_WINE_PATH}/${portname}.log"
uname -r >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU physical cores:$(cat /proc/cpuinfo | grep 'cpu cores' | sort -u | cut -d':' -f2)" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU logical cores: $(cat /proc/cpuinfo | grep 'processor' | wc -l)" >> "${PORT_WINE_PATH}/${portname}.log"
echo "CPU model name:$(cat /proc/cpuinfo | grep 'model name' | sort -u | cut -d':' -f2)" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "RAM:" >> "${PORT_WINE_PATH}/${portname}.log"
free -m >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log"
echo 'lspci -k | grep -EA3 VGA|3D|Display :' >> "${PORT_WINE_PATH}/${portname}.log"
echo "$(lspci -k | grep -EA3 'VGA|3D|Display')" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----" >> "${PORT_WINE_PATH}/${portname}.log"
[[ `command -v glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----" >> "${PORT_WINE_PATH}/${portname}.log"
echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log"
echo "32 bit" >> "${PORT_WINE_PATH}/PortProton.log"
fi
echo "--------------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Date and time of start debug for PortProton:" >> "${PORT_WINE_PATH}/PortProton.log"
date >> "${PORT_WINE_PATH}/PortProton.log"
echo "-----------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "The installation path of the PortProton:" >> "${PORT_WINE_PATH}/PortProton.log"
echo "$PORT_WINE_PATH" >> "${PORT_WINE_PATH}/PortProton.log"
echo "------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Operating system:" >> "${PORT_WINE_PATH}/PortProton.log"
cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+' >> "${PORT_WINE_PATH}/PortProton.log"
echo "--------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Desktop environment:" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Desktop session: ${DESKTOP_SESSION}" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Current desktop: ${XDG_CURRENT_DESKTOP}" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Session type: ${XDG_SESSION_TYPE}" >> "${PORT_WINE_PATH}/PortProton.log"
echo "---------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Kernel:" >> "${PORT_WINE_PATH}/PortProton.log"
uname -r >> "${PORT_WINE_PATH}/PortProton.log"
echo "-------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "CPU:" >> "${PORT_WINE_PATH}/PortProton.log"
echo "CPU physical cores:$(cat /proc/cpuinfo | grep 'cpu cores' | sort -u | cut -d':' -f2)" >> "${PORT_WINE_PATH}/PortProton.log"
echo "CPU logical cores: $(cat /proc/cpuinfo | grep 'processor' | wc -l)" >> "${PORT_WINE_PATH}/PortProton.log"
echo "CPU model name:$(cat /proc/cpuinfo | grep 'model name' | sort -u | cut -d':' -f2)" >> "${PORT_WINE_PATH}/PortProton.log"
echo "------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "RAM:" >> "${PORT_WINE_PATH}/PortProton.log"
free -m >> "${PORT_WINE_PATH}/PortProton.log"
echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/PortProton.log"
echo 'lspci -k | grep -EA3 VGA|3D|Display :' >> "${PORT_WINE_PATH}/PortProton.log"
echo "$(lspci -k | grep -EA3 'VGA|3D|Display')" >> "${PORT_WINE_PATH}/PortProton.log"
echo "----" >> "${PORT_WINE_PATH}/PortProton.log"
[[ `command -v glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/PortProton.log"
echo "-----" >> "${PORT_WINE_PATH}/PortProton.log"
echo "inxi -G:" >> "${PORT_WINE_PATH}/PortProton.log"
if ! check_flatpak
then "${PW_PLUGINS_PATH}/portable/bin/inxi" -Gc0 >> "${PORT_WINE_PATH}/${portname}.log"
then "${PW_PLUGINS_PATH}/portable/bin/inxi" -Gc0 >> "${PORT_WINE_PATH}/PortProton.log"
fi
if echo "$LSPCI_VGA" | grep -i nvidia &>/dev/null ; then
if command -v ldconfig &>/dev/null ; then
echo "------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "ldconfig -p | grep libGLX_nvidia" >> "${PORT_WINE_PATH}/${portname}.log"
ldconfig -p | grep libGLX_nvidia >> "${PORT_WINE_PATH}/${portname}.log"
echo "------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "ldconfig -p | grep libGLX_nvidia" >> "${PORT_WINE_PATH}/PortProton.log"
ldconfig -p | grep libGLX_nvidia >> "${PORT_WINE_PATH}/PortProton.log"
fi
fi
echo "PW_SCREEN_RESOLUTION=$PW_SCREEN_RESOLUTION" >> "${PORT_WINE_PATH}/${portname}.log"
echo "PW_SCREEN_PRIMARY=$PW_SCREEN_PRIMARY" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log"
"$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep -E '^GPU|deviceName|driverName' >> "${PORT_WINE_PATH}/${portname}.log"
echo "PW_SCREEN_RESOLUTION=$PW_SCREEN_RESOLUTION" >> "${PORT_WINE_PATH}/PortProton.log"
echo "PW_SCREEN_PRIMARY=$PW_SCREEN_PRIMARY" >> "${PORT_WINE_PATH}/PortProton.log"
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/PortProton.log"
"$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep -E '^GPU|deviceName|driverName' >> "${PORT_WINE_PATH}/PortProton.log"
"${PW_PLUGINS_PATH}/portable/bin/vkcube" --c 50
if [ $? -eq 0 ]; then
echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan cube test passed successfully" >> "${PORT_WINE_PATH}/PortProton.log"
else
echo "Vulkan cube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo 'locale:' >> "${PORT_WINE_PATH}/${portname}.log"
locale >> "${PORT_WINE_PATH}/${portname}.log"
echo "---" >> "${PORT_WINE_PATH}/${portname}.log"
echo 'locale -a | grep -i "$(locale | grep -e '^LANG=' | sed 's/LANG=//' | sed 's/\-8//')" :' >> "${PORT_WINE_PATH}/${portname}.log"
locale -a | grep -i "$(locale | grep -e '^LANG=' | sed 's/LANG=//' | sed 's/\-8//')" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan cube test completed with error" >> "${PORT_WINE_PATH}/PortProton.log"
fi
echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo 'locale:' >> "${PORT_WINE_PATH}/PortProton.log"
locale >> "${PORT_WINE_PATH}/PortProton.log"
echo "---" >> "${PORT_WINE_PATH}/PortProton.log"
echo 'locale -a | grep -i "$(locale | grep -e '^LANG=' | sed 's/LANG=//' | sed 's/\-8//')" :' >> "${PORT_WINE_PATH}/PortProton.log"
locale -a | grep -i "$(locale | grep -e '^LANG=' | sed 's/LANG=//' | sed 's/\-8//')" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [[ "${PW_USE_D3D_EXTRAS}" != 1 ]]
then echo "D3D_EXTRAS - disabled" >> "${PORT_WINE_PATH}/${portname}.log"
else echo "D3D_EXTRAS - enabled" >> "${PORT_WINE_PATH}/${portname}.log"
then echo "D3D_EXTRAS - disabled" >> "${PORT_WINE_PATH}/PortProton.log"
else echo "D3D_EXTRAS - enabled" >> "${PORT_WINE_PATH}/PortProton.log"
fi
echo "------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | sed -e /"^d3dcomp*"/d -e /"^d3dx*"/d >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
echo "winetricks.log:" >> "${PORT_WINE_PATH}/PortProton.log"
cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" | sed -e /"^d3dcomp*"/d -e /"^d3dx*"/d >> "${PORT_WINE_PATH}/PortProton.log"
echo "-----------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [ ! -z "${PORTWINE_DB_FILE}" ]; then
echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/PortProton.log"
cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/PortProton.log"
else
echo "Use ${PORT_SCRIPTS_PATH}/portwine_db/default db file:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
echo "Use ${PORT_SCRIPTS_PATH}/portwine_db/default db file:" >> "${PORT_WINE_PATH}/PortProton.log"
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/PortProton.log"
fi
echo "----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
if [ -f "${USER_CONF}" ]; then
cat "${USER_CONF}" | sed '/bash/d' >> "${PORT_WINE_PATH}/${portname}.log"
cat "${USER_CONF}" | sed '/bash/d' >> "${PORT_WINE_PATH}/PortProton.log"
fi
echo "---------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "---------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
export DXVK_HUD="full"
......@@ -3396,21 +3396,21 @@ portwine_start_debug () {
sleep 3
PW_TIMER=1
fi
done < "${PORT_WINE_PATH}/${portname}.log" | "${pw_yad_v13_0}" --text-info --tail --button="STOP"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 --title="DEBUG" \
done < "${PORT_WINE_PATH}/PortProton.log" | "${pw_yad_v13_0}" --text-info --tail --button="STOP"!"$PW_GUI_ICON_PATH/$BUTTON_SIZE.png":0 --title="DEBUG" \
--skip-taskbar --width=800 --height=400 --text "${port_debug}" --window-icon="$PW_GUI_ICON_PATH/portproton.svg" 2>/dev/null &&
kill_portwine
sed -i '/.fx$/d' "${PORT_WINE_PATH}/${portname}.log"
sed -i '/HACK_does_openvr_work/d' "${PORT_WINE_PATH}/${portname}.log"
sed -i '/Uploading is disabled/d' "${PORT_WINE_PATH}/${portname}.log"
sed -i '/wine: RLIMIT_NICE is <= 20/d' "${PORT_WINE_PATH}/${portname}.log"
sed -i '/ALT_2.24/d' "${PORT_WINE_PATH}/${portname}.log"
sed -i '/UDEV monitor/d' "${PORT_WINE_PATH}/${portname}.log"
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
"$pw_yad" --title="${portname}.log" --no-buttons --text-align=center \
sed -i '/.fx$/d' "${PORT_WINE_PATH}/PortProton.log"
sed -i '/HACK_does_openvr_work/d' "${PORT_WINE_PATH}/PortProton.log"
sed -i '/Uploading is disabled/d' "${PORT_WINE_PATH}/PortProton.log"
sed -i '/wine: RLIMIT_NICE is <= 20/d' "${PORT_WINE_PATH}/PortProton.log"
sed -i '/ALT_2.24/d' "${PORT_WINE_PATH}/PortProton.log"
sed -i '/UDEV monitor/d' "${PORT_WINE_PATH}/PortProton.log"
deb_text=$(cat "${PORT_WINE_PATH}/PortProton.log" | awk '! a[$0]++')
echo "$deb_text" > "${PORT_WINE_PATH}/PortProton.log"
"$pw_yad" --title="PortProton.log" --no-buttons --text-align=center \
--text-info --show-uri --wrap --width=1200 --height=550 --uri-color=red \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--filename="${PORT_WINE_PATH}/${portname}.log"
--filename="${PORT_WINE_PATH}/PortProton.log"
stop_portwine
}
......@@ -3559,7 +3559,7 @@ gui_pw_update () {
}
change_loc () {
try_remove_file "${PORT_WINE_TMP_PATH}/${portname}_loc"
try_remove_file "${PORT_WINE_TMP_PATH}/PortProton_loc"
print_info "Restarting PP for change language..."
export SKIP_CHECK_UPDATES=1
/usr/bin/env bash -c ${pw_full_command_line[*]} &
......
......@@ -3,15 +3,15 @@
# Helped in translation: ConTI1NuEsZZZ and Boria138
unset update_loc
if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
if [[ -f "${PORT_WINE_TMP_PATH}/PortProton_loc" ]] ; then
read "update_loc" < "${PORT_WINE_TMP_PATH}/PortProton_loc"
export update_loc=${update_loc}
fi
if [[ "${FORCE_ENG_LANG}" == "1" ]] ; then
export update_loc="ENG"
else
if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then
if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/PortProton_loc" ]] ; then
echo ""
else
[[ ! -f "${pw_yad_v13_0}" ]] && pw_yad_v13_0="yad"
......@@ -19,7 +19,7 @@ else
--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" \
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" --width=300 --height=150)
SET_LANG="$(echo $SET_LANG | awk -F'|' '{print $2}')"
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc"
echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/PortProton_loc"
if [[ ! -z "${SET_LANG}" ]]
then export update_loc=${SET_LANG}
else exit 1
......@@ -28,8 +28,8 @@ else
fi
if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_pw_reinstall_pp="Переустановить ${portname}"
export loc_gui_rm_pp="Удалить ${portname}"
export loc_gui_pw_reinstall_pp="Переустановить PortProton"
export loc_gui_rm_pp="Удалить PortProton"
export loc_gui_upd_pp="Проверить обновления"
export loc_gui_changelog="История изменений"
export loc_gui_change_loc="Сменить язык интерфейса"
......@@ -52,7 +52,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_tray_winefile="Файловый менеджер WINE"
export loc_tray_tascmng="Диспетчер задач WINE"
export loc_tray_cangelog="История изменений"
export loc_tray_force_exit="Завершить работу ${portname}"
export loc_tray_force_exit="Завершить работу PortProton"
export loc_mg_autoinstall="АВТОУСТАНОВКА"
export loc_mg_emulators="ЭМУЛЯТОРЫ"
......@@ -64,8 +64,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export PW_SELECTION_DB_LOC="Найдено более одного DB файла для запускаемого приложения.\nВыберите необходимый, или перед следующим запуском удалите лишний DB файл.\n"
export inst_set="Выбор"
export inst_set_top="Установка ${portname}"
export sc_info="Ярлык будет создан в каталоге ${portname}."
export inst_set_top="Установка PortProton"
export sc_info="Ярлык будет создан в каталоге PortProton."
export sc_name="Название"
export sc_menu_desktop="Добавить ярлык в МЕНЮ -> Игры"
export sc_desktop_desktop="Добавить ярлык на Рабочий стол"
......@@ -74,32 +74,32 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export inst_succ="Установка завершена успешно!"
export port_upd1="Обновление ${portname}"
export port_upd2="На сайте linux-gaming.ru вышло обновление для ${portname}\n"
export port_upd1="Обновление PortProton"
export port_upd2="На сайте linux-gaming.ru вышло обновление для PortProton\n"
export port_upd3="Действие:"
export port_upd4="Перейти на сайт"
export port_upd5="Напомнить позже"
export port_upd6="Больше не напоминать"
export scripts_upd1="Обновление скриптов"
export scripts_upd2="Доступно обновление скриптов для ${portname}"
export scripts_upd2="Доступно обновление скриптов для PortProton"
export scripts_upd3="Действие :"
export scripts_upd4="Обновить сейчас"
export scripts_upd5="Напомнить позже"
export scripts_upd6="Больше не напоминать"
export port_clear_pfx="Вы действительно хотите очистить префикс ${portname}?"
export port_clear_pfx="Вы действительно хотите очистить префикс PortProton?"
export port_del1="Удаление $portname"
export port_del2="Вы действительно хотите полностью удалить ${portname}?"
export port_del1="Удаление PortProton"
export port_del2="Вы действительно хотите полностью удалить PortProton?"
export port_reinstall="Вы действительно хотите переустановить ${portname}?\nДля этого будет необходимо интернет соединение."
export port_reinstall="Вы действительно хотите переустановить PortProton?\nДля этого будет необходимо интернет соединение."
export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта"
export port_deb1="PortWINE был запущен в режиме создания PortProton.log и он успешно сохранен в корне каталога порта"
export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE"
export port_start1="Запуск ${portname}"
export port_start2="В каком режиме вы хотите запустить ${portname}?"
export port_start1="Запуск PortProton"
export port_start2="В каком режиме вы хотите запустить PortProton?"
export port_start3="Режим:"
export port_start4="Обычный"
export port_start5="Отдельной X-сессии"
......@@ -107,12 +107,12 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export port_start7="Запустить winetricks"
export port_start8="DXVK"
export port_debug="Не торопитесь! После окончания работы ${portname}, нажмите STOP."
export port_debug="Не торопитесь! После окончания работы PortProton, нажмите STOP."
export loc_create_shortcut_from_gui="Создать ярлык..."
export loc_create_shortcut="Создать ярлык для запускаемого файла."
export loc_delete_shortcut="Удалить ярлык для запускаемого файла."
export loc_debug="Запуск c созданием .log файла в корне ${portname}"
export loc_debug="Запуск c созданием .log файла в корне PortProton"
export loc_launch="Запустить файл..."
export loc_winecfg="Запустить winecfg для редактирования настроек выбранного префикса"
export loc_winefile="Запустить файловый менеждер встроенный в wine"
......@@ -291,7 +291,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_error='Ошибка.'
export loc_gui_error_download="Проверьте интернет соединение и\nнажмите Repeat для повторной попытки скачивания"
export loc_gui_settings="Пожалуйста подождите."
export loc_gui_sett_info="Обновление конфигурации <b>${portname}</b>..."
export loc_gui_sett_info="Обновление конфигурации <b>PortProton</b>..."
export loc_gui_edit_db="Изменение файла настроек для:"
export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст."
......@@ -303,6 +303,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_reset_db_help="Востановить все настройки по умолчанию."
export loc_disabled="Отключено"
export loc_skip="ПРОПУСТИТЬ"
export loc_repeat="ПОВТОРИТЬ"
export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК"
export loc_gui_open_db_help="Открыть файл настроек <b>.ppdb</b> в системном текстовом редакторе для просмотра и изменений переменных вручную."
......@@ -332,7 +334,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе <b>WINDOWS </b>"
export loc_gui_mango_fps="Ограничить FPS"
export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в ${portname}"
export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton"
export loc_gui_arg_gamescope="Добавить аргументы для GAMESCOPE:"
export loc_gui_arg_gamescope_help="Аргументы:
......@@ -367,7 +369,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_amd_vulkan_select_help="Выбор какая реализация vulkan будет использоваться для запуска игры"
export loc_gui_gpu_select="Выбрать видеокарту для запуска игры (в user.conf)"
export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в ${portname}.)"
export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в PortProton.)"
export loc_gui_check_new_wine="Проверяем новые версии WINE"
export loc_gui_check_new_wine_error="Не удается проверить новые версии WINE."
......@@ -396,7 +398,7 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_vkbasalt_start="VKBASALT"
export loc_gui_mh_start="MANGOHUD"
export loc_gui_db_comments="Найден файл настроек ${portname} для"
export loc_gui_db_comments="Найден файл настроек PortProton для"
export loc_gui_vulkan_stable="Стабильные DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}"
export loc_gui_vulkan_git="Новейшие DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}"
......@@ -442,9 +444,9 @@ if [[ "${update_loc}" == "RUS" ]] ; then
elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_pw_reinstall_pp="REINSTALL ${portname}"
export loc_gui_rm_pp="REMOVE ${portname}"
export loc_gui_upd_pp="UPDATE ${portname}"
export loc_gui_pw_reinstall_pp="REINSTALL PortProton"
export loc_gui_rm_pp="REMOVE PortProton"
export loc_gui_upd_pp="UPDATE PortProton"
export loc_gui_changelog="CHANGELOG"
export loc_gui_change_loc="CHANGE LANGUAGE"
export loc_gui_edit_usc="EDIT USER.CONF"
......@@ -478,8 +480,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export PW_SELECTION_DB_LOC="More than one DB file found for the application being launched.\nSelect the required one, or delete the extra DB file before the next run.\n"
export inst_set="Choices"
export inst_set_top="Instaling ${portname}"
export sc_info="The shortcut will be created in the ${portname} directory."
export inst_set_top="Instaling PortProton"
export sc_info="The shortcut will be created in the PortProton directory."
export sc_name="Name"
export sc_menu_desktop="Add shortcut to MENU -> GAMES"
export sc_desktop_desktop="Add shortcut to Desktop"
......@@ -488,32 +490,32 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export inst_succ="The installation was successful."
export port_upd1="New update for ${portname}"
export port_upd2="On linux-gaming.ru site published an update for ${portname}\n"
export port_upd1="New update for PortProton"
export port_upd2="On linux-gaming.ru site published an update for PortProton\n"
export port_upd3="Action:"
export port_upd4="Go to the website"
export port_upd5="Remind me later"
export port_upd6="Do not remind me"
export scripts_upd1="New update for scripts"
export scripts_upd2="Scripts update avialable for ${portname}"
export scripts_upd2="Scripts update avialable for PortProton"
export scripts_upd3="Action:"
export scripts_upd4="Updating now"
export scripts_upd5="Remind me later"
export scripts_upd6="Do not remind me"
export port_clear_pfx="Do you want to clear prefix in ${portname}?"
export port_clear_pfx="Do you want to clear prefix in PortProton?"
export port_del1="Remove $portname"
export port_del2="Do you really want to remove $portname?"
export port_del1="Remove PortProton"
export port_del2="Do you really want to remove PortProton?"
export port_reinstall="Do you really want to reinstall ${portname}?\nFor this, an internet connection will be required."
export port_reinstall="Do you really want to reinstall PortProton?\nFor this, an internet connection will be required."
export port_deb1="${portname} was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port"
export port_deb1="PortProton was launched in creation mode PortProton.log and it is successfully stored in the root directory of the port"
export port_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE"
export port_start1="Starting the ${portname}"
export port_start2="In what mode you want to start the ${portname}?"
export port_start1="Starting the PortProton"
export port_start2="In what mode you want to start the PortProton?"
export port_start3="Mode:"
export port_start4="Normal"
export port_start5="Individual X-Session"
......@@ -521,12 +523,12 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export port_start7="Run winetricks"
export port_start8="DXVK"
export port_debug="Please wait! After finishing the ${portname}, click STOP."
export port_debug="Please wait! After finishing the PortProton, click STOP."
export loc_create_shortcut_from_gui="Create shortcut..."
export loc_create_shortcut="Create shortcut for select file..."
export loc_delete_shortcut="Delete shortcut for select file..."
export loc_debug="Launch with the creation of a .log file at the root ${portname}"
export loc_debug="Launch with the creation of a .log file at the root PortProton"
export loc_launch="Run file ..."
export loc_winecfg="Run winecfg to edit the settings of the selected prefix"
export loc_winefile="Run wine file manager"
......@@ -705,7 +707,7 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_error='Error.'
export loc_gui_error_download="You will need to check internet connection,and\npress Repeat for repeat download"
export loc_gui_settings="Please wait."
export loc_gui_sett_info="Updating configuration for <b>${portname}</b>..."
export loc_gui_sett_info="Updating configuration for <b>PortProton</b>..."
export loc_gui_edit_db="Change settings in database file for"
export loc_gui_edit_db_help="<b>NOTE:</b> To display help for each item, simply hover your mouse over the text"
......@@ -718,6 +720,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_reset_db_help="Restore default settings."
export loc_disabled="Disabled"
export loc_skip="SKIP"
export loc_repeat="REPEAT"
export loc_gui_open_db="OPEN THE SETTINGS FILE"
export loc_gui_open_db_help="Open the <b>.ppdb</b> settings file in a system text editor to view and change variables manually."
......@@ -748,7 +752,7 @@ A brief instruction:
export loc_gui_arg_exe_help="Adding an argument after the <b>.exe</b> file, just like you would add an argument in a shortcut on a <b>WINDOWS </b> system"
export loc_gui_mango_fps="MANGOHUD FPS LIMIT"
export loc_gui_mango_fps_help="Enabling FPS limits using MANGOHUD built into ${portname}"
export loc_gui_mango_fps_help="Enabling FPS limits using MANGOHUD built into PortProton"
export loc_gui_arg_gamescope="Add arguments for GAMESCOPE:"
export loc_gui_arg_gamescope_help="
......@@ -781,7 +785,7 @@ A brief instruction:
export loc_gui_amd_vulkan_select_help="Choosing which implementation of vulkan will be used to run the game"
export loc_gui_gpu_select="Choose a graphics card to run the game (in user.conf)"
export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in ${portname})"
export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in PortProton)"
export loc_gui_check_new_wine="Check new version WINE"
export loc_gui_check_new_wine_error="Error: check wine."
......@@ -811,7 +815,7 @@ A brief instruction:
export loc_gui_vkbasalt_top="vkBasalt settings for adding effects to games running under Vulkan. (The <b>HOME</b> key disables vkbasalt)\n<b>NOTE:</b> To display help for each item, simply hover over the text\n"
export loc_gui_db_comments="${portname} database file was found for"
export loc_gui_db_comments="PortProton database file was found for"
export loc_gui_vulkan_stable="Stable DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}"
export loc_gui_vulkan_git="Newest DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}"
......
#!/usr/bin/env bash
#Author: Dezert1r
#GalaxyClient.exe
#GalaxyClient.exe
#GOG_Galaxy_2.0.exe
#Rating=1-5
################################################
......
......@@ -41,16 +41,9 @@ then
MISSING_DESKTOP_FILE=0
fi
. "$(dirname $(readlink -f "$0"))/functions_helper"
# if [[ -z "${LANG}" ]] ; then
# export LANG=C
# export FORCE_ENG_LANG=1
# elif [[ "${START_FROM_STEAM}" == 1 ]] ; then
# export FORCE_ENG_LANG=1
# else
# unset FORCE_ENG_LANG
# fi
cd "$(dirname "$(readlink -f "$0")")" && export PORT_SCRIPTS_PATH="$(pwd)"
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
. "${PORT_SCRIPTS_PATH}/functions_helper"
create_new_dir "${HOME}/.local/share/applications"
if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then
......@@ -66,12 +59,7 @@ unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME
unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48
unset MANGOHUD_CONFIG PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME
export portname=PortProton
cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)"
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f $PORT_WINE_TMP_PATH/*{exe,msi,tar}*
echo "" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
......@@ -142,7 +130,7 @@ export urlg="https://linux-gaming.ru/portproton/"
export url_cdn="https://cdn.linux-gaming.ru"
export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
try_remove_dir "${PW_WINELIB}/var"
export install_ver=$(cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1)
export install_ver=$(cat "${PORT_WINE_TMP_PATH}/PortProton_ver" | head -n 1)
export WINETRICKS_DOWNLOADER="curl"
export USER_CONF="${PORT_WINE_PATH}/data/user.conf"
check_user_conf
......@@ -184,6 +172,8 @@ fi
unset SKIP_CHECK_UPDATES
pw_check_and_download_plugins
export PW_VULKANINFO_PORTABLE="$PW_PLUGINS_PATH/portable/bin/x86_64-linux-gnu-vulkaninfo"
export VULKAN_DRIVER_NAME="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep driverName | awk '{print$3}' | head -1)"
if [[ -f "/tmp/portproton.lock" ]] ; then
print_warning "Found lock file: /tmp/portproton.lock"
......@@ -196,10 +186,11 @@ rm_lock_file () {
}
trap "rm_lock_file" EXIT
pw_download_libs
export PW_VULKANINFO_PORTABLE="$PW_PLUGINS_PATH/portable/bin/x86_64-linux-gnu-vulkaninfo"
export VULKAN_API_DRIVER_VERSION="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')"
export VULKAN_DRIVER_NAME="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep driverName | awk '{print$3}' | head -1)"
if check_flatpak
then try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
else pw_download_libs
fi
pw_init_db
. "${PORT_SCRIPTS_PATH}"/lang
pw_check_and_download_dxvk_and_vkd3d
......@@ -207,7 +198,7 @@ pw_check_and_download_dxvk_and_vkd3d
kill_portwine
killall -15 yad_v13_0 2>/dev/null
kill -TERM `pgrep -a yad | grep ${portname} | head -n 1 | awk '{print $1}'` 2>/dev/null
kill -TERM $(pgrep -a yad | grep PortProton | head -n 1 | awk '{print $1}') 2>/dev/null
if [[ -f "/usr/bin/portproton" ]] \
&& [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]]
......@@ -296,8 +287,7 @@ IFS=$IFS_OLD
export PW_ADD_PREFIXES_TO_GUI="${PW_PREFIX_NAME^^}${PW_ADD_PREFIXES_TO_GUI}"
PW_ALL_DIST=$(ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"${PW_WINE_LG_VER}$//g" | sed -e s/"${PW_PROTON_LG_VER}$//g")
if command -v wine &>/dev/null \
&& ! check_flatpak
if command -v wine &>/dev/null
then DIST_ADD_TO_GUI="!USE_SYSTEM_WINE"
else unset DIST_ADD_TO_GUI
fi
......@@ -358,7 +348,7 @@ if [[ -f "${portwine_exe}" ]] ; then
PW_SHORTCUT="${loc_gui_delete_shortcut}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${loc_delete_shortcut}:98"
fi
OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --form \
--title "${portname}-${install_ver} (${scripts_install_ver})" \
--title "PortProton-${install_ver} (${scripts_install_ver})" \
--image "${PW_ICON_FOR_YAD}" --separator=";" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
......@@ -496,7 +486,7 @@ else
"${pw_yad_v13_0}" --key=$KEY --notebook --expand \
--width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \
--auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--title "${portname}-${install_ver} (${scripts_install_ver})" \
--title "PortProton-${install_ver} (${scripts_install_ver})" \
--tab-pos=bottom \
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
......@@ -508,7 +498,7 @@ else
"${pw_yad_v13_0}" --key=$KEY --notebook --expand \
--width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \
--auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--title "${portname}-${install_ver} (${scripts_install_ver})" \
--title "PortProton-${install_ver} (${scripts_install_ver})" \
--tab-pos=bottom \
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
......
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2278
#SCRIPTS_NEXT_VERSION=2279
########################################################################
export PW_MANGOHUD="0"
export DEFAULT_MANGOHUD_CONFIG="arch,cpu_mhz,cpu_temp,engine_version,gamemode,gpu_core_clock,gpu_mem_clock,gpu_name,gpu_temp,ram,resolution,vkbasalt,vram,vulkan_driver,wine"
......
......@@ -8,7 +8,7 @@ export port_ver=1.5
########################################################################
cd "$(dirname "$(readlink -f "$0")")"
script_path="$(pwd)"
def_path="${HOME}/${portname}"
def_path="${HOME}/PortProton"
########################################################################
fatal () {
echo -e "\n${1}\n"
......@@ -16,12 +16,12 @@ fatal () {
}
########################################################################
if [ "$(id -u)" == "0" ] ; then
$yad_gui --error --text "\nDo not run ${portname} from the superuser!" 2>/dev/null
$yad_gui --error --text "\nDo not run PortProton from the superuser!" 2>/dev/null
fatal "Do not run the script from the superuser!"
fi
########################################################################
[ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share"
PP_CONFIG_FILE="${HOME}/.config/${portname}.conf"
PP_CONFIG_FILE="${HOME}/.config/PortProton.conf"
if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then
echo "${XDG_DATA_HOME}/PortWINE/PortProton" > "${PP_CONFIG_FILE}"
elif [ -f "${HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then
......@@ -31,7 +31,7 @@ fi
if [ "$script_path" == "/usr/bin" ] && [ -f "${PP_CONFIG_FILE}" ] ; then
export PORT_WINE_PATH="$(cat "${PP_CONFIG_FILE}" | head -n 1)"
if [ -f "${PORT_WINE_PATH}/data/scripts/start.sh" ] ; then
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver"
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/PortProton_ver"
/usr/bin/env bash "${PORT_WINE_PATH}/data/scripts/start.sh" "$@"
exit 0
else
......@@ -78,7 +78,7 @@ export INSTALLING_PORT=1
if [[ "${PW_USE_NS}" != "1" ]] ; then
case $PW_SET_LANG in
"Russian")
inst1=$($yad_gui --title "Install ${portname}" --text "Выберите путь для установки (обновления) ${portname},\nили оставьте его по умолчанию.\n\nВнимание:\nУстанавливать необходимо на файловую систему Linux (ext4, btrfs и прочие)." --list --radiolist --width=600 --height=200 \
inst1=$($yad_gui --title "Install PortProton" --text "Выберите путь для установки (обновления) PortProton,\nили оставьте его по умолчанию.\n\nВнимание:\nУстанавливать необходимо на файловую систему Linux (ext4, btrfs и прочие)." --list --radiolist --width=600 --height=200 \
--column="Выбор" --column "Путь:" \
TRUE "${def_path}" \
FALSE "Другой путь...")
......@@ -91,7 +91,7 @@ if [[ "${PW_USE_NS}" != "1" ]] ; then
D_PATH="$($yad_gui --file --directory --title="Выберите путь..." --width=800 --height=800)" ;;
esac ;;
"English")
inst1=$($yad_gui --title "Install ${portname}" --text "Select the installation path (update) port,\nor leave it in default." --list --radiolist --width=600 --height=200 \
inst1=$($yad_gui --title "Install PortProton" --text "Select the installation path (update) port,\nor leave it in default." --list --radiolist --width=600 --height=200 \
--column="Set..." --column "Path:" \
TRUE "${def_path}" \
FALSE "Other path...")
......@@ -105,16 +105,16 @@ if [[ "${PW_USE_NS}" != "1" ]] ; then
esac ;;
esac
[[ -z "${D_PATH}" ]] && fatal
echo "${D_PATH}" | grep -i "${portname}" 2>/dev/null || D_PATH="${D_PATH}/${portname}"
echo "${D_PATH}" | grep -i "PortProton" 2>/dev/null || D_PATH="${D_PATH}/PortProton"
case $PW_SET_LANG in
"Russian")
progress_bar() {
$yad_gui --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=500
$yad_gui --progress --title="Установка..." --text="Настройка PortProton" --pulsate --auto-close --auto-kill --width=500
} ;;
"English")
progress_bar() {
$yad_gui --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=500
$yad_gui --progress --title="Install..." --text="Install PortProton" --pulsate --auto-close --auto-kill --width=500
} ;;
esac
else
......@@ -133,10 +133,10 @@ else
fi
########################################################################
mkdir -p "${PORT_WINE_PATH}/data/tmp"
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver"
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/PortProton_ver"
case "${PW_SET_LANG}" in
"Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
"English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
"Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/PortProton_loc" ;;
"English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/PortProton_loc" ;;
esac
########################################################################
if [[ "${PW_USE_NS}" != "1" ]] ; then
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment