Commit c68e6879 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2093

parent a74978b8
...@@ -2,6 +2,13 @@ You can help us in the development of the project on the website: https://boosty ...@@ -2,6 +2,13 @@ You can help us in the development of the project on the website: https://boosty
----------------------------------------- -----------------------------------------
Changelog: Changelog:
###Scripts version 2093###
* updated "PROTON_STEAM" to version 7.0-1B
* updated "PROTON_GE" to version 7-10
* implemented prefix backups (WINE SETTINGS -> CREATE PFX BACKUP)
* temporarily restore copies using RMB to *.ppack (backup image) and open with... PortProton
* implemented full support for Rosa Linux (the installer is in the repositories)
###Scripts version 2092### ###Scripts version 2092###
* added separation of WINE and PORTPROTON settings in the main interface * added separation of WINE and PORTPROTON settings in the main interface
* added quick creation of backup copies of assembly scripts before updating them (SCRIPTS FROM BACKUP in the PORTPROTON SETTINGS tab) * added quick creation of backup copies of assembly scripts before updating them (SCRIPTS FROM BACKUP in the PORTPROTON SETTINGS tab)
......
...@@ -2,6 +2,13 @@ ...@@ -2,6 +2,13 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2093###
* обновлен "PROTON_STEAM" до версии 7.0-1B
* обновлен "PROTON_GE" до версии 7-10
* реализовано создание резервных копий префиксов (WINE SETTINGS -> CREATE PFX BACKUP)
* времено востановление копий производится с помощью ПКМ на *.ppack (образ бэкапа) и открыть с помощью... PortProton
* реализованна полная поддержка Rosa Linux (установщик есть в офф. репозиториях)
###Scripts version 2092### ###Scripts version 2092###
* добавлено разделение настроек WINE и PORTPROTON в основном интерфейсе * добавлено разделение настроек WINE и PORTPROTON в основном интерфейсе
* добавлено автоматическое создание резервных копий установленных скриптов, перед их обновлением (востановление копий реализовано в SCRIPTS FROM BACKUP во вкладке PORTPROTON SETTINGS) * добавлено автоматическое создание резервных копий установленных скриптов, перед их обновлением (востановление копий реализовано в SCRIPTS FROM BACKUP во вкладке PORTPROTON SETTINGS)
......
#!/bin/env bash #!/usr/bin/env bash
# Author: Castro-Fidel (PortWINE-Linux.ru) # Author: Castro-Fidel (PortWINE-Linux.ru)
######################################################################## ########################################################################
pw_ping_test () { pw_ping_test () {
...@@ -292,7 +292,11 @@ init_wine_ver () { ...@@ -292,7 +292,11 @@ init_wine_ver () {
export WINE="${WINEDIR}/bin/wine" export WINE="${WINEDIR}/bin/wine"
export WINELOADER="${WINEDIR}/bin/wine" export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver" export WINESERVER="${WINEDIR}/bin/wineserver"
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" if [[ -z "${PATH_TO_GAME}" ]] ; then
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
else
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine:${PATH_TO_GAME}"
fi
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
chmod -R 755 "${WINEDIR}" chmod -R 755 "${WINEDIR}"
...@@ -348,6 +352,98 @@ init_wine_ver () { ...@@ -348,6 +352,98 @@ init_wine_ver () {
return 0 return 0
} }
pw_init_runtime () {
if [[ ! -z "`cat /etc/*-release | grep -i opensuse`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i centos`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i rosa`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i fedora`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i gentoo`" ]] ; then
if check_symlink "${PW_WINELIB}/portable/lib/lib64" ; then
rm -fr "${PW_WINELIB}/portable/lib/lib64"
fi
if [[ ! -d "${PW_WINELIB}/portable/lib/lib64" ]] ; then
mv -f "${PW_WINELIB}/portable/lib/lib" "${PW_WINELIB}/portable/lib/lib64"
fi
if [[ ! -d "${PW_WINELIB}/portable/lib/lib" ]] ; then
mv -f "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib"
fi
fi
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then
if [[ -z "`echo ${PW_LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:${LD_LIBRARY_PATH}"
fi
else
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
fi
if [[ ! -z "${VK_LAYER_PATH}" ]]
then export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/:${VK_LAYER_PATH}"
else export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/"
fi
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_WINELIB}/portable/bin"
else export PATH="${WINEDIR}/bin:${PW_WINELIB}/portable/bin"
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
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz
export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz
else
var_winedlloverride_update "winegstreamer="
fi
# export STAGING_SHARED_MEMORY=1
# export PW_FORCE_LARGE_ADDRESS_AWARE=1
if [ "${PW_USE_RUNTIME}" = 0 ] ; then
export pw_runtime=""
if [ "${PW_MANGOHUD}" = 1 ] ; then
[ -z `which mangohud` ] && export PW_MANGOHUD=0
fi
echo "RUNTIME is disabled"
else
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then
export pw_runtime="${PW_WINELIB}/run \
--unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else
export pw_runtime="${PW_WINELIB}/run \
--share-home \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
fi
# export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/runtime"
export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=1
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1
export PRESSURE_VESSEL_GC_RUNTIMES=0
export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
fi
done
for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi
done
echo "RUNTIME is enabled"
fi
}
check_vk_icd_file () { check_vk_icd_file () {
if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json" export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
......
#!/bin/env bash #!/usr/bin/env bash
# Author: PortWINE-Linux.ru # Author: PortWINE-Linux.ru
read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc" read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc"
......
#!/bin/env bash #!/usr/bin/env bash
# Author: Castro-Fidel (PortWINE-Linux.ru) # Author: Castro-Fidel (PortWINE-Linux.ru)
# Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus # Development assistants: Cefeiko; Dezert1r; Taz_mania; Anton_Famillianov; gavr; RidBowt; chal55rus; UserDiscord
######################################################################## ########################################################################
echo ' echo '
████─████─████─███─█───█─███─█──█─███ ████─████─████─███─█───█─███─█──█─███
...@@ -32,7 +32,6 @@ start_portwine () { ...@@ -32,7 +32,6 @@ start_portwine () {
sed -i '/Steam.exe/d' "${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 '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf"
if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e" if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e"
# elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /usr/bin/env bash" ???
elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e" elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e"
elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}" elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}"
else export PW_TERM="${PW_XTERM}" else export PW_TERM="${PW_XTERM}"
...@@ -43,96 +42,7 @@ start_portwine () { ...@@ -43,96 +42,7 @@ start_portwine () {
fi fi
pw_update_pfx_cover_gui pw_update_pfx_cover_gui
pw_init_runtime
if [[ ! -z "`cat /etc/*-release | grep -i opensuse`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i centos`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i fedora`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i gentoo`" ]] ; then
if check_symlink "${PW_WINELIB}/portable/lib/lib64" ; then
rm -fr "${PW_WINELIB}/portable/lib/lib64"
fi
if [[ ! -d "${PW_WINELIB}/portable/lib/lib64" ]] ; then
mv -f "${PW_WINELIB}/portable/lib/lib" "${PW_WINELIB}/portable/lib/lib64"
fi
if [[ ! -d "${PW_WINELIB}/portable/lib/lib" ]] ; then
mv -f "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib"
fi
fi
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then
if [[ -z "`echo ${PW_LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:${LD_LIBRARY_PATH}"
fi
else
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
fi
if [[ ! -z "${VK_LAYER_PATH}" ]]
then export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/:${VK_LAYER_PATH}"
else export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/"
fi
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_WINELIB}/portable/bin"
else export PATH="${WINEDIR}/bin:${PW_WINELIB}/portable/bin"
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
export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}"
export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz
export MEDIACONV_AUDIO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_audio.foz
export MEDIACONV_VIDEO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/video.foz
export MEDIACONV_VIDEO_TRANSCODED_FILE="${PORT_WINE_TMP_PATH}"/transcoded_video.foz
else
var_winedlloverride_update "winegstreamer="
fi
# export STAGING_SHARED_MEMORY=1
# export PW_FORCE_LARGE_ADDRESS_AWARE=1
if [ "${PW_USE_RUNTIME}" = 0 ] ; then
export pw_runtime=""
if [ "${PW_MANGOHUD}" = 1 ] ; then
[ -z `which mangohud` ] && export PW_MANGOHUD=0
fi
echo "RUNTIME is disabled"
else
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then
export pw_runtime="${PW_WINELIB}/run \
--unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \
--"
else
export pw_runtime="${PW_WINELIB}/run \
--share-home \
--"
fi
# export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/runtime"
export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=1
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1
export PRESSURE_VESSEL_GC_RUNTIMES=0
export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
unset PRESSURE_VESSEL_FILESYSTEMS_RO
unset PRESSURE_VESSEL_FILESYSTEMS_RW
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
fi
done
for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi
done
echo "RUNTIME is enabled"
fi
if [[ ! -z "${PW_LOG}" && "${PW_LOG}" != 0 ]] ; then if [[ ! -z "${PW_LOG}" && "${PW_LOG}" != 0 ]] ; then
export WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg" export WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg"
...@@ -143,11 +53,12 @@ start_portwine () { ...@@ -143,11 +53,12 @@ start_portwine () {
export WINEDEBUG="-all" export WINEDEBUG="-all"
export DXVK_LOG_LEVEL="none" export DXVK_LOG_LEVEL="none"
export VKD3D_SHADER_DEBUG="none" export VKD3D_SHADER_DEBUG="none"
export VKD3D_FEATURE_LEVEL="12_0"
export VKD3D_DEBUG="none" export VKD3D_DEBUG="none"
export DXVK_LOG_PATH="none" export DXVK_LOG_PATH="none"
fi fi
export VKD3D_FEATURE_LEVEL="12_0"
#default wine-mono override for FNA games #default wine-mono override for FNA games
export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n" export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n"
...@@ -312,6 +223,9 @@ start_portwine () { ...@@ -312,6 +223,9 @@ start_portwine () {
then then
pw_clear_pfx pw_clear_pfx
check_dirs_and_files_in_pfx check_dirs_and_files_in_pfx
if [[ -d "${WINEDIR}/share/default_pfx/" ]] ; then
cp -frL "${WINEDIR}/share/default_pfx/"* "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"
fi
${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" ${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver && wait_wineserver &&
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
...@@ -335,7 +249,7 @@ start_portwine () { ...@@ -335,7 +249,7 @@ start_portwine () {
#enabled BattleEye_Runtime and EasyAntiCheat_Runtime #enabled BattleEye_Runtime and EasyAntiCheat_Runtime
export PROTON_BATTLEYE_RUNTIME="${PW_PLUGINS_PATH}/d3d_extras/BattlEye_Runtime" export PROTON_BATTLEYE_RUNTIME="${PW_PLUGINS_PATH}/d3d_extras/BattlEye_Runtime"
export PROTON_EAC_RUNTIME="${PW_PLUGINS_PATH}/d3d_extras/EasyAntiCheat_Runtime" export PROTON_EAC_RUNTIME="${PW_PLUGINS_PATH}/d3d_extras/EasyAntiCheat_Runtime"
var_winedlloverride_update "easyanticheat_x86,easyanticheat_x64,beclient,beclient_x64=b,n" var_winedlloverride_update "beclient,beclient_x64=b,n"
#try link d3d extras libs #try link d3d extras libs
for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \ for d3d_extras_from_plugins in d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 d3dcompiler_36 d3dcompiler_37 \
d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \ d3dcompiler_38 d3dcompiler_39 d3dcompiler_40 d3dcompiler_41 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 \
...@@ -455,20 +369,10 @@ start_portwine () { ...@@ -455,20 +369,10 @@ start_portwine () {
echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log" echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
chmod -R 775 "${HOME}/.cache/winetricks" chmod -R 775 "${HOME}/.cache/winetricks"
# if [ "${PW_WINE_VER}" != "${PW_PROTON_STEAM_VER}" ] ; then
# export PW_WINE_VER_FROM_DB="${PW_WINE_USE}"
# export PW_WINE_VER="${PW_PROTON_STEAM_VER}"
# init_wine_ver
# fi
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver wait_wineserver
kill_portwine kill_portwine
# if [ "${PW_WINE_VER_FROM_DB}" != "${PW_PROTON_STEAM_VER}" ] ; then
# export PW_SILENT_RESTART=1
# /usr/bin/env bash ${pw_full_command_line[*]} &
# exit 0
# fi
fi fi
fi fi
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] && [[ -z `cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" ]] && [[ -z `cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | grep "Windows $PW_WINDOWS_VER"` ]] ; then
...@@ -481,6 +385,10 @@ start_portwine () { ...@@ -481,6 +385,10 @@ start_portwine () {
kill_portwine kill_portwine
echo "Set to win${PW_WINDOWS_VER}" echo "Set to win${PW_WINDOWS_VER}"
fi fi
if [[ "${portwine_exe}" == *-Shipping.exe ]] ; then
echo "Disable EAC"
[[ -z "${LAUNCH_PARAMETERS}" ]] && export LAUNCH_PARAMETERS+="-eac-nop-loaded "
fi
pw_stop_progress_bar && pw_stop_progress_bar &&
pw_tray_icon && pw_tray_icon &&
if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then if [[ "${PW_CHECK_AUTOINSTAL}" != "1" ]] ; then
...@@ -524,11 +432,12 @@ pw_run () { ...@@ -524,11 +432,12 @@ pw_run () {
export -f pw_run export -f pw_run
###MAIN### ###MAIN###
if [ $(id -u) -eq 0 ] ; then if [[ $(id -u) -eq 0 ]] ; then
zenity_error "Do not run the script from the superuser!" zenity_error "Do not run the script from the superuser!"
exit 1 exit 1
fi fi
if [[ ! -z "${PW_SILENT_RESTART}" && "${PW_SILENT_RESTART}" = 1 ]] ; then create_new_dir "${HOME}/.local/share/applications"
if [[ ! -z "${PW_SILENT_RESTART}" ]] && [[ "${PW_SILENT_RESTART}" = 1 ]] ; then
export PW_GUI_DISABLED_CS=1 export PW_GUI_DISABLED_CS=1
unset PW_SILENT_RESTART unset PW_SILENT_RESTART
else else
...@@ -537,7 +446,7 @@ fi ...@@ -537,7 +446,7 @@ fi
unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD
unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB
unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME
unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME
export portname=PortProton export portname=PortProton
......
#!/bin/env bash #!/usr/bin/env bash
# Author: PortWINE-Linux.ru # Author: PortWINE-Linux.ru
. "$(dirname $(readlink -f "$0"))/runlib" . "$(dirname $(readlink -f "$0"))/runlib"
name_desktop="PortProton"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Exec=env "${PORT_SCRIPTS_PATH}/start.sh %F"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
if [ -z "${PW_AUTOPLAY}" ] ; then if [ -z "${PW_AUTOPLAY}" ] ; then
create_new_dir "${HOME}/.local/share/applications"
name_desktop="PortProton"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Exec=env "${PORT_SCRIPTS_PATH}/start.sh %F"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/
update-desktop-database -q "${HOME}/.local/share/applications"
xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
fi fi
update-desktop-database -q "${HOME}/.local/share/applications"
xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
name_desktop="readme" name_desktop="readme"
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
......
...@@ -18,6 +18,14 @@ if [[ "${XDG_SESSION_TYPE}" = "wayland" ]] && [[ ! -f "${PORT_WINE_TMP_PATH}/che ...@@ -18,6 +18,14 @@ if [[ "${XDG_SESSION_TYPE}" = "wayland" ]] && [[ ! -f "${PORT_WINE_TMP_PATH}/che
echo "1" > "${PORT_WINE_TMP_PATH}/check_wayland" echo "1" > "${PORT_WINE_TMP_PATH}/check_wayland"
fi fi
if [[ -n `basename "${portwine_exe}" | grep .ppack` ]] ; then
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
unset PW_SANDBOX_HOME_PATH
pw_init_runtime
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" unsquashfs -f -d "${PORT_WINE_PATH}/data/prefixes/$(basename $1 | awk -F'.' '{print $1}')" "$1"
exit 0
fi
portwine_launch () { portwine_launch () {
start_portwine start_portwine
PORTWINE_MSI=`basename "${portwine_exe}" | grep .msi` PORTWINE_MSI=`basename "${portwine_exe}" | grep .msi`
...@@ -124,12 +132,12 @@ portwine_start_debug () { ...@@ -124,12 +132,12 @@ portwine_start_debug () {
free -m >> "${PORT_WINE_PATH}/${portname}.log" free -m >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "-----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Graphic cards and drivers:" >> "${PORT_WINE_PATH}/${portname}.log"
echo 'lspci | grep -i vga:' >> "${PORT_WINE_PATH}/${portname}.log" echo 'lspci -k | grep -EA3 VGA|3D|Display:' >> "${PORT_WINE_PATH}/${portname}.log"
echo `lspci | grep -i vga` >> "${PORT_WINE_PATH}/${portname}.log" echo `lspci -k | grep -EA3 'VGA|3D|Display'` >> "${PORT_WINE_PATH}/${portname}.log"
env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PW_WINELIB}/portable/bin/glxinfo" -B >> "${PORT_WINE_PATH}/${portname}.log" [[ `which glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log"
echo " " >> "${PORT_WINE_PATH}/${portname}.log" echo " " >> "${PORT_WINE_PATH}/${portname}.log"
echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log" echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log"
env LANG=C "${PW_WINELIB}/portable/bin/inxi" -G >> "${PORT_WINE_PATH}/${portname}.log" "${PW_WINELIB}/portable/bin/inxi" -G >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log"
"${PW_WINELIB}/portable/bin/vulkaninfo" | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log" "${PW_WINELIB}/portable/bin/vulkaninfo" | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log"
...@@ -220,6 +228,58 @@ pw_winereg () { ...@@ -220,6 +228,58 @@ pw_winereg () {
pw_run regedit pw_run regedit
} }
# pw_prefix_manager () {
# update_winetricks
# start_portwine
# [[ ! -f "${PORT_WINE_TMP_PATH}/dll_list" ]] && "${PORT_WINE_TMP_PATH}/winetricks" dlls list | awk -F'(' '{print $1}' 1> "${PORT_WINE_TMP_PATH}/dll_list"
# gui_prefix_manager () {
# unset SET_FROM_PFX_MANAGER_TMP SET_FROM_PFX_MANAGER
# old_IFS=$IFS
# IFS=$'\n'
# try_remove_file "${PORT_WINE_TMP_PATH}/dll_list_tmp"
# #for PW_BOOL_IN_DLL_LIST in `cat "${PORT_WINE_TMP_PATH}/dll_list"` ; do
# while read PW_BOOL_IN_DLL_LIST ; do
# if [[ -z `echo "${PW_BOOL_IN_DLL_LIST}" | grep -E 'dont_use|dxvk|vkd3d|galliumnine|faudio1'` ]] ; then
# if grep "^`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`$" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then
# echo -e "true\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp"
# else
# echo -e "false\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{print $1}'`\n`echo ${PW_BOOL_IN_DLL_LIST} | awk '{ $1 = ""; print substr($0, 2) }'`" >> "${PORT_WINE_TMP_PATH}/dll_list_tmp"
# fi
# fi
# done < "${PORT_WINE_TMP_PATH}/dll_list"
# pw_stop_progress_bar
# SET_FROM_PFX_MANAGER_TMP=`"${pw_yad_new}" --list --checklist --column=set --column=dll --column=info \
# --borders=5 --width=650 --height=500 --center < "${PORT_WINE_TMP_PATH}/dll_list_tmp"`
# YAD_STATUS="$?"
# if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
# stop_portwine
# exit 0
# fi
# for STPFXMNG in ${SET_FROM_PFX_MANAGER_TMP} ; do
# grep `echo ${STPFXMNG} | awk -F'|' '{print $2}'` "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
# if [ "$?" == "1" ] ; then
# [[ -n "${STPFXMNG}" ]] && SET_FROM_PFX_MANAGER+="`echo ${STPFXMNG} | awk -F'|' '{print $2}'` "
# fi
# done
# IFS=${old_IFS}
# if [[ -n ${SET_FROM_PFX_MANAGER_TMP} ]] ; then
# print_var SET_FROM_PFX_MANAGER
# export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
# pw_init_runtime
# ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${SET_FROM_PFX_MANAGER}
# gui_prefix_manager
# else
# echo "nothing to do"
# stop_portwine
# exit 0
# fi
# }
# gui_prefix_manager
# }
pw_winetricks () { pw_winetricks () {
update_winetricks update_winetricks
export PW_USE_TERMINAL=1 export PW_USE_TERMINAL=1
...@@ -247,6 +307,35 @@ pw_winetricks () { ...@@ -247,6 +307,35 @@ pw_winetricks () {
stop_portwine stop_portwine
} }
pw_create_prefix_backup () {
cd "$HOME"
export PW_PREFIX_TO_BACKUP=`"${pw_yad_new}" --file --directory --borders=5 --width=650 --height=500 --auto-close --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO..."`
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
unset PW_SANDBOX_HOME_PATH
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" mksquashfs "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" -comp zstd &
sleep 15
while true ; do
if [[ -n `pgrep -a xterm | grep ".ppack" | head -n 1 | awk '{print $1}'` ]] ; then
sleep 1
else
kill -TERM `pgrep -a mksquashfs | grep ".ppack.part" | head -n 1 | awk '{print $1}'`
sleep 3
break
fi
done
if [[ -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" ]] ; then
mv -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack"
zenity_info "Backup for prefix \"${PW_PREFIX_NAME}\" successfully created."
else
zenity_error "An error occurred while creating a backup for prefix: \"${PW_PREFIX_NAME}\" !"
fi
return 0
}
pw_edit_db () { pw_edit_db () {
pw_gui_for_edit_db PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_DXR10 PW_USE_DXR11 \ pw_gui_for_edit_db PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_DXR10 PW_USE_DXR11 \
PW_VULKAN_NO_ASYNC PW_USE_NVAPI_AND_DLSS PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP \ PW_VULKAN_NO_ASYNC PW_USE_NVAPI_AND_DLSS PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP \
...@@ -276,6 +365,20 @@ pw_autoinstall_from_db () { ...@@ -276,6 +365,20 @@ pw_autoinstall_from_db () {
. "${PORT_SCRIPTS_PATH}/pw_autoinstall/${PW_YAD_SET}" . "${PORT_SCRIPTS_PATH}/pw_autoinstall/${PW_YAD_SET}"
} }
gui_about_portproton () {
"${pw_yad_new}" --about --pname=PortProton \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--pversion="${install_ver}\n(scripts v. ${scripts_install_ver})" \
--image=help-about \
--copyright="Copyright © 2022 Castro-Fidel (PortWINE-Linux.ru)" \
--comments="Порт для запуска Windows игр и приложений в GNU/Linux" \
--license=MIT \
--authors="Castro-Fidel",,"Выражаем особую благодарность в помоще проекту:",Cefeiko,Dezert1r,Taz_mania,Anton_Famillianov,gavr,RidBowt,chal55rus,UserDiscord \
--website=https://portwine-linux.ru/ \
--website-label=https://portwine-linux.ru
}
export -f gui_about_portproton
###MAIN### ###MAIN###
export PW_PREFIX_NAME="`echo "${PW_PREFIX_NAME}" | sed -e s/[[:blank:]]/_/g`" export PW_PREFIX_NAME="`echo "${PW_PREFIX_NAME}" | sed -e s/[[:blank:]]/_/g`"
PW_ALL_PREFIXES=`ls "${PORT_WINE_PATH}/data/prefixes/" | sed -e s/"${PW_PREFIX_NAME}$"//g` PW_ALL_PREFIXES=`ls "${PORT_WINE_PATH}/data/prefixes/" | sed -e s/"${PW_PREFIX_NAME}$"//g`
...@@ -444,20 +547,22 @@ else ...@@ -444,20 +547,22 @@ else
--field=" CHANGELOG"!""!"":"FBTN" '@bash -c "button_click open_changelog"' \ --field=" CHANGELOG"!""!"":"FBTN" '@bash -c "button_click open_changelog"' \
--field=" EDIT USER.CONF"!""!"":"FBTN" '@bash -c "button_click gui_open_user_conf"' \ --field=" EDIT USER.CONF"!""!"":"FBTN" '@bash -c "button_click gui_open_user_conf"' \
--field=" SCRIPTS FROM BACKUP"!""!"":"FBTN" '@bash -c "button_click gui_open_scripts_from_backup"' & --field=" SCRIPTS FROM BACKUP"!""!"":"FBTN" '@bash -c "button_click gui_open_scripts_from_backup"' &
#--field=" ABOUT PORTPROTON"!""!"":"FBTN" '@bash -c "button_click gui_about_portproton"' &
"${pw_yad_new}" --plug=${KEY} --tabnum=3 --columns=3 --align-buttons --form --separator=";" \ "${pw_yad_new}" --plug=${KEY} --tabnum=3 --columns=3 --align-buttons --form --separator=";" \
--field=" 3D API : :CB" "VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL" \ --field=" 3D API : :CB" "VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL" \
--field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
--field=" DOWNLOAD OTHER WINE "!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \ --field=" DOWNLOAD OTHER WINE "!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \
--field=' DEBUG'!""!"${loc_debug}":"FBTN" '@bash -c "button_click DEBUG"' \
--field=' WINECFG'!""!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \ --field=' WINECFG'!""!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \
--field=' WINEFILE'!""!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \ --field=' WINEFILE'!""!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \
--field=' WINECMD'!""!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \ --field=' WINECMD'!""!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \
--field=' WINEREG'!""!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' \ --field=' WINEREG'!""!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' \
--field=' WINETRICKS'!""!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \ --field=' WINETRICKS'!""!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \
--field=" WINE UNINSTALLER"!""!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \ --field=" WINE UNINSTALLER"!""!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \
--field=" CLEAR PREFIX"!""!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & --field=" CLEAR PREFIX"!""!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' \
--field=" CREATE PFX BACKUP"!""!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
"${pw_yad_new}" --plug=$KEY --tabnum=2 --form --columns=3 --align-buttons --keep-icon-size --scroll \ "${pw_yad_new}" --plug=$KEY --tabnum=2 --form --columns=3 --align-buttons --keep-icon-size --scroll \
--field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \ --field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \
...@@ -561,6 +666,8 @@ case "$PW_YAD_SET" in ...@@ -561,6 +666,8 @@ case "$PW_YAD_SET" in
gui_open_scripts_from_backup) gui_open_scripts_from_backup ;; gui_open_scripts_from_backup) gui_open_scripts_from_backup ;;
open_changelog) open_changelog ;; open_changelog) open_changelog ;;
120) gui_vkBasalt ;; 120) gui_vkBasalt ;;
pw_create_prefix_backup) pw_create_prefix_backup ;;
gui_about_portproton) gui_about_portproton ;;
PW_*) pw_autoinstall_from_db ;; PW_*) pw_autoinstall_from_db ;;
esac esac
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (PortWINE-Linux.ru) #Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=2092 #SCRIPTS_NEXT_VERSION=2093
#PORT_NEXT_VERSION=97 #PORT_NEXT_VERSION=97
######################################################################## ########################################################################
export PW_MANGOHUD=1 export PW_MANGOHUD=1
...@@ -22,7 +22,7 @@ export PW_USE_TERMINAL=0 ...@@ -22,7 +22,7 @@ export PW_USE_TERMINAL=0
export PW_WINEDBG_DISABLE=1 export PW_WINEDBG_DISABLE=1
export PW_WINDOWS_VER="10" export PW_WINDOWS_VER="10"
export WINEARCH="win64" export WINEARCH="win64"
export PW_LIBS_VER="_v22.2" export PW_LIBS_VER="_v23"
export PORTWINE_URL="http://portwine-linux.ru/" export PORTWINE_URL="http://portwine-linux.ru/"
export GDK_BACKEND="x11" export GDK_BACKEND="x11"
export PW_USE_GSTREAMER="1" export PW_USE_GSTREAMER="1"
...@@ -32,10 +32,10 @@ export WINE_WIN_START="start.exe /i /unix" ...@@ -32,10 +32,10 @@ export WINE_WIN_START="start.exe /i /unix"
export PW_WINE_USE=PROTON_GE export PW_WINE_USE=PROTON_GE
export PW_PLUGINS_VER="_v3" export PW_PLUGINS_VER="_v3"
###WINE_PROTON_STEAM### ###WINE_PROTON_STEAM###
export PW_STEAM_VER="7.0-1" export PW_STEAM_VER="7.0-1B"
export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}" export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}"
###WINE_PROTON_GE### ###WINE_PROTON_GE###
export PW_GE_VER="7.1-2" export PW_GE_VER="7-10"
export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}" export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}"
export WINE_FULLSCREEN_FSR="1" export WINE_FULLSCREEN_FSR="1"
export WINE_FULLSCREEN_FSR_STRENGTH="2" export WINE_FULLSCREEN_FSR_STRENGTH="2"
......
#!/bin/env bash #!/usr/bin/env bash
# Author: Castro-Fidel (PortWINE-Linux.ru) # Author: Castro-Fidel (PortWINE-Linux.ru)
######################################################################## ########################################################################
zenity_info () { zenity_info () {
......
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