From 936c27e91928e92b01d0be1879f97bc658b36c6a Mon Sep 17 00:00:00 2001 From: castro-fidel Date: Sat, 1 May 2021 08:46:30 +0300 Subject: [PATCH] Scripts version 1053 --- data_from_portwine/changelog | 45 ++- data_from_portwine/img/gui/battle_net.png | Bin 0 -> 2368 bytes data_from_portwine/img/gui/epicgames.png | Bin 0 -> 1787 bytes data_from_portwine/img/gui/eve.png | Bin 0 -> 9271 bytes data_from_portwine/img/gui/gog.png | Bin 0 -> 6683 bytes data_from_portwine/img/gui/origin.png | Bin 0 -> 1862 bytes data_from_portwine/scripts/autoinstall | 105 +++++- data_from_portwine/scripts/lang | 4 +- .../scripts/portwine_db/Battle.net_Launcher | 6 +- .../scripts/portwine_db/Cyberpunk2077 | 10 +- .../scripts/portwine_db/GalaxyClient | 6 +- data_from_portwine/scripts/portwine_db/Origin | 36 +- .../scripts/portwine_db/default | 21 +- .../scripts/portwine_db/dontstarve | 12 +- data_from_portwine/scripts/portwine_db/eve | 46 +++ data_from_portwine/scripts/portwine_db/wgc | 2 +- .../scripts/portwine_db/wot_encore_install_ru | 41 +++ data_from_portwine/scripts/runlib | 314 +++++++++--------- data_from_portwine/scripts/setup.sh | 7 +- data_from_portwine/scripts/start.sh | 92 +++-- data_from_portwine/scripts/var | 10 +- 21 files changed, 526 insertions(+), 231 deletions(-) create mode 100644 data_from_portwine/img/gui/battle_net.png create mode 100644 data_from_portwine/img/gui/epicgames.png create mode 100644 data_from_portwine/img/gui/eve.png create mode 100644 data_from_portwine/img/gui/gog.png create mode 100644 data_from_portwine/img/gui/origin.png create mode 100644 data_from_portwine/scripts/portwine_db/eve create mode 100644 data_from_portwine/scripts/portwine_db/wot_encore_install_ru diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog index c6861c4..a7ff4c8 100644 --- a/data_from_portwine/changelog +++ b/data_from_portwine/changelog @@ -1,17 +1,60 @@ История изменений и дальнейшие планы: ----------------------------------------- В планах: -* добавть кнопку очистки префикса в PortProton +* добавить автоматическое обновление при выходе нового порта +* добавить вывод ошибки при скачивании файла при автоматической установки +* добавить фикс установки dotnet +* добавить кнопку очистки префикса в PortProton * проверка версий и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.zip * добавить условие: если установлен vcrun2019, то не устанавливать vcrun2015-2017 * EDIT DB открывается не у всех +* пересоздать удаление PortProton (чистка ярлыков в меню с помощью grep "путь до порта") * проверить windows steam под PortProton * создать defaut префикс и сделать авто симлинки в другие префиксы (games, programm files, users) * иконка в трей для PortProton +* сменить цвет url +* добавить контроль за окнами для правильного отключения прогресс бара * проверка версий dxvk на github: curl -s https://github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%%%g' * проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%%%g' * зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru ----------------------------------------- +###Scripts version 1053### +* HOTFIX - перенос всех функций в скрипте runlib (наверх) +* добавлена переменная в default ##export PW_WINE_ALLOW_XIM=1, которая отключает XIM (X input manager) +* в функции PW_INIT_PFX добавлено копирование всех dll из библиотек wine/lib(64) в префикс (если префикса не существует) + +###Scripts version 1052### +* отключена автоотчистка ~/.PortWINE +* отключение сервиса OriginWebHelperService.exe (правкой реестра) перенесена в скрипт var +* в AUTOINSTALL добавлена установка EVE Online + +###Scripts version 1051### +* изменён db файл Origin для отключение сервиса OriginWebHelperService.exe (правкой реестра) + +###Scripts version 1050### +* добавлен фикc установки Epic Games Launcher +* принудительно отключен сервис OriginWebHelperService.exe +* в AUTOINSTALL добавлена установка GoG Galaxy + +###PortProton-76### 29.04.2021 ###Scripts version 1049### +* обновить Proton Experimental (2021/04/27) +* добавлен вывод changelog и debug во встроенном YAD (gui) +* в AUTOINSTALL добавлена установка Epic Games Launcher +* исправлена ошибка: 00bc:err:winediag:load_dxvk_config Couldn't load dxvk_config.dll + +###Scripts version 1048### +* реализовано обновление скриптов "налету" (без необходимости перезапускать порт) + +###Scripts version 1047### +* в AUTOINSTALL добавлены установки "Origin" и "Battle.net Launcher" +* увеличено время ожидания ответа при проверки связи с интернетом (ping -w5 -c1 github.com) +* увеличено количество попыток скачивания для неустойчивого интернет соединения (wget -c -t 10 -T 1) +* в GUI PortProton добавлена кнопка F.A.Q. для открытия справочной страницы portwine-linux.ru + +###Scripts version 1046### +* обновлена верси VKD3D используемая по умолчанию до версии 2.3.1 (скрипт var, переменная export PW_DEF_VKD3D_VER=2.3.1) +* HOTFIX сохранение выбраного режима запуска в существующий файл db при создании ярлыка + ###Scripts version 1045### * HOTFIX установка компонентов при отсутствии winetricks.log diff --git a/data_from_portwine/img/gui/battle_net.png b/data_from_portwine/img/gui/battle_net.png new file mode 100644 index 0000000000000000000000000000000000000000..97dc0ed76923cf8a92a9677d74db1ab88a7849da GIT binary patch literal 2368 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 Nm>XN;3JqOP{s-F;{lWkM literal 0 HcmV?d00001 diff --git a/data_from_portwine/img/gui/origin.png b/data_from_portwine/img/gui/origin.png new file mode 100644 index 0000000000000000000000000000000000000000..7f15645222848dd7ee1986a1f1c7626d1bfd22eb GIT binary patch literal 1862 zcmV-M2f6r(P)s?H2eBn}XxTQG3Nl8Kh5o%ZA z)+97(n!1;ymsBbbk@C_$6iY?%$e`Z9x2tHGj8~PpQ4{^$mX*KR{nYCHhc8|K`&j7nhRGGFi)HW*Z56JI#0Dx-g6)0+$YodnET+5vO(ZNr@-PJ$(@vT6Z>0T0n0q85+R{nn7{N$q} zH{VdVM=d*?aZdG{?U(^h(&c$O;E)HDWJ76o9OCTeWD>AtO&hIF(MP9 zfQrIv*&%l+xaK+0h3ULp@9MwtUS%rEl}Q1uiJI84Z`^mP zAs#Hxiwc#or6{Dz5a&hHf4g{n@8L_MM-34+E=)f1mFBq}5vD}et8iJw6p(<42Q%Th z4f{^FrgA=89)$@2rQGjWde_!HTbFl^~i{~WeP&k(1|)H>O#@bG6lyjr%xW}9eK6d5<>C5 zWUmm)dqHzDvZ~xy1%N_M>Y}F3i4>WpxC2obQgjbx-oKgJDWU+-J(PLhP{F2T4+WeE z>SK0Zxi4Uv!$^xgrp1y5Za(u2#8oZ~*a`cxH6e<;mx;pDoBG9@VqOL^`Kt_ps7E1n z0)kTBdpuZQ^+<8AQz^Xo?!o%1jd|}uP%7DrdJqId+3+ebLk%#90N{KocbWlsRh2>k z0Z>lmJlYl{p4`58PMgz0&MlF(g;^kQs^Rv$u0Heil^?m=G9}53Xk3K0c6r7XZH4 zShexthIo7El|xZ5-Q1xnBx;B+rt{rf|9WA~xL03JL{q3Z6!k<1w=YiaNQd4R0B9-6 zq=1)T|fK;cBBCc^y7?!ljaFqr+&6y}ME1F7;b zf}${N?BBBZ&;xa`_Eg@x(o9$`Qb=u~s)?xb%qZ$el_kC~n*YZWou94CIB}JSQROKI zCU7Wv9 z6i`DjePiy*!M^mqmbsDpSJp(9LqT~Fh^iM=(GuZTq|>Ront<)8;oQ3~9J}(}P-dP9 zXJj@7lnFeXlhOUX>D~Qf?#zO?UDi}(=O+U;5knj>IBJMhK~4)yY)`#n3Us{$7?wuDk^*OKEyOTldl0= 1.7 is widespread ##export WINEARCH=win32 # defaut = win64 ##export WINEPREFIX= ##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG -##export PW_USE_TERMINAL=0 # Force run in terminal -##export PW_LOG=0 # Enable debug mode fo terminal +##export PW_USE_TERMINAL=1 # Force run in terminal +##export PW_LOG=1 # Enable debug mode fo terminal ##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI ##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/dontstarve b/data_from_portwine/scripts/portwine_db/dontstarve index 7be2773..f96be06 100644 --- a/data_from_portwine/scripts/portwine_db/dontstarve +++ b/data_from_portwine/scripts/portwine_db/dontstarve @@ -1,14 +1,14 @@ #!/bin/bash - #Author: xuser - #dontstarve.exe - #Rating=1-5 - ################################################ - export PW_VULKAN_USE=0 +#Author: xuser +#dontstarve.exe +#Rating=1-5 +################################################ +export PW_VULKAN_USE=0 #####################examples########################### ##export PW_COMMENT_DB="blablabla" ##export PW_VULKAN_USE=dxvk # dxvk, vkd3d or 0 for OpenGL ##export WINEDLLOVERRIDES="blabla=n,b" -##export PW_DLL_INSTALL="vcrun2017 d3dcompiler_43" # Install DDL in port prefix (used winetricks) +export PW_DLL_INSTALL="d3dx9 d3dcompiler_43" # Install DDL in port prefix (used winetricks) ##export PW_LOG=0 # Enable debug mode fo terminal ##export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. ##export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives diff --git a/data_from_portwine/scripts/portwine_db/eve b/data_from_portwine/scripts/portwine_db/eve new file mode 100644 index 0000000..c1f3966 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/eve @@ -0,0 +1,46 @@ +#!/bin/bash +#Author: PortWINE-Linux.ru +#eve.exe +#evelauncher.exe +#Rating=5 +#####################examples########################### +##export PW_COMMENT_DB="blablabla" + +export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +export PW_DLL_INSTALL="vcrun2017 d3dcompiler_47" # Install DDL in port prefix (used winetricks) +export WINEDLLOVERRIDES="concrt140,msvcp140,msvcp140_1,msvcp140_2,d3dcompiler_47=n" +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options + +##export PW_DXVK_VER=1.8.1 +##export PW_VKD3D_VER=2.2 +##export PW_DXR_ON=1 +##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_NVAPI_DISABLE=1 +##export PW_OLD_GL_STRING=0 +##export PW_HIDE_NVIDIA_GPU=0 +##export PW_FORCE_USE_VSYNC=2 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_VKD3D_FEATURE_LEVEL=0 +##export PW_DXGI_FROM_DXVK=0 +##export PW_VIRTUAL_DESKTOP=1 +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue +##export ENABLE_VKBASALT=1 + +##export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. +##export PW_NO_ESYNC=1 # Do not use eventfd-based in-process synchronization primitives + +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games + +##export PW_FORCE_DISABLED_GAMEMOD=0 # Force disabele gamemod +##export PW_FORCE_LARGE_ADDRESS_AWARE=1 # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. +##export PW_NO_WRITE_WATCH=0 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). +##export PW_HEAP_DELAY_FREE=0 + +##export WINEARCH=win32 # defaut = win64 +##export WINEPREFIX= + +##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_USE_TERMINAL=0 # Force run in terminal +##export PW_LOG=0 # Enable debug mode fo terminal +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI + +##ADD_IN_START_PORTWINE () { commands ; } diff --git a/data_from_portwine/scripts/portwine_db/wgc b/data_from_portwine/scripts/portwine_db/wgc index ff65a89..6d988bc 100644 --- a/data_from_portwine/scripts/portwine_db/wgc +++ b/data_from_portwine/scripts/portwine_db/wgc @@ -3,7 +3,7 @@ #wgc.exe #Rating=5 ################################################ -export PW_VULKAN_USE=dxvk #dxvk, vkd3d or 0 for OpenGL +#export PW_VULKAN_USE=dxvk #dxvk, vkd3d or 0 for OpenGL export LAUNCH_PARAMETERS="--disable-gpu" # Additional launch options export PW_USE_TERMINAL=1 export PW_WINDOWS_VER=7 # Set windows version 10, 7 or XP diff --git a/data_from_portwine/scripts/portwine_db/wot_encore_install_ru b/data_from_portwine/scripts/portwine_db/wot_encore_install_ru new file mode 100644 index 0000000..dd13c58 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/wot_encore_install_ru @@ -0,0 +1,41 @@ +#!/bin/bash + #Author: user + #wot_encore_install_ru.exe + #Rating=1-5 + ################################################ + export PW_VULKAN_USE=dxvk + export PW_USE_TERMINAL=1 + export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_dotnet" + export PW_DLL_INSTALL="dotnet40 vcrun2017 vcrun6 mfc42 vb6run physx" + export PW_COMMENT_DB="World Of Tanks EnCore Installer" + ## export DXVK_HUD=fps,devinfo + ## export PW_MANGOHUD=1 +#####################examples########################### +PW_INSTALL_DOTNET40 () { + export DN=dotNetFx40_Full_x86_x64.exe + export mscor=mscorsvw.exe + export KILL_MSCOR=0 + export DN_INST_SUCC=0 + + while [ ! -z "`ps -ax | grep PortProton | grep -m1 'start.sh' | awk '{print $1}'`" ] ; do + echo "PID parrent start.sh was found" + sleep 5 + while [ ! -z `pidof -s $DN` ] ; do + echo "$DN is runing.. Wait..." + sleep 5 + export DN_INST_SUCC=1 + done + while [ ! -z `pgrep "${mscor}" | head -n 1` ] && [ -z `pidof -s $DN` ] ; do + echo "$mscor was found. Kill it..." + kill -n 9 `pgrep "${mscor}" | head -n 1` + sleep 1 + export KILL_MSCOR=1 + done + if [ "$KILL_MSCOR" != 0 ] && [ "$DN_INST_SUCC" != 0 ] && [ -z `pidof -s $DN` ] && [ -z `pgrep "${mscor}" | head -n 1` ]; then + echo "All $mscor killed" + break + fi + done +} +PW_INSTALL_DOTNET40 & + diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 8390042..1d0c900 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -16,7 +16,7 @@ if [ "${s_install}" != "1" ] && [ ! -x "`which "zenity" 2>/dev/null`" ];then xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0 fi pw_ping_test () { - ping -w1 -c1 github.com &> /dev/null + ping -w5 -c1 github.com &> /dev/null [ "$?" == "0" ] && return 0 || return 1 } print_error () { @@ -81,7 +81,7 @@ try_force_link_dir () { } try_download () { set -o pipefail - wget -c -t 3 -T 2 "$1" --output-document="$2" 2>&1 | \ + wget -c -t 10 -T 1 "$1" --output-document="$2" 2>&1 | \ sed -u 's/^[a-zA-Z\-].*//; s/.* \{1,2\}\([0-9]\{1,3\}\)%.*/\1\n#Downloading... \1%/; s/^20[0-9][0-9].*/#Done./' | \ zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90 [ "${PIPESTATUS[0]}" != 0 ] && print_error "failed to download $1. Scipping." && return 1 || return 0 @@ -108,10 +108,6 @@ unpack_tar_xz () { tar -Jxvf "$1" -C "$2" | sszen [ "${PIPESTATUS[0]}" != 0 ] && print_error "File unpacking error." && return 1 || return 0 } -#pw_restart () { -# exit 0 & -# /bin/bash -C $pw_full_start_command -#} pw_mangohud_check () { export RUN_MANGOHUD="" export MANGOHUD=0 @@ -140,145 +136,16 @@ PW_START_PROGRESS_BAR_CS () { --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 & echo "" } -PW_START_PROGRESS_BAR_BLOK () { +PW_START_PROGRESS_BAR_BLOCK () { "${pw_yad}" --progress --progress-text="$@" --pulsate \ --no-buttons --undecorated --center --skip-taskbar --width=500 --wrap-width=500 & echo "" } PW_STOP_PROGRESS_BAR () { while [ ! -z "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] - do kill -9 [ "`pgrep -a yad | grep "\-\-progress" | awk '{print $1}'`" ] + do kill -n 9 `pgrep -a yad | grep "\-\-progress" | awk '{print $1}' | head -n 1` done } -cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)" -cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)" -export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" -read "portname" < "${PORT_WINE_TMP_PATH}/portname" && export portname -cd "${PORT_SCRIPTS_PATH}" -. "${PORT_SCRIPTS_PATH}/var" -create_new_dir "${PORT_WINE_TMP_PATH}" -create_new_dir "${HOME}/.PortWINE/tmp" -try_remove_dir "${PORT_SCRIPTS_PATH}/vars" - -if [ ! -e "${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" ` - echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" -fi - -. "${PORT_SCRIPTS_PATH}"/lang - -if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_ver" ]; then - echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver" -fi - -var_winedlloverride_update "winemenubuilder.exe=" -export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz" -export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz" -export url_gecko_x86_64="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86_64.tar.xz" -export urlg="https://portwine-linux.ru/portwine-faq/" -export PW_FTP_URL="https://portwine-linux.ru/ftp" -export WINEDIR="${PORT_WINE_PATH}"/data/dist -export WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}" -export WINEPREFIX="${PORT_WINE_PATH}/data/pfx" -export PW_COMPAT_MEDIA_PATH="${PORT_WINE_TMP_PATH}" -export PW_RUNTIME="$WINELIB/run.sh" -export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui" -export PW_VULKAN_DLL="${HOME}/.PortWINE/vulkan" -export PW_DXVK_VER="${PW_DEF_DXVK_VER}" -export PW_VKD3D_VER="${PW_DEF_VKD3D_VER}" -export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1` -export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` - -if [ -z "${INSTALLING_PORT}" ] ; then - if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then - print_info "Download and install libraries..." - if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${pw_libs_ver}/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ; then - if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/" ; then - try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" - else - try_remove_dir "${HOME}/.PortWINE/libs${pw_libs_ver}" - try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" - `zenity --error --title "Error..." --text "Failed to download runtime libraries.\nCheck internet connection and restart PortProton" --no-wrap ` > /dev/null 2>&1 - exit 0 - fi - else - `zenity --error --title "Error..." --text "Failed to download runtime libraries.\nCheck internet connection and restart PortProton" --no-wrap ` > /dev/null 2>&1 - exit 1 - fi - fi - if [ -e "${WINELIB}/run.sh" ]; then - echo "######################################################" - echo "Runtime libraries is enabled" - try_remove_dir "${WINELIB}/pinned_libs_32" - try_remove_dir "${WINELIB}/pinned_libs_64" - export pw_yad="${WINELIB}/usr/bin/yad" - export pw_zstd="${WINELIB}/usr/bin/zstd" - if [ -x "`which xterm 2>/dev/null`" ]; then - export SYS_XTERM=`which xterm` - export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e" - else - export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e" - fi - else - echo "######################################################" - echo "Runtime libraries is disabled" - fi - if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then - echo "######################################################" - print_info "Download and install wine mono..." - if try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" ; then - create_new_dir "${HOME}/.PortWINE/mono" - if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" "${HOME}/.PortWINE/mono/" - then try_remove_dir "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}-x86" - fi - try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" - fi - fi - if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" ] ; then - echo "######################################################" - echo "Download and install wine gecko x86..." - if try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" ; then - create_new_dir "${HOME}/.PortWINE/gecko" - if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" "${HOME}/.PortWINE/gecko/" - then try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" - fi - try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" - fi - fi - if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" ] ; then - echo "######################################################" - echo "Download and install wine gecko x86_64..." - if try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" ; then - create_new_dir "${HOME}/.PortWINE/gecko" - if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" "${HOME}/.PortWINE/gecko/" - then try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" - fi - try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" - fi - fi - create_new_dir "${WINEDIR}/share/wine/" - try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/ - try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/ - - if [ ! -z "${portwine_exe}" ]; then - export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` - export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" - export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'` - fi - if [ ! -z "${PORTWINE_DB}" ]; then - 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}" - echo "Use ${PORTWINE_DB_FILE} db file." - else - . "${PORT_SCRIPTS_PATH}/portwine_db/default" - echo "Use default db file." - fi - fi -fi START_PORTWINE () { if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e" @@ -288,8 +155,6 @@ START_PORTWINE () else export PW_TERM="${PW_XTERM}" fi - [ -z "${INSTALLING_PORT}" ] && PW_UPDATE - try_remove_dir "${PORT_WINE_PATH}/data/vulkan" create_new_dir "${PW_VULKAN_DLL}" @@ -395,8 +260,13 @@ START_PORTWINE () if [ ! -z "${PW_VKD3D_FEATURE_LEVEL}" ] && [ "${PW_VKD3D_FEATURE_LEVEL}" != 0 ] ; then export VKD3D_FEATURE_LEVEL="12_0" fi - if [ ! -z "${PW_HEAP_DELAY_FREE}" ] && [ "${PW_HEAP_DELAY_FREE}" != 0 ] ; then - export WINE_HEAP_DELAY_FREE="1" + if [ ! -z "${PW_HEAP_DELAY_FREE}" ] && [ "${PW_HEAP_DELAY_FREE}" != 0 ] + then export WINE_HEAP_DELAY_FREE="1" + else export WINE_HEAP_DELAY_FREE="0" + fi + if [ ! -z "${PW_WINE_ALLOW_XIM}" ] && [ "${PW_WINE_ALLOW_XIM}" != 0 ] + then export WINE_ALLOW_XIM="1" + else export WINE_ALLOW_XIM="0" fi if [ ! -z "${PW_DXR_ON}" ] && [ "${PW_DXR_ON}" != 0 ] ; then var_vkd3d_config_update dxr @@ -626,31 +496,39 @@ PW_INIT_PFX () { if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || [ ! -f "${WINEPREFIX}"/user.reg ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || [ ! -f "${WINEPREFIX}"/system.reg ] ; then sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf + create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/" + create_new_dir "${WINEPREFIX}/drive_c/windows/system32/" + cp -f "${WINEDIR}/lib/wine/fakedlls/"*.* "${WINEPREFIX}/drive_c/windows/syswow64/" + cp -f "${WINEDIR}/lib/wine/"*.* "${WINEPREFIX}/drive_c/windows/syswow64/" + cp -f "${WINEDIR}/lib64/wine/fakedlls/"*.* "${WINEPREFIX}/drive_c/windows/system32/" + cp -f "${WINEDIR}/lib64/wine/"*.* "${WINEPREFIX}/drive_c/windows/system32/" + PW_STOP_PROGRESS_BAR - PW_START_PROGRESS_BAR_BLOK "Updating prefix... Please wait..." + PW_START_PROGRESS_BAR_BLOCK "Updating prefix... Please wait..." "${PW_RUNTIME}" "${WINELOADER}" wineboot -u PW_STOP_PROGRESS_BAR PW_START_PROGRESS_BAR_CS "Initialization prefix..." fi + if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then + try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" + fi rm -f "${WINEPREFIX}/drive_c/windows/system32"/steam* rm -f "${WINEPREFIX}/drive_c/windows/syswow64"/steam* + + create_new_dir "${WINEPREFIX}/drive_c/windows/Fonts/" try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Regular.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arial.ttf try_copy_file "${WINEDIR}/share/fonts/"LiberationSans-Bold.ttf "${WINEPREFIX}/drive_c/windows/Fonts/"arialbd.ttf 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 - for wine_build_dll in ntdll mf mf3216 mferror mfmediaengine mfplat mfplay mfreadwrite vulkan-1 ; do #sqmapi msmpeg2vdec msmpeg2adec colorcnv - try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" - [ "$?" == 0 ] && var_winedlloverride_update "${wine_build_dll}=b" - done var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n" #sed -i '/steamclient/d' "${WINEPREFIX}"/*.reg #sed -i '/SteamPath/d' "${WINEPREFIX}"/*.reg export TOTAL_VRAM=`"${WINELIB}/amd64/usr/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'` echo "TOTAL_VRAM=${TOTAL_VRAM}" - + try_copy_file "${WINEDIR}/lib/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" + try_copy_file "${WINEDIR}/lib64/wine/dxvk/dxvk_config.dll" "${WINEPREFIX}/drive_c/windows/system32/" if [ "${PW_VULKAN_USE}" = "0" ]; then export MESA_GLSL_CACHE_DIR="${PORT_WINE_TMP_PATH}" export GL_NO_DSO_FINALIZER=1 @@ -700,7 +578,6 @@ PW_INIT_PFX () { echo "Use VKD3D-PROTON version ${PW_VKD3D_VER} (DX12 to vulkan)" fi } - PW_SCRIPTS_UPDATE () { if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then echo "1000" > "${PORT_WINE_TMP_PATH}/scripts_ver" @@ -717,8 +594,11 @@ PW_SCRIPTS_UPDATE () { if [ "$?" == "0" ] ; then try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz" echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" - `zenity --info --title "Info..." --text "${loc_scripts_update}" --no-wrap ` > /dev/null 2>&1 - xdg-open "${PORT_WINE_PATH}/data/changelog" + yad --title="Changelog" --borders=10 \ + --text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \ + --text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \ + --filename="${PORT_WINE_PATH}/data/changelog" + [ "$?" == 0 ] && /bin/bash -c ${pw_full_command_line[*]} & exit 0 fi fi @@ -755,3 +635,135 @@ PW_RUN () { fi fi } + +cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)" +cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)" +export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" +read "portname" < "${PORT_WINE_TMP_PATH}/portname" && export portname +cd "${PORT_SCRIPTS_PATH}" +. "${PORT_SCRIPTS_PATH}/var" +create_new_dir "${PORT_WINE_TMP_PATH}" +create_new_dir "${HOME}/.PortWINE/tmp" +try_remove_dir "${PORT_SCRIPTS_PATH}/vars" + +if [ ! -e "${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" ` + echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" +fi + +. "${PORT_SCRIPTS_PATH}"/lang + +if [ ! -e "${PORT_WINE_TMP_PATH}/${portname}_ver" ]; then + echo "10" > "${PORT_WINE_TMP_PATH}/${portname}_ver" +fi + +var_winedlloverride_update "winemenubuilder.exe=" +export url_mono="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${mono_ver}/wine-mono-${mono_ver}-x86.tar.xz" +export url_gecko_x86="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86.tar.xz" +export url_gecko_x86_64="https://dl.winehq.org/wine/wine-gecko/${gecko_ver}/wine-gecko-${gecko_ver}-x86_64.tar.xz" +export urlg="https://portwine-linux.ru/portwine-faq/" +export PW_FTP_URL="https://portwine-linux.ru/ftp" +export WINEDIR="${PORT_WINE_PATH}"/data/dist +export WINELIB="${HOME}/.PortWINE/libs${pw_libs_ver}" +export WINEPREFIX="${PORT_WINE_PATH}/data/pfx" +export PW_COMPAT_MEDIA_PATH="${PORT_WINE_TMP_PATH}" +export PW_RUNTIME="$WINELIB/run.sh" +export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui" +export PW_VULKAN_DLL="${HOME}/.PortWINE/vulkan" +export PW_DXVK_VER="${PW_DEF_DXVK_VER}" +export PW_VKD3D_VER="${PW_DEF_VKD3D_VER}" +export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1` +export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1` + +if [ -z "${INSTALLING_PORT}" ] ; then + if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then + print_info "Download and install libraries..." + if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${pw_libs_ver}/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ; then + if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/" ; then + try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" + else + try_remove_dir "${HOME}/.PortWINE/libs${pw_libs_ver}" + try_remove_file "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" + `zenity --error --title "Error..." --text "Failed to download runtime libraries.\nCheck internet connection and restart PortProton" --no-wrap ` > /dev/null 2>&1 + exit 0 + fi + else + `zenity --error --title "Error..." --text "Failed to download runtime libraries.\nCheck internet connection and restart PortProton" --no-wrap ` > /dev/null 2>&1 + exit 1 + fi + fi + if [ -e "${WINELIB}/run.sh" ]; then + echo "######################################################" + echo "Runtime libraries is enabled" + try_remove_dir "${WINELIB}/pinned_libs_32" + try_remove_dir "${WINELIB}/pinned_libs_64" + export pw_yad="${WINELIB}/usr/bin/yad" + export pw_zstd="${WINELIB}/usr/bin/zstd" + if [ -x "`which xterm 2>/dev/null`" ]; then + export SYS_XTERM=`which xterm` + export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e" + else + export PW_XTERM="${WINELIB}/amd64/usr/bin/xterm -geometry 159x37 -e" + fi + else + echo "######################################################" + echo "Runtime libraries is disabled" + fi + if [ ! -d "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}" ] ; then + echo "######################################################" + print_info "Download and install wine mono..." + if try_download "${url_mono}" "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" ; then + create_new_dir "${HOME}/.PortWINE/mono" + if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" "${HOME}/.PortWINE/mono/" + then try_remove_dir "${HOME}/.PortWINE/mono/wine-mono-${mono_ver}-x86" + fi + try_remove_file "${HOME}/.PortWINE/tmp/wine-mono-${mono_ver}-x86.tar.xz" + fi + fi + if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" ] ; then + echo "######################################################" + echo "Download and install wine gecko x86..." + if try_download "${url_gecko_x86}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" ; then + create_new_dir "${HOME}/.PortWINE/gecko" + if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" "${HOME}/.PortWINE/gecko/" + then try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86" + fi + try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86.tar.xz" + fi + fi + if [ ! -d "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" ] ; then + echo "######################################################" + echo "Download and install wine gecko x86_64..." + if try_download "${url_gecko_x86_64}" "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" ; then + create_new_dir "${HOME}/.PortWINE/gecko" + if ! unpack_tar_xz "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" "${HOME}/.PortWINE/gecko/" + then try_remove_dir "${HOME}/.PortWINE/gecko/wine-gecko-${gecko_ver}-x86_64" + fi + try_remove_file "${HOME}/.PortWINE/tmp/wine-gecko-${gecko_ver}-x86_64.tar.xz" + fi + fi + create_new_dir "${WINEDIR}/share/wine/" + try_force_link_dir "${HOME}/.PortWINE/gecko" "${WINEDIR}"/share/wine/ + try_force_link_dir "${HOME}/.PortWINE/mono" "${WINEDIR}"/share/wine/ + + if [ ! -z "${portwine_exe}" ]; then + export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` + export PATH_TO_GAME="$( cd "$( dirname "${portwine_exe}" )" >/dev/null 2>&1 && pwd )" + export WIN_PATH_TO_GAME=`echo "C:${PATH_TO_GAME}" | sed "s%$WINEPREFIX%%g" | sed "s/drive_c//g" | sed 's#/#\\\#g'` + fi + if [ ! -z "${PORTWINE_DB}" ]; then + 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}" + echo "Use ${PORTWINE_DB_FILE} db file." + else + . "${PORT_SCRIPTS_PATH}/portwine_db/default" + echo "Use default db file." + fi + fi +fi + +[ -z "${INSTALLING_PORT}" ] && PW_UPDATE diff --git a/data_from_portwine/scripts/setup.sh b/data_from_portwine/scripts/setup.sh index 6a6916e..c8fa190 100755 --- a/data_from_portwine/scripts/setup.sh +++ b/data_from_portwine/scripts/setup.sh @@ -16,7 +16,7 @@ try_remove_file "${PORT_WINE_PATH}/restart.desktop" try_remove_dir "${PORT_WINE_PATH}/data/pfx/dosdevices" try_remove_dir "${PORT_WINE_PATH}/Settings" -try_remove_dir "$HOME/.PortWINE" +#try_remove_dir "$HOME/.PortWINE" create_new_dir "/home/${USER}/.local/share/applications" @@ -34,6 +34,7 @@ chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" /home/${USER}/.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" name_desktop="readme" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -58,7 +59,6 @@ do done chmod u+x "${PORT_SCRIPTS_PATH}/"* -try_remove_dir "${PORT_WINE_PATH}/data/pfx/drive_c/drive_c" try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/" if [ -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ] && [ ! -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then cp -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"/* "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/" @@ -67,9 +67,6 @@ elif [ -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" fi ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" -if [ ! -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" ]; then - ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/${USER}" -fi pw_clear_pfx if [ "${s_install}" = "1" ]; then echo "Installation completed successfully." diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 95d2de3..e8c8926 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -1,5 +1,6 @@ #!/bin/bash # Author: PortWINE-Linux.ru +export pw_full_command_line=("$0" $*) if [ -f "$1" ]; then export portwine_exe="$(readlink -f "$1")" fi @@ -45,22 +46,21 @@ PORTWINE_CREATE_SHORTCUT () { rm -f "${PORTPROTON_PATH}/"*.ico rm -f "${PORTPROTON_PATH}/"*.png fi - if [ $? -eq 1 ] ; then exit 1 ; fi if [ ! -z "${PORTWINE_DB}" ]; then PORTWINE_DB_FILE=`grep -il "\#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*` - if [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "${PW_VULKAN_USE}" ]; then + if [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "`cat "${PORTWINE_DB_FILE}" | grep "export PW_VULKAN_USE=" | grep -v "#"`" ] ; then echo "export PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORTWINE_DB_FILE}" elif [ -z "${PORTWINE_DB_FILE}" ]; then - echo "#!/bin/bash - #Author: "${USER}" - #"${PORTWINE_DB}.exe" - #Rating=1-5 - ################################################ - export PW_VULKAN_USE=${PW_VULKAN_USE}" > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" - cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" + echo "#!/bin/bash" > "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" + echo "#Author: "${USER}"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" + echo "#"${PORTWINE_DB}.exe"" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" + echo "#Rating=1-5" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" + echo "########################################################" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" + echo "export PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" + cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | grep "##" >> "${PORT_SCRIPTS_PATH}/portwine_db/$PORTWINE_DB" fi fi - name_desktop="${PORTPROTON_NAME}" +name_desktop="${PORTPROTON_NAME}" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${PORTPROTON_NAME}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" if [ -z "${PW_CHECK_AUTOINSTAL}" ] @@ -167,7 +167,9 @@ PORTWINE_DEBUG () { sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && KILL_PORTWINE deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++') echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" - xdg-open "${PORT_WINE_PATH}/${portname}.log" + yad --title="${portname}.log" --borders=10 --no-buttons --text-align=center \ + --text-info --show-uri --wrap --center --width=1200 --height=550 \ + --filename="${PORT_WINE_PATH}/${portname}.log" } PW_WINECFG () { START_PORTWINE @@ -213,7 +215,7 @@ if [ ! -z "${portwine_exe}" ]; then --button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ --button='DEBUG'!!"${loc_debug}":102 \ - --button='LAUNCH'!!"${loc_launch}":106 &> /dev/null ) + --button='LAUNCH'!!"${loc_launch}":106 ) PW_YAD_SET="$?" elif [ ! -z "${PORTWINE_DB_FILE}" ] && [ -z "${PW_VULKAN_USE}" ]; then if [ -z "${PW_COMMENT_DB}" ] ; then @@ -222,21 +224,23 @@ if [ ! -z "${portwine_exe}" ]; then OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=15 --form --center \ --title "$portname" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --field="WINE:CB" "DXVK"!"VKD3D"!"OPENGL" \ + --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \ --button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ --button='DEBUG'!!"${loc_debug}":102 \ - --button='LAUNCH'!!"${loc_launch}":106 &> /dev/null ) + --button='LAUNCH'!!"${loc_launch}":106 ) PW_YAD_SET="$?" + export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'` else OUTPUT_START=$("${pw_yad}" --wrap-width=250 --borders=15 --form --center \ --title "$portname" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --field="WINE:CB" "DXVK"!"VKD3D"!"OPENGL" \ + --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \ --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ --button='DEBUG'!!"${loc_debug}":102 \ - --button='LAUNCH'!!"${loc_launch}":106 &> /dev/null ) + --button='LAUNCH'!!"${loc_launch}":106 ) PW_YAD_SET="$?" + export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'` fi elif [ ! -z "${PORTWINE_DB_FILE}" ]; then PORTWINE_LAUNCH @@ -244,24 +248,37 @@ if [ ! -z "${portwine_exe}" ]; then OUTPUT_START=$("${pw_yad}" --wrap-width=250 --borders=15 --form --center \ --title "$portname" --image "$PW_GUI_ICON_PATH/port_proton.png" --separator=";" \ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --field="WINE:CB" "DXVK"!"VKD3D"!"OPENGL" \ + --field="Run with :CB" "DXVK (DX 9-11 to Vulkan)"\!"VKD3D (DX 12 to Vulkan)"\!"OPENGL " \ --button='CREATE SHORTCUT'!!"${loc_creat_shortcut}":100 \ --button='DEBUG'!!"${loc_debug}":102 \ - --button='LAUNCH'!!"${loc_launch}":106 &> /dev/null ) + --button='LAUNCH'!!"${loc_launch}":106 ) PW_YAD_SET="$?" + export VULKAN_MOD=`echo "$OUTPUT_START" | awk '{print $1}'` fi else button_click () { - echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" + [ ! -z "$1" ] && echo "$1" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" if [ ! -z `pidof -s yad` ] ; then kill -s SIGUSR1 `pgrep -a yad | grep "\-\-key=${KEY} \-\-notebook" | awk '{print $1}'` fi } export -f button_click - export KEY=$RANDOM + open_changelog () { + yad --title="Changelog" --borders=10 --no-buttons --text-align=center \ + --text-info --show-uri --wrap --center --width=1200 --height=550 \ + --filename="${PORT_WINE_PATH}/data/changelog" + } + export -f open_changelog + + export KEY=$RANDOM "${pw_yad}" --plug=$KEY --tabnum=2 --form --columns=2 --scroll \ - --field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' & \ + --field=" Wargaming Game Center"!"$PW_GUI_ICON_PATH/wgc.png":"BTN" '@bash -c "button_click PW_WGC"' \ + --field=" Battle.net Launcher"!"$PW_GUI_ICON_PATH/battle_net.png":"BTN" '@bash -c "button_click PW_BATTLE_NET"' \ + --field=" Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png":"BTN" '@bash -c "button_click PW_EPIC"' \ + --field=" GoG Galaxy Launcher"!"$PW_GUI_ICON_PATH/gog.png":"BTN" '@bash -c "button_click PW_GOG"' \ + --field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png":"BTN" '@bash -c "button_click PW_EVE"' \ + --field=" Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png":"BTN" '@bash -c "button_click PW_ORIGIN"' & \ "${pw_yad}" --plug=${KEY} --tabnum=1 --columns=3 --form --separator=";" \ --image "$PW_GUI_ICON_PATH/port_proton.png" \ @@ -269,33 +286,36 @@ else --field=":LBL" "" \ --field='DEBUG'!!"${loc_debug}":"BTN" '@bash -c "button_click DEBUG"' \ --field='WINECFG'!!"${loc_winecfg}":"BTN" '@bash -c "button_click WINECFG"' \ - --field=":RO" " ${portname} ver.: ${install_ver}" \ + --field="${portname}-${install_ver} (${scripts_install_ver})"!!"":"FBTN" '@bash -c "open_changelog"' \ --field=":LBL" "" \ --field='WINEFILE'!!"${loc_winefile}":"BTN" '@bash -c "button_click WINEFILE"' \ --field='WINECMD'!!"${loc_winecmd}":"BTN" '@bash -c "button_click WINECMD"' \ - --field=":RO" " Scripts ver.: ${scripts_install_ver}" \ + --field="F.A.Q."!!"":"FBTN" '@bash -c "xdg-open https://portwine-linux.ru/portwine-faq/ ; button_click"' \ --field=":LBL" "" \ --field='WINEREG'!!"${loc_winereg}":"BTN" '@bash -c "button_click WINEREG"' \ --field='WINETRICKS'!!"${loc_winetricks}":"BTN" '@bash -c "button_click WINETRICKS"' &> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" & \ - "${pw_yad}" --key=$KEY --notebook --borders=10 --width=800 --height=50 --no-buttons --text-align=center \ - --on-top --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$portname" --separator=";" \ + "${pw_yad}" --key=$KEY --notebook --borders=10 --width=1000 --height=168 --no-buttons --text-align=center \ + --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$portname" --separator=";" \ --tab-pos=right --tab="PORT_PROTON" --tab="AUTOINSTALL" --center - export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'` - try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form" - echo "PW_YAD_SET=${PW_YAD_SET}" - export OUTPUT_START=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk '{print $1}'` - try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" - echo "OUTPUT_START=$OUTPUT_START" + if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form" ] ; then + export PW_YAD_SET=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form" | head -n 1 | awk '{print $1}'` + try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form" + fi + if [ -f "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" ] ; then + export VULKAN_MOD=`cat "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" | grep \;\; | awk '{print $1}'` + try_remove_file "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" + fi fi - -export VULKAN_MOD=$(echo $OUTPUT_START | awk 'BEGIN {FS=";" } { print $1 }') -if [ "${VULKAN_MOD}" = "DXVK" ] ; then export PW_VULKAN_USE="dxvk" -elif [ "${VULKAN_MOD}" = "VKD3D" ]; then export PW_VULKAN_USE="vkd3d" -elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0" +if [ ! -z "${VULKAN_MOD}" ] ; then + if [ "${VULKAN_MOD}" = "DXVK" ] ; then export PW_VULKAN_USE="dxvk" + elif [ "${VULKAN_MOD}" = "VKD3D" ]; then export PW_VULKAN_USE="vkd3d" + elif [ "${VULKAN_MOD}" = "OPENGL" ]; then export PW_VULKAN_USE="0" + fi fi case "$PW_YAD_SET" in + 1|252) exit 0 ;; 100) PORTWINE_CREATE_SHORTCUT ;; DEBUG|102) PORTWINE_DEBUG ;; 106) PORTWINE_LAUNCH ;; diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index f6a5eca..47463a8 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -8,7 +8,7 @@ export PW_FORCE_DISABLED_GAMEMOD=0 export PW_DEF_DXVK_VER=1.8.1 -export PW_DEF_VKD3D_VER=2.3 +export PW_DEF_VKD3D_VER=2.3.1 export PW_FORCE_USE_VSYNC=2 export PW_LOG=0 @@ -35,3 +35,11 @@ ADD_IN_STOP_PORTWINE () { echo " " } +######################################################################## +OTHER_FIXES () { + #fix after installation Origin, for disabled OriginWebHelperService by default + if [ ! -z `cat "${WINEPREFIX}/system.reg" | grep Origin.exe | head -n 1 | awk '{print $1}'` ] ; then + sysreg_norig=$(((`cat -n "${WINEPREFIX}/system.reg" | grep OriginWebHelperService | awk '{print $1}'` + 3))) + sed -i "${sysreg_norig}s/dword:0000000[1-2]/dword:00000003/" "${WINEPREFIX}/system.reg" + fi +}