Commit 1280cb9a authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2262

parent cc3fdaf8
...@@ -2,6 +2,17 @@ You can help us in the development of the project on the website: https://linux- ...@@ -2,6 +2,17 @@ You can help us in the development of the project on the website: https://linux-
---------------------------------------- ----------------------------------------
Changelog: Changelog:
###Scripts version 2262### Date: 14.03.2024 / Download update size: 230 megabytes
* added a warning when starting the second PortProton session
* added the ability to disable the container
* added the ability to use system WINE
* updated PROTON_LG to version 9-1
* updated versions:
DXVK_GIT "2.3-90"
VKD3D_GIT "1.1-3954"
* fixed installation of libraries from the prefix manager on openSUSE OS (thanks to Boria138)
* a separate version of PROTON is no longer required for Black Desert Online
###Scripts version 2261### Date: 07.03.2024 / Download update size: 15 megabytes ###Scripts version 2261### Date: 07.03.2024 / Download update size: 15 megabytes
* HOTFIX - use settings from Black Desert Online launcher * HOTFIX - use settings from Black Desert Online launcher
......
...@@ -2,10 +2,15 @@ ...@@ -2,10 +2,15 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2262### Дата: 14.03.2024 / Размер скачиваемого обновления: 230 мегабайт
* добавлено предупреждение при запуске второй сессии PortProton
* добавлена возможность отключения контейнера
* добавлена возможность использования системного WINE
* обновлен PROTON_LG до версии 9-1 * обновлен PROTON_LG до версии 9-1
* обновлены версии: * обновлены версии:
DXVK_GIT "2.3-90" DXVK_GIT "2.3-90"
VKD3D_GIT "1.1-3954" VKD3D_GIT "1.1-3954"
* исправлена установка библиотек из префикс менеджера на ОС "OpenSUSE" (спасибо Boria138)
* для Black Desert Online более не требуется отдельной версии PROTON * для Black Desert Online более не требуется отдельной версии PROTON
###Scripts version 2261### Дата: 07.03.2024 / Размер скачиваемого обновления: 15 мегабайт ###Scripts version 2261### Дата: 07.03.2024 / Размер скачиваемого обновления: 15 мегабайт
......
...@@ -411,7 +411,16 @@ check_user_conf () { ...@@ -411,7 +411,16 @@ check_user_conf () {
} }
init_wine_ver () { init_wine_ver () {
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then if [[ "${PW_WINE_USE}" == "USE_SYSTEM_WINE" ]] \
&& command -v wine &>/dev/null ; 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_USE_RUNTIME=0
export PW_NO_FSYNC=1
else
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
orig_IFS="$IFS" orig_IFS="$IFS"
IFS=$'\n' IFS=$'\n'
for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist/") ; do for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist/") ; do
...@@ -421,93 +430,113 @@ init_wine_ver () { ...@@ -421,93 +430,113 @@ init_wine_ver () {
fi fi
done done
IFS="$orig_IFS" IFS="$orig_IFS"
fi
if [[ -z `ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}"` ]] ; then
if [[ "$PW_WINE_USE" =~ PROTON_LG* ]]
then export PW_WINE_USE=PROTON_LG
else export PW_WINE_USE=WINE_LG
fi fi
fi if [[ -z `ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}"` ]] ; then
if [[ "$PW_WINE_USE" == PROTON_LG ]] if [[ "$PW_WINE_USE" =~ PROTON_LG* ]]
then export PW_WINE_USE="${PW_PROTON_LG_VER}" then export PW_WINE_USE=PROTON_LG
elif [[ "$PW_WINE_USE" == WINE_LG ]] else export PW_WINE_USE=WINE_LG
then export PW_WINE_USE="${PW_WINE_LG_VER}" fi
fi fi
[ ! -z "${PW_WINE_VER}" ] && export PW_WINE_USE=`echo "${PW_WINE_VER}" | tr [[:lower:]] [[:upper:]]` if [[ "$PW_WINE_USE" == PROTON_LG ]]
[ ! -z "${PW_WINE_USE}" ] && export PW_WINE_USE=`echo "${PW_WINE_USE}" | tr [[:lower:]] [[:upper:]]` then export PW_WINE_USE="${PW_PROTON_LG_VER}"
unset PW_WINE_VER elif [[ "$PW_WINE_USE" == WINE_LG ]]
export WINEDIR="${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" then export PW_WINE_USE="${PW_WINE_LG_VER}"
export WINE="${WINEDIR}/bin/wine" fi
export WINELOADER="${WINEDIR}/bin/wine" [ ! -z "${PW_WINE_VER}" ] && export PW_WINE_USE=`echo "${PW_WINE_VER}" | tr [[:lower:]] [[:upper:]]`
export WINESERVER="${WINEDIR}/bin/wineserver" [ ! -z "${PW_WINE_USE}" ] && export PW_WINE_USE=`echo "${PW_WINE_USE}" | tr [[:lower:]] [[:upper:]]`
unset PW_WINE_VER
export WINEDIR="${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
export WINE="${WINEDIR}/bin/wine"
export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver"
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
mv -f "${WINEDIR}/files"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/files"
elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g"` ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
mv -f "${WINEDIR}/dist"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/dist"
elif [ -f "${WINEDIR}/proton_dist.tar" ] ; then
unpack_tar "${WINEDIR}/proton_dist.tar" "${WINEDIR}/"
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^bin$//g" | sed -e "s/^lib$//g" | sed -e "s/^lib64$//g" | sed -e "s/^share$//g" | sed -e "s/^version$//g"` ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
fi
if [[ -d "${WINEDIR}" ]] ; then
[[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" if [[ ! -d "${WINEDIR}/lib64/" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
if [[ -d "${PATH_TO_GAME}" ]] ; then create_new_dir "${WINEDIR}/lib64/wine"
export WINEDLLPATH+=":${PATH_TO_GAME}" mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
fi mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
fi
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then for mono_gecko_chk in "mono" "gecko" ; do
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then
rm -fr "${WINEDIR}/$clear_dist_files" print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK."
done elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
mv -f "${WINEDIR}/files"/* "${WINEDIR}/" pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/loading_${update_loc}.gif"
rm -fr "${WINEDIR}/files" try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}"
elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g"` ; do try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
rm -fr "${WINEDIR}/$clear_dist_files" print_info "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
done pw_stop_progress_bar_cover_block
mv -f "${WINEDIR}/dist"/* "${WINEDIR}/" else
rm -fr "${WINEDIR}/dist" try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
elif [ -f "${WINEDIR}/proton_dist.tar" ] ; then try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine
unpack_tar "${WINEDIR}/proton_dist.tar" "${WINEDIR}/" print_warning "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^bin$//g" | sed -e "s/^lib$//g" | sed -e "s/^lib64$//g" | sed -e "s/^share$//g" | sed -e "s/^version$//g"` ; do fi
rm -fr "${WINEDIR}/$clear_dist_files" done
done
fi
if [[ -d "${WINEDIR}" ]] ; then
[[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
if [[ ! -d "${WINEDIR}/lib64/" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf" &> /dev/null
create_new_dir "${WINEDIR}/lib64/wine" if [[ "$?" != "0" ]] ; then
mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/" echo 'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/" echo 'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf"
sed -i '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf"
sed -i '/winemenubuilder/d' "${WINEDIR}/share/wine/wine.inf"
fi
fi fi
for mono_gecko_chk in "mono" "gecko" ; do rm -f "${WINEDIR}"/lib*/*steam* &>/dev/null
if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then rm -f "${WINEDIR}"/lib*/wine/*/*steam* &>/dev/null
print_info "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK." rm -f "${WINEDIR}"/lib*/wine/*-windows/winemenubuilder.exe &>/dev/null
elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then
pw_start_progress_bar_cover_block "${PW_GUI_ICON_PATH}/covers/loading_${update_loc}.gif"
try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}"
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/
print_info "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK."
pw_stop_progress_bar_cover_block
else
try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}"
try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine
print_warning "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK."
fi
done
grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf" &> /dev/null export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
if [[ "$?" != "0" ]] ; then if [[ -d "${PATH_TO_GAME}" ]] ; then
echo 'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf" export WINEDLLPATH+=":${PATH_TO_GAME}"
echo 'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf"
sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf"
sed -i '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf"
sed -i '/winemenubuilder/d' "${WINEDIR}/share/wine/wine.inf"
fi fi
fi fi
rm -f "${WINEDIR}"/lib*/*steam* &>/dev/null
rm -f "${WINEDIR}"/lib*/wine/*/*steam* &>/dev/null if [ "${PW_USE_GSTREAMER}" = 1 ] ; then
rm -f "${WINEDIR}"/lib*/wine/*-windows/winemenubuilder.exe &>/dev/null if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; 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/
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"/gstreamer_tmp/
export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/gstreamer_tmp/audio.foz
export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/gstreamer_tmp/transcoded_audio.foz
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="
fi
return 0 return 0
} }
pw_init_runtime () { pw_init_runtime () {
if [[ "$PW_USE_RUNTIME" != 1 ]] ; then
export pw_runtime=""
return 0
fi
if grep -i -E '(ROSA|RED OS)' "/etc/os-release" &>/dev/null ; then if grep -i -E '(ROSA|RED OS)' "/etc/os-release" &>/dev/null ; then
export LOCPATH="/run/host/usr/share/locale/" export LOCPATH="/run/host/usr/share/locale/"
...@@ -516,7 +545,15 @@ pw_init_runtime () { ...@@ -516,7 +545,15 @@ pw_init_runtime () {
fi fi
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib" 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:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
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:\
${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:\
/overrides/lib/x86_64-linux-gnu:\
/overrides/lib/i386-linux-gnu"
if [ ! -z ${PATH_TMP} ] if [ ! -z ${PATH_TMP} ]
then export PATH="${PATH_TMP}" then export PATH="${PATH_TMP}"
...@@ -527,20 +564,6 @@ pw_init_runtime () { ...@@ -527,20 +564,6 @@ pw_init_runtime () {
else export PATH="${WINEDIR}/bin:${PW_PLUGINS_PATH}/portable/bin" else export PATH="${WINEDIR}/bin:${PW_PLUGINS_PATH}/portable/bin"
fi fi
if [ "${PW_USE_GSTREAMER}" = 1 ] ; then
if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
fi
create_new_dir "${WINEDIR}"/gstreamer_tmp/
export WINE_GST_REGISTRY_DIR="${WINEDIR}"/gstreamer_tmp/
export MEDIACONV_AUDIO_DUMP_FILE="${WINEDIR}"/gstreamer_tmp/audio.foz
export MEDIACONV_AUDIO_TRANSCODED_FILE="${WINEDIR}"/gstreamer_tmp/transcoded_audio.foz
export MEDIACONV_VIDEO_DUMP_FILE="${WINEDIR}"/gstreamer_tmp/video.foz
export MEDIACONV_VIDEO_TRANSCODED_FILE="${WINEDIR}"/gstreamer_tmp/transcoded_video.foz
else
var_winedlloverride_update "winegstreamer="
fi
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]] ; then if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]] ; then
export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \
--unshare-home \ --unshare-home \
...@@ -593,7 +616,9 @@ pw_init_runtime () { ...@@ -593,7 +616,9 @@ pw_init_runtime () {
} }
pw_mangohud_check () { pw_mangohud_check () {
if [[ "${PW_MANGOHUD}" == "1" ]] && ! check_gamescope_session ; then if [[ "${PW_MANGOHUD}" == "1" ]] \
&& ! check_gamescope_session
then
export PW_MANGOHUD_SLR='MANGOHUD=1' export PW_MANGOHUD_SLR='MANGOHUD=1'
MANGOHUD_LIB_NAME="libMangoHud.so" MANGOHUD_LIB_NAME="libMangoHud.so"
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
...@@ -614,11 +639,13 @@ pw_mangohud_check () { ...@@ -614,11 +639,13 @@ pw_mangohud_check () {
pw_vkbasalt_check () { pw_vkbasalt_check () {
if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
if ! grep "/pressure-vessel/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null
then sed -ri "s|= .*/reshade|= \"${PW_WINELIB}\"/pressure-vessel/reshade|g" "${VKBASALT_CONFIG_FILE}"
fi
if [[ ! -z "${PW_VKBASALT_EFFECTS}" ]] && [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then if [[ ! -z "${PW_VKBASALT_EFFECTS}" ]] && [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}" 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}" sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${VKBASALT_CONFIG_FILE}"
sed -ri "s|= .*/reshade|= \"${PW_WINELIB}\"/pressure-vessel/reshade|g" "${VKBASALT_CONFIG_FILE}"
fi fi
var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32" var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32"
print_info "vkBasalt is enabled" print_info "vkBasalt is enabled"
...@@ -655,6 +682,7 @@ wait_wineserver () { ...@@ -655,6 +682,7 @@ 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 ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do
sleep 1 sleep 1
done done
"$WINESERVER" -w
return 0 return 0
} }
export -f wait_wineserver export -f wait_wineserver
...@@ -686,9 +714,10 @@ pw_kill_autostart () { ...@@ -686,9 +714,10 @@ pw_kill_autostart () {
else SWAIT="${2}" else SWAIT="${2}"
fi fi
sleep 5 sleep 5
while true ; do 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`" ]] ; then 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`" ]]
then
echo -e "PID "$1" not found" echo -e "PID "$1" not found"
sleep "${SWAIT}" sleep "${SWAIT}"
else else
...@@ -700,7 +729,7 @@ pw_kill_autostart () { ...@@ -700,7 +729,7 @@ pw_kill_autostart () {
break break
fi fi
done 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 rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp
fi fi
......
...@@ -128,6 +128,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then ...@@ -128,6 +128,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_dll_new_pfx="Установить рекомендованные библиотеки в новый префикс: " export loc_gui_dll_new_pfx="Установить рекомендованные библиотеки в новый префикс: "
export loc_gui_portproton_lock='Завершите предыдущую сессию PortProton перед запуском новой,\nили воспользуйтесь ПКМ на значке в трее -> Завершить работу PortProton.'
export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)' export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)'
export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)' export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)'
export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)' export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)'
...@@ -280,8 +282,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then ...@@ -280,8 +282,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export PW_MH_wine_INFO='Показать используемую версию Wine или Proton' export PW_MH_wine_INFO='Показать используемую версию Wine или Proton'
export PW_PFX_BACKUP_INFO="Внимание! Не передавайте резевную копию третьим лицам, есть риск потери аккаунтов" export PW_PFX_BACKUP_INFO="Внимание! Не передавайте резевную копию третьим лицам, есть риск потери аккаунтов"
export PW_PFX_BACKUP_SUCCESS="Резервная копия префикса: \"${PW_PREFIX_NAME}\" успешно создана" export PW_PFX_BACKUP_SUCCESS="Успешно создана резервная копия префикса:"
export PW_PFX_BACKUP_ERROR="Во время создания резервной копии префикса: \"${PW_PREFIX_NAME}\" произошла ошибка" export PW_PFX_BACKUP_ERROR="Произошла ошибка во время создания резервной копии префикса:"
export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>" export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>"
...@@ -537,6 +539,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then ...@@ -537,6 +539,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_dll_new_pfx="Do you want to installing recommended libraries in the new prefix: " export loc_gui_dll_new_pfx="Do you want to installing recommended libraries in the new prefix: "
export loc_gui_portproton_lock='End the previous PortProton session before starting a new one,\nor use the RMB on the tray icon -> Shut down PortProton.'
export ENABLE_VKBASALT_INFO='Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)' 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_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)' 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)'
...@@ -689,8 +693,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then ...@@ -689,8 +693,8 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export PW_MH_wine_INFO='Show current Wine or Proton version in use' export PW_MH_wine_INFO='Show current Wine or Proton version in use'
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_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_SUCCESS="Backup has been successfully created for prefix:"
export PW_PFX_BACKUP_ERROR="An error occurred while backing up the prefix: \"${PW_PREFIX_NAME}\" error occurred" export PW_PFX_BACKUP_ERROR="An error occurred while backing up the prefix:"
export loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: </Sb>d3dadapter9</b>" export loc_find_d3dadapter9_error="Not found in the system.\nInstall the missing package: </Sb>d3dadapter9</b>"
......
...@@ -50,10 +50,12 @@ start_portwine () { ...@@ -50,10 +50,12 @@ start_portwine () {
var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}" var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}"
pw_list_install_dll_in_prefix pw_list_install_dll_in_prefix
pw_check_and_download_wine "${PW_WINE_USE}" if [[ "${PW_WINE_USE}" != "USE_SYSTEM_WINE" ]]
then pw_check_and_download_wine "${PW_WINE_USE}"
fi
init_wine_ver init_wine_ver
pw_init_runtime pw_init_runtime
check_variables VKD3D_DEBUG none check_variables VKD3D_DEBUG none
check_variables DXVK_LOG_LEVEL none check_variables DXVK_LOG_LEVEL none
check_variables VK_LOADER_DEBUG none check_variables VK_LOADER_DEBUG none
...@@ -330,7 +332,7 @@ start_portwine () { ...@@ -330,7 +332,7 @@ start_portwine () {
PW_GAMEMODERUN_SLR="gamemoderun" PW_GAMEMODERUN_SLR="gamemoderun"
systemctl enable --now --user gamemoded &>/dev/null systemctl enable --now --user gamemoded &>/dev/null
print_info "Gamemod will be launched." print_info "Gamemod will be launched."
else elif [[ "$PW_USE_RUNTIME" == 1 ]] ; then
export GAMEMODERUN=1 export GAMEMODERUN=1
if ! pidof gamemoded &>/dev/null ; then if ! pidof gamemoded &>/dev/null ; then
GAMEMODEAUTO_NAME="libgamemodeauto.so.0" GAMEMODEAUTO_NAME="libgamemodeauto.so.0"
...@@ -345,6 +347,9 @@ start_portwine () { ...@@ -345,6 +347,9 @@ start_portwine () {
print_info "Gamemod will be launched." print_info "Gamemod will be launched."
sleep 0.1 sleep 0.1
fi fi
else
export GAMEMODERUN=0
export PW_GAMEMODERUN_SLR=""
fi fi
else else
export GAMEMODERUN=0 export GAMEMODERUN=0
...@@ -654,6 +659,9 @@ start_portwine () { ...@@ -654,6 +659,9 @@ start_portwine () {
gsettings set org.cinnamon.muffin unredirect-fullscreen-windows true gsettings set org.cinnamon.muffin unredirect-fullscreen-windows true
fi fi
fi fi
pw_mangohud_check
pw_vkbasalt_check
} }
pw_run () { pw_run () {
...@@ -666,55 +674,88 @@ pw_run () { ...@@ -666,55 +674,88 @@ pw_run () {
else else
cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c" cd "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c"
fi fi
pw_mangohud_check
pw_vkbasalt_check
PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log"
print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME" 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 "VULKAN_API_DRIVER_VERSION" "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2"
print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH"
kill -s SIGUSR1 "$PW_YAD_PID_PFX_COVER_UI" &>/dev/null kill -s SIGUSR1 "$PW_YAD_PID_PFX_COVER_UI" &>/dev/null
if [[ "${PW_LOG}" == 1 ]] ; then if [[ "$PW_USE_RUNTIME" == 1 ]] ; then
if check_start_from_steam ; then if [[ "${PW_LOG}" == 1 ]] ; 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 \ if check_start_from_steam ; then
VKD3D_CONFIG WINEESYNC WINEFSYNC WINEFSYNC_FUTEX2 WINE_CPU_TOPOLOGY DESKTOP_SESSION for VAR_LOGGER in PW_WINE_USE WINEDIR WINEDLLPATH WINEPREFIX PATH_TO_GAME PW_VULKAN_USE PW_LD_LIBRARY_PATH LD_LIBRARY_PATH PATH \
do VKD3D_CONFIG WINEESYNC WINEFSYNC WINEFSYNC_FUTEX2 WINE_CPU_TOPOLOGY DESKTOP_SESSION
echo "${VAR_LOGGER}=${!VAR_LOGGER}" >> "${PW_LOG_TO_FILE}" do
done echo "${VAR_LOGGER}=${!VAR_LOGGER}" >> "${PW_LOG_TO_FILE}"
done
fi
echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}"
echo "------------------------------------" >> "${PW_LOG_TO_FILE}"
echo "Log WINE:" >> "${PW_LOG_TO_FILE}"
echo ""
print_info "Log from RUNTIME and WINE:"
${PW_RUN_GAMESCOPE} \
${pw_runtime} \
env PATH="${PATH}" \
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_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
else
if [[ "$PW_USE_TERMINAL" == 1 ]] \
&& [[ "$PW_USE_RUNTIME" == 1 ]]
then
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime
fi
echo ""
echo "Log WINE:" > "${PW_LOG_TO_FILE}"
print_info "Log from RUNTIME and WINE:"
${PW_RUN_GAMESCOPE} \
${pw_runtime} \
env PATH="${PATH}" \
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_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
cat "${PW_LOG_TO_FILE}"
fi fi
echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}"
echo "------------------------------------" >> "${PW_LOG_TO_FILE}"
echo "Log WINE:" >> "${PW_LOG_TO_FILE}"
echo ""
print_info "Log from RUNTIME and WINE:"
${PW_RUN_GAMESCOPE} \
${pw_runtime} \
env PATH="${PATH}" \
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_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
else else
if [[ "${PW_USE_TERMINAL}" == "1" ]] ; then if [[ "${PW_LOG}" == 1 ]] ; then
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" if check_start_from_steam ; then
pw_init_runtime 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}"
echo "Log WINE:" >> "${PW_LOG_TO_FILE}"
echo ""
print_info "Log WINE:"
env \
${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
wait_wineserver
else
echo ""
echo "Log WINE:" > "${PW_LOG_TO_FILE}"
print_info "Log WINE:"
env \
${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]}
wait_wineserver
# ${PW_RUN_GAMESCOPE} \ !!!
fi fi
echo ""
echo "Log WINE:" > "${PW_LOG_TO_FILE}"
print_info "Log from RUNTIME and WINE:"
${PW_RUN_GAMESCOPE} \
${pw_runtime} \
env PATH="${PATH}" \
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_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
cat "${PW_LOG_TO_FILE}"
fi fi
} }
export -f pw_run export -f pw_run
...@@ -824,6 +865,17 @@ check_user_conf ...@@ -824,6 +865,17 @@ check_user_conf
check_variables PW_LOG "0" check_variables PW_LOG "0"
if [[ -z "${INSTALLING_PORT}" ]] ; then if [[ -z "${INSTALLING_PORT}" ]] ; then
if [[ -f "$HOME/.config/.portproton.lock" ]] ; then
yad_info "$loc_gui_portproton_lock"
exit 0
fi
touch "$HOME/.config/.portproton.lock"
rm_lock_file () {
echo "Removing the lock file..."
rm "$HOME/.config/.portproton.lock" && echo "OK"
}
trap "rm_lock_file" EXIT
. "${USER_CONF}" . "${USER_CONF}"
if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
pw_port_update pw_port_update
......
#!/usr/bin/env bash #!/usr/bin/env bash
# Author: linux-gaming.ru # Author: linux-gaming.ru
export PW_START_PID="$$"
export NO_AT_BRIDGE=1 export NO_AT_BRIDGE=1
export pw_full_command_line=("$0" $*) export pw_full_command_line=("$0" $*)
export YAD_BORDERS=5 export YAD_BORDERS=5
...@@ -62,7 +63,7 @@ if [[ ! -z $(basename "${portwine_exe}" | grep .ppack) ]] ; then ...@@ -62,7 +63,7 @@ if [[ ! -z $(basename "${portwine_exe}" | grep .ppack) ]] ; then
unset PW_SANDBOX_HOME_PATH unset PW_SANDBOX_HOME_PATH
pw_init_runtime pw_init_runtime
export PW_PREFIX_NAME=$(basename "$1" | awk -F'.' '{print $1}') export PW_PREFIX_NAME=$(basename "$1" | awk -F'.' '{print $1}')
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" unsquashfs -f -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "$1" & ${pw_runtime} "${PW_PLUGINS_PATH}/portable/bin/xterm" -e env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" unsquashfs -f -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "$1" &
sleep 10 sleep 10
while true ; do while true ; do
if [[ ! -z $(pgrep -a xterm | grep ".ppack" | head -n 1 | awk '{print $1}') ]] ; then if [[ ! -z $(pgrep -a xterm | grep ".ppack" | head -n 1 | awk '{print $1}') ]] ; then
...@@ -378,10 +379,8 @@ pw_prefix_manager () { ...@@ -378,10 +379,8 @@ pw_prefix_manager () {
try_remove_file "${PORT_WINE_TMP_PATH}/to_winetricks" try_remove_file "${PORT_WINE_TMP_PATH}/to_winetricks"
if [[ ! -z ${SET_FROM_PFX_MANAGER} ]] ; then if [[ ! -z ${SET_FROM_PFX_MANAGER} ]] ; then
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" ${pw_runtime} "${PW_PLUGINS_PATH}/portable/bin/xterm" -e env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
pw_init_runtime "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER}
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
gui_prefix_manager gui_prefix_manager
else else
print_info "Nothing to do. Restarting PortProton..." print_info "Nothing to do. Restarting PortProton..."
...@@ -423,7 +422,6 @@ pw_winetricks () { ...@@ -423,7 +422,6 @@ pw_winetricks () {
pw_start_cont_xterm () { pw_start_cont_xterm () {
cd "$HOME" cd "$HOME"
unset PW_SANDBOX_HOME_PATH unset PW_SANDBOX_HOME_PATH
# export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime pw_init_runtime
${pw_runtime} \ ${pw_runtime} \
env PATH="${PATH}" \ env PATH="${PATH}" \
...@@ -467,13 +465,13 @@ pw_create_prefix_backup () { ...@@ -467,13 +465,13 @@ pw_create_prefix_backup () {
done done
if [[ -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" ]] ; then 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" mv -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack"
yad_info "$PW_PFX_BACKUP_SUCCESS" yad_info "$PW_PFX_BACKUP_SUCCESS $PW_PREFIX_NAME"
if [[ ! -f "${PORT_WINE_TMP_PATH}/pfx_backup_info" ]] ; then if [[ ! -f "${PORT_WINE_TMP_PATH}/pfx_backup_info" ]] ; then
yad_info "$PW_PFX_BACKUP_INFO" yad_info "$PW_PFX_BACKUP_INFO"
echo "1" > "${PORT_WINE_TMP_PATH}/pfx_backup_info" echo "1" > "${PORT_WINE_TMP_PATH}/pfx_backup_info"
fi fi
else else
yad_error "$PW_PFX_BACKUP_ERROR" yad_error "$PW_PFX_BACKUP_ERROR $PW_PREFIX_NAME"
fi fi
return 0 return 0
...@@ -483,17 +481,17 @@ pw_edit_db () { ...@@ -483,17 +481,17 @@ pw_edit_db () {
if [[ "${XDG_SESSION_TYPE}" == "wayland" ]] ; then if [[ "${XDG_SESSION_TYPE}" == "wayland" ]] ; then
pw_gui_for_edit_db \ pw_gui_for_edit_db \
PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \ PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \
PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \ PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP \
PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY \ PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY \
PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \ PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS \
PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME
else else
pw_gui_for_edit_db \ pw_gui_for_edit_db \
PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \ PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \
PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \ PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP \
PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME \ PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY\
PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE \ PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE \
PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME
fi fi
if [[ "$?" == 0 ]] ; then if [[ "$?" == 0 ]] ; then
print_info "Restarting PP after update ppdb file..." print_info "Restarting PP after update ppdb file..."
...@@ -535,7 +533,7 @@ case "${1}" in ...@@ -535,7 +533,7 @@ case "${1}" in
'--help' ) '--help' )
files_from_autoinstall=$(ls "${PORT_SCRIPTS_PATH}/pw_autoinstall") files_from_autoinstall=$(ls "${PORT_SCRIPTS_PATH}/pw_autoinstall")
echo -e " echo -e "
usege: [--reinstall] [--autoinstall] use: [--reinstall] [--autoinstall]
--reinstall reinstall files of the portproton to default settings --reinstall reinstall files of the portproton to default settings
--autoinstall [script_frome_pw_autoinstall] autoinstall from the list below: --autoinstall [script_frome_pw_autoinstall] autoinstall from the list below:
...@@ -573,7 +571,10 @@ IFS=$IFS_OLD ...@@ -573,7 +571,10 @@ IFS=$IFS_OLD
export PW_ADD_PREFIXES_TO_GUI="${PW_PREFIX_NAME^^}${PW_ADD_PREFIXES_TO_GUI}" 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") 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")
unset DIST_ADD_TO_GUI if command -v wine &>/dev/null
then DIST_ADD_TO_GUI="!USE_SYSTEM_WINE"
else unset DIST_ADD_TO_GUI
fi
for DAIG in ${PW_ALL_DIST} for DAIG in ${PW_ALL_DIST}
do do
export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}" export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}"
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2261 #SCRIPTS_NEXT_VERSION=2262
######################################################################## ########################################################################
export PW_MANGOHUD="0" export PW_MANGOHUD="0"
export DEFAULT_MANGOHUD_CONFIG="cpu_stats,cpu_temp,cpu_mhz,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,vram,ram,frame_timing=1,time,arch,wine,toggle_hud=Shift_R+F12,resolution,vkbasalt,gamemode" export DEFAULT_MANGOHUD_CONFIG="cpu_stats,cpu_temp,cpu_mhz,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,vram,ram,frame_timing=1,time,arch,wine,toggle_hud=Shift_R+F12,resolution,vkbasalt,gamemode"
...@@ -8,6 +8,7 @@ export PW_VKBASALT_EFFECTS="Curves:cas" ...@@ -8,6 +8,7 @@ export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.66" export PW_VKBASALT_FFX_CAS="0.66"
export ENABLE_VKBASALT=1 export ENABLE_VKBASALT=1
export GAMESCOPE_ARGS="-F fsr" export GAMESCOPE_ARGS="-F fsr"
export PW_USE_RUNTIME="1"
export PW_RT_MOUNT_RO=("") export PW_RT_MOUNT_RO=("")
export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}") export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}" #export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
......
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