diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog index f33fdcc0..d039f886 100755 --- a/data_from_portwine/changelog +++ b/data_from_portwine/changelog @@ -7,6 +7,13 @@ * добавить проверку количества db файлов на один exe * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru ----------------------------------------- +###Scripts version 2035### +* в EDIT_DB добавлена возможность ограничения FPS +* обновлеение winetricks происходит только при условии его последуещего использования (если не установлены какие-нибудь компоненты) +* значитель уменьшена задержка при перезапуске порта +* ускорено обновление префикса после смены версии WINE +* улучшена работа индикации загрузки порта + ###Scripts version 2034### * добавлены всплывающие описания эффектов vkBasalt в интерфейсе для его настройки (будут еще дополняться) @@ -60,7 +67,7 @@ * добавлена поддержка DLSS (требуется включение в EDIT_DB параметра PW_USE_NVAPI_AND_DLSS) * добавлена функция автоматического удаления старых версий контейнеров (libs_vXX) * значительная переработка условий в скриптах -* убрана задержка при перезапуске порта +* уменьшена задержка при перезапуске порта * добавлен GUI для выбора версии PROTON_GE c github PS: За помощь в создании автоустановки LoL, отдельное спасибо Dezert1r! diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index efb45b3a..f9dccfa4 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -247,22 +247,6 @@ init_wine_ver () { export WINESERVER="${WINEDIR}/bin/wineserver" export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" - if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then - if [[ -z "`echo ${LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then - export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${LD_LIBRARY_PATH}" - fi - else - export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib" - 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}" - else export PATH="${WINEDIR}/bin" - fi - if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then chmod -R 755 "${WINEDIR}" for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do @@ -307,6 +291,7 @@ init_wine_ver () { try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/ fi done + return 0 } cabextract_fix () { @@ -335,6 +320,7 @@ pw_stop_progress_bar () { while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` > /dev/null 2>&1 done + return 0 } pw_download_libs () { @@ -450,10 +436,10 @@ update_winetricks () { fi } wait_wineserver () { - sleep 3 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 done + return 0 } kill_portwine () { @@ -468,11 +454,12 @@ kill_portwine () { if [ ! -z `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` ] ; then kill -n 9 `pgrep -a bwrap | grep ${portname} | head -n 1 | awk '{print $1}'` fi + return 0 } export -f kill_portwine -stop_portwine () { - wait_wineserver +stop_portwine () { + wait_wineserver && add_in_stop_portwine if [ "$int_xneur" = "1" ]; then xneur & @@ -483,7 +470,7 @@ stop_portwine () { pw_stop_progress_bar try_remove_file "${PORT_SCRIPTS_PATH}/0" try_remove_file "${PORT_SCRIPTS_PATH}/1" - kill_portwine + kill_portwine && if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" fi @@ -491,37 +478,41 @@ stop_portwine () { chmod -R 755 "${WINEPREFIX}"/drive_c/users/steamuser/Temp/ rm -fr "${WINEPREFIX}"/drive_c/users/steamuser/Temp/* fi - if [ ! -z "`ls "${WINEPREFIX}"/drive_c/ | grep -m 1 ".tmp"`" ] ; then - rm -f "${WINEPREFIX}"/drive_c/*.tmp - fi exit 0 } +open_changelog () { + "${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \ + --text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \ + --filename="${PORT_WINE_PATH}/data/changelog" +} +export -f open_changelog pw_tray_icon () { - if [ -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then - tray_icon_click() { - echo "" - } - export -f tray_icon_click - tray_icon_click_exit() { - kill_portwine - if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] - then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" - fi - kill -9 `pgrep -a start.sh | awk '/PortWINE/ && /PortProton/' | awk '{print $1}'` - exit 0 - } - export -f tray_icon_click_exit - - "${pw_yad_new}" --notification --no-middle --text="PortProton" \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --image="$PW_GUI_ICON_PATH/port_proton.png" \ - --command="bash -c tray_icon_click" \ - --tooltip="PortProton" \ - --menu="| \ -<<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \ -<<< FORCE EXIT >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|" + if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then + kill -n 9 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" fi + tray_icon_click() { + echo "" + } + export -f tray_icon_click + tray_icon_click_exit() { + kill_portwine && + if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] + then kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" + fi + kill -n 9 `pgrep -a start.sh | awk '/PortWINE/ && /PortProton/' | awk '{print $1}'` + exit 0 + } + export -f tray_icon_click_exit + + "${pw_yad_new}" --notification --no-middle --text="PortProton" \ + --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ + --image="$PW_GUI_ICON_PATH/port_proton.png" \ + --command="bash -c tray_icon_click" \ + --tooltip="PortProton" \ + --menu="| \ +<<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \ +<<< FORCE EXIT >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|" & } pw_init_db () { @@ -530,8 +521,8 @@ pw_init_db () { PORTWINE_DB_FILE=`grep -ilw "#${PORTWINE_DB}" "${PORT_SCRIPTS_PATH}/portwine_db"/* | sed s/".exe"/""/gi` if [ ! -z "${PORTWINE_DB_FILE}" ]; then . "${PORTWINE_DB_FILE}" + init_wine_ver && print_info "Use ${PORTWINE_DB_FILE} db file." - init_wine_ver fi fi # export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" @@ -540,6 +531,10 @@ pw_init_db () { pw_port_update () { ###PORT UPDATE### + if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then + echo "2000" > "${PORT_WINE_TMP_PATH}/scripts_ver" + fi + export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` if try_download_silent "https://github.com/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" "${PORT_WINE_TMP_PATH}/curent_var_ver" ; then if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_ver" ] ; then echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver" @@ -560,7 +555,7 @@ pw_port_update () { FALSE "${port_upd6}" ` case $xsd in "${port_upd4}") - kill_portwine + kill_portwine && xdg-open $PORTWINE_URL exit 0 ;; "${port_upd5}") @@ -571,10 +566,6 @@ pw_port_update () { fi fi ###SCRIPTS UPDATE### - if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then - echo "2000" > "${PORT_WINE_TMP_PATH}/scripts_ver" - fi - export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ] ; then echo "1" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" fi @@ -628,7 +619,7 @@ pw_kill_autostart () { echo -e "PID "$1" not found" sleep 1 else - kill_portwine + kill_portwine && break fi done @@ -654,6 +645,13 @@ edit_db_from_gui () { } pw_gui_for_edit_db () { + KEY_EDIT_DB_GUI=$RANDOM + if [[ -n "`echo "${MANGOHUD_CONFIG}" | grep "fps_limit"`" ]] ; then + FPS_LIMIT_VAR="`echo ${MANGOHUD_CONFIG} | sed 's/.*fps_limit=//g' | awk -F, '{print $1}'`" + else + FPS_LIMIT_VAR=0 + fi + echo "FPS_LIMIT_VAR=$FPS_LIMIT_VAR" unset ADD_CHK_BOX_EDIT_DB edit_db_field_add () { for int_to_boole in $@ ; do @@ -666,20 +664,26 @@ pw_gui_for_edit_db () { done } edit_db_field_add $@ - export old_IFS=$IFS - export IFS="%" - output_yad_edit_db=`"${pw_yad_new}" --title "EDIT_DB" --text-align=center --text "Change settings in database file for ${PORTWINE_DB}\n" \ - --columns=4 --form --separator=" " --borders=10 --center ${ADD_CHK_BOX_EDIT_DB} \ - --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0` + old_IFS=$IFS + IFS="%" + "${pw_yad_new}" --plug=$KEY_EDIT_DB_GUI --tabnum="1" --form --separator=" " --columns=4 ${ADD_CHK_BOX_EDIT_DB} \ + 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db" & + IFS=$old_IFS + + "${pw_yad_new}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator=" " --columns=1 \ + --field="MANGOHUD FPS LIMIT (0-disabled):SCL" ${FPS_LIMIT_VAR} 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" & + + "${pw_yad_new}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="330" \ + --text "Change settings in database file for ${PORTWINE_DB}\n" --separator=" " --borders=10 --center \ + --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0 YAD_STATUS="$?" if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 elif [ "$YAD_STATUS" == "150" ] ; then xdg-open "${PORTWINE_DB_FILE}" & exit 0 fi - export IFS=$old_IFS - export output_yad_edit_db=($output_yad_edit_db) - export bool_from_yad=0 + output_yad_edit_db=(`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"`) + bool_from_yad=0 edit_db_field_read () { for boole_to_int in $@ ; do export ${boole_to_int}=${output_yad_edit_db[$bool_from_yad]} @@ -692,6 +696,15 @@ pw_gui_for_edit_db () { } edit_db_field_read $@ edit_db_from_gui $@ + + FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit"`" + if [ "${FPS_LIMIT}" == 0 ] ; then + export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt + else + export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt,fps_limit=${FPS_LIMIT} + export PW_MANGOHUD=1 + fi + edit_db_from_gui PW_MANGOHUD MANGOHUD_CONFIG # PW_DB_TMP=`cat "${PORTWINE_DB_FILE}"` # echo "${PW_DB_TMP}" | awk '! a[$0]++' > "${PORTWINE_DB_FILE}" # unset PW_DB_TMP @@ -766,8 +779,8 @@ gui_proton_downloader () { sed -i '/PROTON_GE/d' "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" for INSTALLING_VERSION_IN_DIST in `ls "${PORT_WINE_PATH}/data/dist/"` ; do - sed -i "/${INSTALLING_VERSION_IN_DIST}/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" - sed -i "/${INSTALLING_VERSION_IN_DIST}/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" + sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" + sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" done pw_stop_progress_bar @@ -855,7 +868,8 @@ gui_vkBasalt () { 1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" & "${pw_yad_new}" --paned --key="$KEY_FX_GUI" --height="600" --title="vkBasalt" --center --borders=10 \ - --separator=" " --button="CANCEL":1 --button="DISABLED VKBASALT":180 --button="ENABLED VKBASALT":182 + --separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ + --button="CANCEL":1 --button="DISABLED VKBASALT":180 --button="ENABLED VKBASALT":182 YAD_VKBASALT_STATUS="$?" case "${YAD_VKBASALT_STATUS}" in 1|252) diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index 5c394988..359c99dc 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -75,7 +75,7 @@ then export PW_USE_GSTREAMER_INFO='Использовать Gstreamer для вывода роликов в играх (поддержка WMF)' export PW_USE_RUNTIME_INFO='Использовать контейнерный режим запуска (Рекомендуется не изменять значение)' export PW_MANGOHUD_INFO='Использование мониторинга FPS и нагрузки системы (Включается и выключается сочитанием клавиш - правый Shift + F12)' - export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличение производительности в играх (при условии установленного пакета gamemode в системе)' + export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)' export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)' export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS' diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 2282fe83..a4df50e6 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -23,10 +23,9 @@ fi start_portwine () { pw_check_and_download_wine "${PW_WINE_USE}" - init_wine_ver + init_wine_ver pw_download_mono pw_download_gecko - pw_tray_icon & 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 -- /bin/bash" ??? elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e" @@ -37,8 +36,24 @@ start_portwine () { cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}" xrdb -merge "${HOME}/.Xresources" fi + pw_tray_icon + pw_start_progress_bar_block "Update prefix for ${PW_WINE_USE}... Please wait..." - pw_start_progress_bar_block "Start ${portname}... Please wait..." + if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then + if [[ -z "`echo ${LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then + export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${LD_LIBRARY_PATH}" + fi + else + export LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib" + 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}" + else export PATH="${WINEDIR}/bin" + fi if [ "${PW_USE_GSTREAMER}" = 1 ] ; then if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then @@ -154,7 +169,7 @@ start_portwine () { export RADV_DEBUG="llvm" var_vkd3d_config_update single_queue fi - if [[ ! -z "${PW_USE_NVAPI_AND_DLSS_AND_DLSS}" && "${PW_USE_NVAPI_AND_DLSS_AND_DLSS}" == 1 && -d "${WINEDIR}/lib/wine/nvapi/" ]] + if [[ ! -z "${PW_USE_NVAPI_AND_DLSS}" && "${PW_USE_NVAPI_AND_DLSS}" == 1 && -d "${WINEDIR}/lib/wine/nvapi/" ]] then try_copy_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_copy_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" @@ -220,7 +235,7 @@ start_portwine () { esac export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf" export int_xneur=0 - if [ $(pgrep xneur)>'0' ]; then + if [[ ! -z "`pgrep xneur`" ]]; then killall xneur export int_xneur=1 fi @@ -237,10 +252,14 @@ start_portwine () { export PW_GAMEMODERUN=0 echo "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE" fi + pw_vkbasalt_check + pw_other_fixes #init_pfx - if [[ ! -d "${WINEPREFIX}" || ! -d "${WINEPREFIX}"/drive_c/windows || ! -d "${WINEPREFIX}/dosdevices" || ! -f "${WINEPREFIX}"/userdef.reg || ! -f "${WINEPREFIX}"/system.reg || ! -f "${WINEPREFIX}"/user.reg ]] + if [[ ! -d "${WINEPREFIX}" || ! -d "${WINEPREFIX}"/drive_c/windows || ! -d "${WINEPREFIX}/dosdevices" || \ + ! -f "${WINEPREFIX}"/userdef.reg || ! -f "${WINEPREFIX}"/system.reg || ! -f "${WINEPREFIX}"/user.reg || \ + -z "`cat ${WINEPREFIX}/.wine_ver | grep ${PW_WINE_USE}`" ]] then - pw_clear_pfx + # pw_clear_pfx create_new_dir "${WINEPREFIX}" create_new_dir "${WINEPREFIX}/drive_c" create_new_dir "${WINEPREFIX}/dosdevices" @@ -254,15 +273,12 @@ start_portwine () { try_copy_file "${WINEDIR}/share/fonts/"LiberationSerif-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"times.ttf try_copy_file "${WINEDIR}/share/fonts/"LiberationMono-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"cour.ttf try_copy_file "${WINEDIR}/share/fonts/"SourceHanSansSCRegular.otf "${WINEPREFIX}/drive_c/windows/Fonts/"msyh.ttf - pw_stop_progress_bar - pw_start_progress_bar_block "Updating prefix... Please wait..." - kill_portwine - ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -u - wait_wineserver - kill_portwine + # kill_portwine && + ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i + wait_wineserver && + # kill_portwine && + echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver" fi - pw_stop_progress_bar - pw_start_progress_bar_cs "Initialization prefix..." [ ! -d "${WINEPREFIX}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${WINEPREFIX}/dosdevices/c:" [ ! -d "${WINEPREFIX}/dosdevices/z:" ] && try_force_link_dir "/" "${WINEPREFIX}/dosdevices/z:" create_new_dir "${WINEPREFIX}/drive_c/users/steamuser" @@ -310,7 +326,7 @@ start_portwine () { done var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b" elif [ "${PW_VULKAN_USE}" = "1" ] ; then - echo "Use VKD3D-PROTON and DXVK (DX12 to vulkan)" + echo "Use VKD3D-PROTON and DXVK (DX 9-12 to vulkan)" export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9" echo "Try copy native DXVK files" for wine_dxvk_dll in ${CP_DXVK_FILES} ; do @@ -344,9 +360,7 @@ start_portwine () { export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache" export __GL_SHADER_DISK_CACHE=1 export __GL_SHADER_DISK_CACHE_SIZE=1000000000 - pw_other_fixes #run_winetricks_from_db - update_winetricks if [ ! -z "${PW_MUST_HAVE_DLL}" ] then export PW_DLL_INSTALL="${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" fi @@ -375,13 +389,13 @@ start_portwine () { fi done if [ "${USE_WT_FROM_DB}" == "1" ] ; then - pw_stop_progress_bar + update_winetricks print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" chmod -R 775 "${HOME}/.cache/winetricks" if [ "${PW_WINE_VER}" != "PROTON_STEAM" ] ; then export PW_WINE_VER_FROM_DB="${PW_WINE_USE}" export PW_WINE_VER="PROTON_STEAM" - init_wine_ver + init_wine_ver && cabextract_fix fi ${pw_runtime} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \ @@ -398,11 +412,11 @@ start_portwine () { fi ${pw_runtime} env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" \ "${WINELOADER}" winecfg -v `echo "win${PW_WINDOWS_VER}" | sed 's/.*/\L&/'` + wait_wineserver && echo "Set to win${PW_WINDOWS_VER}" - wait_wineserver fi add_in_start_portwine - pw_stop_progress_bar + pw_stop_progress_bar && pw_start_progress_bar_cs "Start ${portname}... Please wait..." } @@ -416,7 +430,6 @@ pw_run () { cd "${WINEPREFIX}/drive_c" fi pw_mangohud_check - pw_vkbasalt_check print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" "LD_LIBRARY_PATH" "PATH" if [ "${PW_LOG}" == 1 ] ; then export PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" @@ -437,6 +450,7 @@ pw_run () { ${RUN_MANGOHUD} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[*]} fi fi + stop_portwine } ###MAIN### @@ -469,16 +483,9 @@ fi create_new_dir "${PORT_WINE_TMP_PATH}"/gecko create_new_dir "${PORT_WINE_TMP_PATH}"/mono -if [ -d "${HOME}/.PortWINE/" ] ; then - try_remove_dir "${HOME}/.PortWINE/tmp" - mv -f "${HOME}/.PortWINE"/* "${PORT_WINE_TMP_PATH}" - try_remove_dir "${HOME}/.PortWINE/" -fi cd "${PORT_SCRIPTS_PATH}" . "${PORT_SCRIPTS_PATH}/var" -[ -f "${PORT_SCRIPTS_PATH}/autoinstall" ] && try_remove_file "${PORT_SCRIPTS_PATH}/autoinstall" - if [ ! -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ] ; then SET_LANG=`zenity --title "Install $portname" --text "Select the language" --list --radiolist \ --column="Set:" --column "Language:" TRUE "RUS" FALSE "ENG" ` diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 5aa7ae89..903a7222 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -186,6 +186,7 @@ pw_winecmd () { start_portwine cd "${WINEPREFIX}/drive_c" ${pw_runtime} xterm -e env LD_LIBRARY_PATH="${PW_AND_RUNTIME_LIBRARY_PATH}${LD_LIBRARY_PATH}" "${WINELOADER}" cmd + stop_portwine } pw_winereg () { @@ -201,6 +202,7 @@ pw_winetricks () { cabextract_fix start_portwine ${PW_TERM} "${PORT_WINE_TMP_PATH}/winetricks" -q -r + stop_portwine } pw_edit_db () { @@ -238,7 +240,7 @@ PW_ALL_DIST=`ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"PROTON_GE$//g" | sed unset DIST_ADD_TO_GUI for DAIG in ${PW_ALL_DIST} do - export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}\!${DAIG}" + export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}" done if [ ! -z "${PORTWINE_DB_FILE}" ] ; then [ -z "${PW_COMMENT_DB}" ] && PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." @@ -248,24 +250,24 @@ if [ ! -z "${PORTWINE_DB_FILE}" ] ; then [ -z "${PW_WINE_USE}" ] && export PW_WINE_USE=PROTON_STEAM fi case "${PW_VULKAN_USE}" in - "dxvk") export PW_DEFAULT_VULKAN_USE='DXVK (DX 9-11 to Vulkan)\!VULKAN (DXVK and VKD3D)\!OPENGL ' ;; - "0") export PW_DEFAULT_VULKAN_USE='OPENGL \!VULKAN (DXVK and VKD3D)\!DXVK (DX 9-11 to Vulkan)' ;; - *) export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)\!DXVK (DX 9-11 to Vulkan)\!OPENGL ' ;; + "dxvk") export PW_DEFAULT_VULKAN_USE='DXVK (DX 9-11 to Vulkan)!VULKAN (DXVK and VKD3D)!OPENGL ' ;; + "0") export PW_DEFAULT_VULKAN_USE='OPENGL !VULKAN (DXVK and VKD3D)!DXVK (DX 9-11 to Vulkan)' ;; + *) export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!DXVK (DX 9-11 to Vulkan)!OPENGL ' ;; esac case "${PW_WINE_USE}" in - "PROTON_GE") export PW_DEFAULT_WINE_USE="PROTON_GE (${PW_GE_VER})\!PROTON_STEAM (${PW_STEAM_VER})${DIST_ADD_TO_GUI}" ;; - "PROTON_STEAM") export PW_DEFAULT_WINE_USE="PROTON_STEAM (${PW_STEAM_VER})\!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;; + "PROTON_GE") export PW_DEFAULT_WINE_USE="PROTON_GE (${PW_GE_VER})!PROTON_STEAM (${PW_STEAM_VER})${DIST_ADD_TO_GUI}" ;; + "PROTON_STEAM") export PW_DEFAULT_WINE_USE="PROTON_STEAM (${PW_STEAM_VER})!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;; *) export DIST_ADD_TO_GUI=`echo ${DIST_ADD_TO_GUI} | sed -e s/"\!${PW_WINE_USE}$//g"` - export PW_DEFAULT_WINE_USE="${PW_WINE_USE}\!PROTON_STEAM (${PW_STEAM_VER})\!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;; + export PW_DEFAULT_WINE_USE="${PW_WINE_USE}!PROTON_STEAM (${PW_STEAM_VER})!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" ;; esac else - export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)\!DXVK (DX 9-11 to Vulkan)\!OPENGL ' - export PW_DEFAULT_WINE_USE="PROTON_STEAM (${PW_STEAM_VER})\!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" + export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!DXVK (DX 9-11 to Vulkan)!OPENGL ' + export PW_DEFAULT_WINE_USE="PROTON_STEAM (${PW_STEAM_VER})!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" unset PW_GUI_DISABLED_CS fi if [ ! -z "${portwine_exe}" ]; then - if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" = 0 ]] ; then + if [[ -z "${PW_GUI_DISABLED_CS}" || "${PW_GUI_DISABLED_CS}" == 0 ]] ; then OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center \ --title "${portname}-${install_ver} (${scripts_install_ver})" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ @@ -293,13 +295,6 @@ else } export -f button_click - open_changelog () { - "${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \ - --text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \ - --filename="${PORT_WINE_PATH}/data/changelog" - } - export -f open_changelog - gui_clear_pfx () { if gui_question "${port_clear_pfx}" ; then pw_clear_pfx @@ -356,11 +351,11 @@ else "${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \ --image "$PW_GUI_ICON_PATH/port_proton.png" \ - --field=":CB" "VULKAN (DXVK and VKD3D)\!DXVK (DX 9-11 to Vulkan)\!OPENGL" \ + --field=":CB" "VULKAN (DXVK and VKD3D)!DXVK (DX 9-11 to Vulkan)!OPENGL" \ --field=":LBL" "" \ --field='DEBUG'!!"${loc_debug}":"BTN" '@bash -c "button_click DEBUG"' \ --field='WINECFG'!!"${loc_winecfg}":"BTN" '@bash -c "button_click WINECFG"' \ - --field=":CB" "PROTON_STEAM (${PW_STEAM_VER})\!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" \ + --field=":CB" "PROTON_STEAM (${PW_STEAM_VER})!PROTON_GE (${PW_GE_VER})${DIST_ADD_TO_GUI}" \ --field=":LBL" "" \ --field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \ --field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \ @@ -427,7 +422,5 @@ case "$PW_YAD_SET" in gui_rm_portproton) gui_rm_portproton ;; gui_proton_downloader) gui_proton_downloader ;; 120) gui_vkBasalt ;; - *) pw_autoinstall_from_db ;; + PW_*) pw_autoinstall_from_db ;; esac - -stop_portwine diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index df286dc8..2a55cbf7 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/bin/bash #Author: Castro-Fidel (PortWINE-Linux.ru) -#SCRIPTS_NEXT_VERSION=2034 +#SCRIPTS_NEXT_VERSION=2035 #PORT_NEXT_VERSION=97 ######################################################################## export PW_MANGOHUD=0 @@ -69,6 +69,6 @@ for fix_reg in "PnkBstrA.exe" "PnkBstrB.exe" ; do sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg" fi done +#disabled silent autostart steam +sed -i '/steam.exe\\" -silent"/d' "${WINEPREFIX}/user.reg" } -###FOR_OLD_VERSION_PORTPROTON### -#SCRIPTS_VERSION=1000