Compare commits
	
		
			3 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 76e52f5a78 | ||
|  | 2303124f30 | ||
|  | c68e687948 | 
| @@ -2,6 +2,19 @@ You can help us in the development of the project on the website: https://boosty | |||||||
| ----------------------------------------- | ----------------------------------------- | ||||||
| Changelog: | Changelog: | ||||||
|  |  | ||||||
|  | ###Scripts version 2095### | ||||||
|  | * updated "libs_v24" (hotfix) | ||||||
|  |  | ||||||
|  | ###Scripts version 2094### | ||||||
|  | * rollback "PROTON_GE" to version 7-9 | ||||||
|  |  | ||||||
|  | ###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,19 @@ | |||||||
| ----------------------------------------- | ----------------------------------------- | ||||||
| История изменений: | История изменений: | ||||||
|  |  | ||||||
|  | ###Scripts version 2095### | ||||||
|  | * обновлен "libs_v24" (hotfix) | ||||||
|  |  | ||||||
|  | ###Scripts version 2094### | ||||||
|  | * откат "PROTON_GE" до версии 7-9 | ||||||
|  |  | ||||||
|  | ###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) | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| #!/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 () { | |||||||
|     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" | ||||||
|  |     if [[ -z "${PATH_TO_GAME}" ]] ; then | ||||||
|         export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" |         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 () { | |||||||
|     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" | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| #!/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" | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| #!/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 () { | |||||||
|     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 () { | |||||||
|     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 () { | |||||||
|         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 () { | |||||||
|     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 () { | |||||||
|     #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 () { | |||||||
|             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 () { | |||||||
|         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 () { | |||||||
| 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 | |||||||
| 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 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,9 +1,7 @@ | |||||||
| #!/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" | ||||||
|  |  | ||||||
| if [ -z "${PW_AUTOPLAY}" ] ; then |  | ||||||
| 	create_new_dir "${HOME}/.local/share/applications" |  | ||||||
| name_desktop="PortProton" | name_desktop="PortProton" | ||||||
| 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" | ||||||
| @@ -16,11 +14,14 @@ if [ -z "${PW_AUTOPLAY}" ] ; then | |||||||
| echo "Path="${PORT_SCRIPTS_PATH}/""			 >> "${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" | echo "Icon="${PORT_WINE_PATH}/data/img/w.png""   	 >> "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||||
| chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" | ||||||
|  |  | ||||||
|  | if [ -z "${PW_AUTOPLAY}" ] ; then | ||||||
| 	cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ | 	cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ | ||||||
|  | fi | ||||||
|  |  | ||||||
| update-desktop-database -q "${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" | xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" | ||||||
| fi |  | ||||||
| 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 | |||||||
|     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 () { | |||||||
|     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 () { | |||||||
|     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 () { | |||||||
|     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 () { | |||||||
|     . "${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 | |||||||
|     --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 | |||||||
|     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 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| #!/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=2095 | ||||||
| #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 | |||||||
| 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="_v24" | ||||||
| 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" | |||||||
| 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-9" | ||||||
| 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" | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| #!/bin/env bash | #!/usr/bin/env bash | ||||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||||
| ######################################################################## | ######################################################################## | ||||||
| zenity_info () { | zenity_info () { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user