Commit fdf7ab46 authored by Mikhail Tergoev's avatar Mikhail Tergoev

###Scripts version 2045###

parent 0191ea26
История изменений и дальнейшие планы: История изменений и дальнейшие планы:
----------------------------------------- -----------------------------------------
В планах: В планах:
* добавить содерживое user.conf в лог
* добавить inxi в runtime и его вывод с аргументом -G в log * добавить inxi в runtime и его вывод с аргументом -G в log
* обновить контейнер до актуального состояния
* обновить поддержку DLSS
* добавить проверку количества db файлов на один exe * добавить проверку количества db файлов на один exe
* заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
----------------------------------------- -----------------------------------------
###Scripts version 2045###
* добавлена возможность запуска нескольких приложений с помощью WINEFILE из трея.
* добавлен вывод user.conf в лог-файл
* небольшие улучшения локализации
* на github в архивы PROTON_STEAM и PROTON_GE добавлены mono и gecko (для уменьшения возможных проблем со скачиванием)
* PROTON_STEAM скачивается автоматически перед первым запуском PortProton
###Scripts version 2044### ###Scripts version 2044###
* добавлена проверка для nvidia с нестандартными путями до nvidia_icd.json * добавлена проверка для nvidia с нестандартными путями до nvidia_icd.json
...@@ -13,7 +21,7 @@ ...@@ -13,7 +21,7 @@
* улучшена работа функции использования гибридной графики intel + nvidia * улучшена работа функции использования гибридной графики intel + nvidia
###Scripts version 2042### ###Scripts version 2042###
* из-за проблемы на стороне githab перезалиты libs_v17.2 * из за проблемы на стороне githab перезалиты libs_v17.2
* добавлена возможность удаления wine из графического интерфейса - Cпасибо Aldiserg (Dmitry) * добавлена возможность удаления wine из графического интерфейса - Cпасибо Aldiserg (Dmitry)
###Scripts version 2041### ###Scripts version 2041###
......
...@@ -17,6 +17,7 @@ print_info () { ...@@ -17,6 +17,7 @@ print_info () {
print_var () { print_var () {
for vp in $@ ; do echo "${vp}=${!vp}" ; done for vp in $@ ; do echo "${vp}=${!vp}" ; done
} }
export -f print_var
try_copy_file () { try_copy_file () {
if [ ! -f "$1" ] ; then print_info "file $1 not found for copy" && return 1 if [ ! -f "$1" ] ; then print_info "file $1 not found for copy" && return 1
...@@ -186,6 +187,7 @@ pw_mangohud_check () { ...@@ -186,6 +187,7 @@ pw_mangohud_check () {
export DISABLE_MANGOHUD=1 export DISABLE_MANGOHUD=1
fi fi
} }
export -f pw_mangohud_check
pw_vkbasalt_check () { pw_vkbasalt_check () {
if [[ ! -z "${ENABLE_VKBASALT}" && "${ENABLE_VKBASALT}" == 1 ]] ; then if [[ ! -z "${ENABLE_VKBASALT}" && "${ENABLE_VKBASALT}" == 1 ]] ; then
...@@ -437,13 +439,13 @@ update_winetricks () { ...@@ -437,13 +439,13 @@ update_winetricks () {
print_info "Version winetricks on server: ${W_TRX_EXT_VER}" print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
print_info "Version winetricks in port: ${W_TRX_INT_VER}" print_info "Version winetricks in port: ${W_TRX_INT_VER}"
#if [[ ! -f "${PORT_WINE_TMP_PATH}/winetricks" && ! -z "$W_TRX_EXT_VER" ]] || [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && ! -z "$W_TRX_EXT_VER" ]]; then if [[ ! -f "${PORT_WINE_TMP_PATH}/winetricks" && ! -z "$W_TRX_EXT_VER" ]] || [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && ! -z "$W_TRX_EXT_VER" ]]; then
if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks" mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks"
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})" W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})"
chmod u+x "${PORT_WINE_TMP_PATH}/winetricks" chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
fi fi
#fi fi
if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks" sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
...@@ -518,6 +520,10 @@ pw_tray_icon () { ...@@ -518,6 +520,10 @@ pw_tray_icon () {
echo "" echo ""
} }
export -f tray_icon_click export -f tray_icon_click
pw_tray_winefile () {
pw_run explorer
}
export -f pw_tray_winefile
tray_icon_click_exit() { tray_icon_click_exit() {
kill_portwine && kill_portwine &&
if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ]
...@@ -534,8 +540,9 @@ pw_tray_icon () { ...@@ -534,8 +540,9 @@ pw_tray_icon () {
--command="bash -c tray_icon_click" \ --command="bash -c tray_icon_click" \
--tooltip="PortProton" \ --tooltip="PortProton" \
--menu="| \ --menu="| \
<<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \ <<< WINEFILE >>>!bash -c pw_tray_winefile!"$PW_GUI_ICON_PATH/port_winefile.png"| \
<<< FORCE EXIT >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|" & <<< 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 () { pw_init_db () {
...@@ -700,11 +707,7 @@ pw_gui_for_edit_db () { ...@@ -700,11 +707,7 @@ pw_gui_for_edit_db () {
--text "Change settings in database file for ${PORTWINE_DB}\n" --separator=" " --borders=10 --center \ --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 --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0
YAD_STATUS="$?" YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" ]] ; then if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0
/bin/bash -c ${pw_full_command_line[*]} &
exit 0
elif [[ "$YAD_STATUS" == "252" ]] ; then
exit 0
elif [ "$YAD_STATUS" == "150" ] ; then elif [ "$YAD_STATUS" == "150" ] ; then
xdg-open "${PORTWINE_DB_FILE}" & xdg-open "${PORTWINE_DB_FILE}" &
exit 0 exit 0
......
...@@ -55,24 +55,24 @@ then ...@@ -55,24 +55,24 @@ then
export loc_winereg="Запустить редактор реестра префикса ${portname}" export loc_winereg="Запустить редактор реестра префикса ${portname}"
export loc_winetricks="Запустить winetricks для установки доп. библиотек в префикс ${portname}" export loc_winetricks="Запустить winetricks для установки доп. библиотек в префикс ${portname}"
export loc_edit_db="Изменить файл настроек для" export loc_edit_db="Изменить файл настроек для"
export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)' export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)'
export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)' export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)'
export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки.) (Рекомендуется не изменять значение)' export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки.) (Рекомендуется не изменять значение)'
export PW_DXR_ON_INFO='Включить поддержку Ray Tracing' export PW_DXR_ON_INFO='Включить поддержку Ray Tracing'
export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK' export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK'
export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA' export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA'
export PW_OLD_GL_STRING_INFO='Принудительное использование старых версий OpenGL' export PW_OLD_GL_STRING_INFO='Принудительное использование старых версий OpenGL'
export PW_HIDE_NVIDIA_GPU_INFO='Замаскировать все функции используемые для видеокарт NVIDIA' export PW_HIDE_NVIDIA_GPU_INFO='Замаскировать все функции используемые для видеокарт NVIDIA'
export PW_FORCE_USE_VSYNC_INFO='Принудительное включение вертикальной синхронизации' export PW_FORCE_USE_VSYNC_INFO='Принудительное включение вертикальной синхронизации'
export PW_VIRTUAL_DESKTOP_INFO='Включить запуск приложение в виртуальном рабочем столе WINE' export PW_VIRTUAL_DESKTOP_INFO='Включить запуск приложение в виртуальном рабочем столе WINE'
export PW_WINEDBG_DISABLE_INFO='Отключить все функции отладки WINE (Рекомендуется не изменять значение)' export PW_WINEDBG_DISABLE_INFO='Отключить все функции отладки WINE (Рекомендуется не изменять значение)'
export PW_USE_TERMINAL_INFO='Запускать приложение в терминале' export PW_USE_TERMINAL_INFO='Запускать приложение в терминале'
export PW_WINE_ALLOW_XIM_INFO='Использовать альтернативный режим для контроллера (Использовать только в случае проблем с контроллером)' export PW_WINE_ALLOW_XIM_INFO='Использовать альтернативный режим для контроллера (Использовать только в случае проблем с контроллером)'
export PW_HEAP_DELAY_FREE_INFO='Включить задержку освобождения некоторой памяти, чтобы обойти ошибки, связанные с использованием приложения после освобождения памяти.' export PW_HEAP_DELAY_FREE_INFO='Включить задержку освобождения некоторой памяти, чтобы обойти ошибки, связанные с использованием приложения после освобождения памяти.'
export PW_NO_WRITE_WATCH_INFO='Очень опасный способ взлома таймера записи в памяти в ntdll. Это улучшает производительность некоторых очень специфических игр. (Рекомендуется не изменять значение)' export PW_NO_WRITE_WATCH_INFO='Очень опасный способ взлома таймера записи в памяти в ntdll. Это улучшает производительность некоторых очень специфических игр. (Рекомендуется не изменять значение)'
export PW_GUI_DISABLED_CS_INFO='Отключить окно выбора режимов запуска и версии WINE' export PW_GUI_DISABLED_CS_INFO='Отключить окно выбора режимов запуска и версии WINE'
export PW_USE_GSTREAMER_INFO='Использовать Gstreamer для вывода роликов в играх (поддержка WMF)' export PW_USE_GSTREAMER_INFO='Использовать Gstreamer для вывода роликов в играх (поддержка WMF)'
export PW_USE_RUNTIME_INFO='Использовать контейнерный режим запуска (Рекомендуется не изменять значение)' export PW_USE_RUNTIME_INFO='Использовать контейнерный режим запуска (Рекомендуется не изменять значение)'
export PW_MANGOHUD_INFO='Использование мониторинга FPS и нагрузки системы (Включается и выключается сочитанием клавиш - правый Shift + F12)' export PW_MANGOHUD_INFO='Использование мониторинга FPS и нагрузки системы (Включается и выключается сочитанием клавиш - правый Shift + F12)'
export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)' export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)'
......
...@@ -36,7 +36,6 @@ start_portwine () { ...@@ -36,7 +36,6 @@ start_portwine () {
cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}" cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}"
xrdb -merge "${HOME}/.Xresources" xrdb -merge "${HOME}/.Xresources"
fi fi
pw_tray_icon
pw_start_progress_bar_block "Update prefix for ${PW_WINE_USE}... Please wait..." pw_start_progress_bar_block "Update prefix for ${PW_WINE_USE}... Please wait..."
if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then
...@@ -308,7 +307,7 @@ start_portwine () { ...@@ -308,7 +307,7 @@ start_portwine () {
if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ] if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/My Documents" ]
then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents" then try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents"
fi fi
var_winedlloverride_update "beclient,beclient_x64=b,n;steam_api,steam_api64,steamclient,steamclient64=n;lsteamclient,GameOverlayRenderer,GameOverlayRenderer64,winemenubuilder.exe=" var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n;lsteamclient,GameOverlayRenderer,GameOverlayRenderer64,winemenubuilder.exe="
# export TOTAL_VRAM=`"${PW_WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'` # export TOTAL_VRAM=`"${PW_WINELIB}/runtime/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'`
# echo "TOTAL_VRAM=${TOTAL_VRAM}" # echo "TOTAL_VRAM=${TOTAL_VRAM}"
...@@ -434,6 +433,7 @@ start_portwine () { ...@@ -434,6 +433,7 @@ start_portwine () {
echo "Set to win${PW_WINDOWS_VER}" echo "Set to win${PW_WINDOWS_VER}"
fi fi
pw_stop_progress_bar && pw_stop_progress_bar &&
pw_tray_icon
pw_start_progress_bar_cs "Start ${portname}... Please wait..." pw_start_progress_bar_cs "Start ${portname}... Please wait..."
add_in_start_portwine add_in_start_portwine
} }
...@@ -469,6 +469,7 @@ pw_run () { ...@@ -469,6 +469,7 @@ pw_run () {
fi fi
fi fi
} }
export -f pw_run
###MAIN### ###MAIN###
if [ $(id -u) -eq 0 ] ; then if [ $(id -u) -eq 0 ] ; then
...@@ -522,6 +523,7 @@ if [ -z "${INSTALLING_PORT}" ] ; then ...@@ -522,6 +523,7 @@ if [ -z "${INSTALLING_PORT}" ] ; then
. "${USER_CONF}" . "${USER_CONF}"
pw_port_update pw_port_update
pw_download_libs pw_download_libs
pw_check_and_download_wine PROTON_STEAM
pw_init_db pw_init_db
. "${USER_CONF}" . "${USER_CONF}"
fi fi
...@@ -154,6 +154,10 @@ portwine_start_debug () { ...@@ -154,6 +154,10 @@ portwine_start_debug () {
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log" cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
fi fi
echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [ -f "${USER_CONF}" ]; then
cat "${USER_CONF}" | sed '/bash/d' >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Log WINE:" >> "${PORT_WINE_PATH}/${portname}.log" echo "Log WINE:" >> "${PORT_WINE_PATH}/${portname}.log"
export DXVK_HUD="full" export DXVK_HUD="full"
......
#!/bin/bash #!/bin/bash
#Author: Castro-Fidel (PortWINE-Linux.ru) #Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=2044 #SCRIPTS_NEXT_VERSION=2045
#PORT_NEXT_VERSION=97 #PORT_NEXT_VERSION=97
######################################################################## ########################################################################
export PW_MANGOHUD=0 export PW_MANGOHUD=0
......
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