From b36c15db023f025cd6f9a7e2e6cc4d6365cfb279 Mon Sep 17 00:00:00 2001 From: castro-fidel Date: Thu, 3 Feb 2022 13:07:03 +0300 Subject: [PATCH] Scripts version 2080 --- data_from_portwine/changelog_eng | 5 +++ data_from_portwine/changelog_rus | 5 +++ data_from_portwine/scripts/lang | 4 +- .../scripts/pw_autoinstall/PW_OSU | 4 +- data_from_portwine/scripts/runlib | 2 +- data_from_portwine/scripts/start.sh | 45 +++++++++++++++---- data_from_portwine/scripts/var | 2 +- data_from_portwine/scripts/zen_yad_gui | 28 ++++++++---- 8 files changed, 72 insertions(+), 23 deletions(-) diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index dad7e92..3dc2122 100644 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,11 @@ You can help us in the development of the project on the website: https://boosty ----------------------------------------- Changelog: +###Scripts version 2080### +* added progress display of winetricks and library downloads during prefix update +* added display of the startup process with log output on the fly when using the DEBUG mode +* removed from DEBUG information output that does not affect the operation of PortProton (gstreamer, ntlm, kerberos) + ###Scripts version 2079### * fixed DLSS work on some systems * reduced boot logo by 30% diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index 690f807..78c3106 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,11 @@ ----------------------------------------- История изменений: +###Scripts version 2080### +* добавлено отображение прогресса работы winetricks и скачивания библиотек во время обновления префикса +* добавлено отображение процесса запуска с выводом лога на лету при использовании режима DEBUG +* убран из DEBUG вывод информации не влияющий на работу PortProton (gstreamer, ntlm, kerberos) + ###Scripts version 2079### * исправлена возможность запуска DLSS на некоторых системах и играх * уменьшено загрузочное лого на 30% diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index a805232..e3b389d 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -46,7 +46,7 @@ then export port_start7="Запустить winetricks" export port_start8="DXVK" - export port_debug="Не торопитесь!\nПосле окончания работы ${portname}, нажмите ОК." + export port_debug="Не торопитесь! После окончания работы ${portname}, нажмите STOP." export loc_creat_shortcut="Создать ярлык для запускаемого файла." export loc_debug="Запуск c созданием .log файла в корне ${portname}" @@ -148,7 +148,7 @@ then export port_start7="Run winetricks" export port_start8="DXVK" - export port_debug="Please wait!\nAfter finishing the ${portname}, click OK." + export port_debug="Please wait! After finishing the ${portname}, click STOP." export PW_WAYLAND_INFO="Attention! You are running $portname in a Wayland session, some features may not be available!\nRestarting your session in X11 is recommended!" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_OSU b/data_from_portwine/scripts/pw_autoinstall/PW_OSU index 16b6b5c..e95a976 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_OSU +++ b/data_from_portwine/scripts/pw_autoinstall/PW_OSU @@ -13,9 +13,9 @@ then mv -f "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!install.exe" "${PORT_WINE_PATH}/data/pfx_dotnet/drive_c/Program Files (x86)/OSU/osu!.exe" fi portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/OSU/osu!.exe" - portwine_create_shortcut - pw_run "${PW_AUTOINSTALL_EXE}" + # pw_run "${PW_AUTOINSTALL_EXE}" pw_stop_progress_bar + portwine_create_shortcut kill_portwine fi stop_portwine diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 93c5c3e..367c2e8 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -474,7 +474,7 @@ start_portwine () { # init_wine_ver # fi ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" \ - "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} 2>&1 | tr /n /r | grep -i "" &>>"${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" # if [ "${PW_WINE_VER_FROM_DB}" != "${PW_PROTON_STEAM_VER}" ] ; then # export PW_SILENT_RESTART=1 # /usr/bin/env bash ${pw_full_command_line[*]} & diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index a827e3e..d109081 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -178,12 +178,31 @@ portwine_start_debug () { export DXVK_HUD="full" portwine_launch & - sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && kill_portwine - sed -i '/gstreamer-1.0/d' "${PORT_WINE_PATH}/${portname}.log" - sed -i '/winemenubuilder.exe/d' "${PORT_WINE_PATH}/${portname}.log" + sleep 3 + pw_stop_progress_bar_cover + unset PW_TIMER + while read -r line || [[ ! -z `pgrep -a yad | grep "yad_new --text-info --tail --button="STOP":0 --title="DEBUG"" | awk '{print $1}'` ]] ; do + sleep 0.005 + if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \ + && [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \ + && [[ -z "`echo "${line}" | grep -i "ntlm"`" ]] + then + echo "# ${line}" + fi + if [[ "${PW_TIMER}" != 1 ]] ; then + sleep 3 + PW_TIMER=1 + fi + done < "${PORT_WINE_PATH}/${portname}.log" | "${pw_yad_new}" --text-info --tail --button="STOP":0 --title="DEBUG" \ + --skip-taskbar --center --width=800 --height=400 --text "${port_debug}" && + kill_portwine +# sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && kill_portwine sed -i '/.fx$/d' "${PORT_WINE_PATH}/${portname}.log" + sed -i '/GStreamer/d' "${PORT_WINE_PATH}/${portname}.log" + sed -i '/kerberos/d' "${PORT_WINE_PATH}/${portname}.log" + sed -i '/ntlm/d' "${PORT_WINE_PATH}/${portname}.log" + sed -i '/winemenubuilder.exe/d' "${PORT_WINE_PATH}/${portname}.log" sed -i '/HACK_does_openvr_work/d' "${PORT_WINE_PATH}/${portname}.log" - sed -i '/dlopen failed - libgamemode.so/d' "${PORT_WINE_PATH}/${portname}.log" sed -i '/Uploading is disabled/d' "${PORT_WINE_PATH}/${portname}.log" deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++') echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" @@ -222,11 +241,19 @@ pw_winetricks () { start_portwine pw_stop_progress_bar echo "WINETRICKS..." > "${PORT_WINE_TMP_PATH}/update_pfx_log" - while [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] ; do - sleep 1 - while read -r line ; do - echo "# ${line}" - done + unset PW_TIMER + while read -r line || [[ ! -z `pgrep -a yad | grep "yad_new --text-info --tail --no-buttons --title="WINETRICKS"" | awk '{print $1}'` ]] ; do + sleep 0.005 + if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \ + && [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \ + && [[ -z "`echo "${line}" | grep -i "ntlm"`" ]] + then + echo "# ${line}" + fi + if [[ "${PW_TIMER}" != 1 ]] ; then + sleep 3 + PW_TIMER=1 + fi done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --text-info --tail --no-buttons --title="WINETRICKS" \ --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y & "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index bca146e..4ba2d5f 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/bin/env bash #Author: Castro-Fidel (PortWINE-Linux.ru) -#SCRIPTS_NEXT_VERSION=2079 +#SCRIPTS_NEXT_VERSION=2080 #PORT_NEXT_VERSION=97 ######################################################################## export PW_MANGOHUD=1 diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui index a925343..28f055a 100644 --- a/data_from_portwine/scripts/zen_yad_gui +++ b/data_from_portwine/scripts/zen_yad_gui @@ -48,12 +48,20 @@ pw_update_pfx_cover_gui () { PW_GIF_SIZE_X=`file "${PW_GIF_FILE}" | awk '{print $7 + 40}'` PW_GIF_SIZE_Y=`file "${PW_GIF_FILE}" | awk '{print $9 + 80}'` echo "UPDATE PREFIX..." > "${PORT_WINE_TMP_PATH}/update_pfx_log" - while [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] ; do - sleep 1 - while read -r gui_line ; do - echo "# ${gui_line}" - done - done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail & + unset PW_TIMER + while read -r line || [[ ! -z `pgrep -a yad | grep "yad_new --notebook --key="$PW_KEY_PROGRESS_BAR"" | awk '{print $1}'` ]] ; do + sleep 0.005 + if [[ ! -z "${line}" ]] && [[ -z "`echo "${line}" | grep -i "gstreamer"`" ]] \ + && [[ -z "`echo "${line}" | grep -i "kerberos"`" ]] \ + && [[ -z "`echo "${line}" | grep -i "ntlm"`" ]] + then + echo "# ${line}" + fi + if [[ "${PW_TIMER}" != 1 ]] ; then + sleep 3 + PW_TIMER=1 + fi + done < "${PORT_WINE_TMP_PATH}/update_pfx_log" | "${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="2" --text-info --tail & "${pw_yad_new}" --plug=$PW_KEY_PROGRESS_BAR --tabnum="1" --picture --filename="${PW_GIF_FILE}" --image-on-top & "${pw_yad_new}" --notebook --key="$PW_KEY_PROGRESS_BAR" --tab=LOGO --tab=TERMINAL --no-buttons --undecorated \ @@ -77,8 +85,7 @@ pw_start_progress_bar_block () { } pw_stop_progress_bar () { - for PW_KILL_YAD_PID in "$PW_YAD_PID_PROGRESS_BAR_BLOCK" "$PW_YAD_PID_PROGRESS_BAR_CS" "$PW_YAD_PID_PFX_COVER_UI" \ - "$PW_YAD_PID_PROGRESS_BAR_COVER" "${PW_YAD_PID_PROGRESS_BAR_COVER}" + for PW_KILL_YAD_PID in "$PW_YAD_PID_PROGRESS_BAR_BLOCK" "$PW_YAD_PID_PROGRESS_BAR_CS" "$PW_YAD_PID_PFX_COVER_UI" "$PW_YAD_PID_PROGRESS_BAR_COVER" do kill -s SIGUSR1 "$PW_KILL_YAD_PID" > /dev/null 2>&1 done @@ -86,6 +93,11 @@ pw_stop_progress_bar () { } export -f pw_stop_progress_bar +pw_stop_progress_bar_cover () { + kill -s KILL "$PW_YAD_PID_PROGRESS_BAR_COVER" > /dev/null 2>&1 + return 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 \