diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index 3f5f2fa2..f114e6df 100755 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,18 @@ You can help us in the development of the project on the website: https://linux- ---------------------------------------- Changelog: +###Scripts version 2251### Date: 02.02.2024 / Download update size: 8 megabytes +* HOTFIX - fixed automatic closing of EAapp after its installation + +###Scripts version 2250### Date: 02.02.2024 / Download update size: 8 megabytes +* fixed prefix adjustment and updating when starting from steam +* fixed unpacking of WINE archives when starting from steam +* significantly improved PP integration when launching from steam (ALL launchers should work) +* fixed a rare League of Legends installation error +* vkPlay installation has been updated +* Electronic Arts App auto-installation has been returned +* minor improvements to the 3D API customization feature + ###Scripts version 2249### Date: 30.01.2024 / Download update size: 8 megabytes * added a unique name to launch Crossout (requires restarting the auto-installation) * fixed installation of the Project64 emulator diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index a0a16bf7..9dd6c848 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,19 @@ ----------------------------------------- История изменений: +###Scripts version 2251### Дата: 02.02.2024 / Размер скачиваемого обновления: 8 мегабайт +* HOTFIX - исправлено автоматическое закрытие EAapp после его установки на некоторых системах + +###Scripts version 2250### Дата: 02.02.2024 / Размер скачиваемого обновления: 8 мегабайт +* исправлено добавление ярлыков в steam если имеется более одного каталога с пользователями в steam +* исправлена подготавка префикса и его обновление при запуске из steam +* исправлена распаковка архивов WINE при запуске из steam +* значительно улучшена интеграция PP при запуске из steam (должны работать ВСЕ лаунчеры) +* исправлена редкая ошибка установки League of Legends +* обновлена установка vkPlay +* возвращена автоустановка Electronic Arts App +* небольшие улучшения функции настройки 3D API + ###Scripts version 2249### Дата: 30.01.2024 / Размер скачиваемого обновления: 8 мегабайт * добавлено уникальное имя для запуска Crossout (требуется повторный запуск автоустановки) * исправлена установка эмулятора Project64 diff --git a/data_from_portwine/img/EALauncher.png b/data_from_portwine/img/EALauncher.png new file mode 100755 index 00000000..20fa8c42 Binary files /dev/null and b/data_from_portwine/img/EALauncher.png differ diff --git a/data_from_portwine/img/gui/eaapp.png b/data_from_portwine/img/gui/eaapp.png index 0f6f0773..063c3204 100755 Binary files a/data_from_portwine/img/gui/eaapp.png and b/data_from_portwine/img/gui/eaapp.png differ diff --git a/data_from_portwine/scripts/add_in_steam.sh b/data_from_portwine/scripts/add_in_steam.sh index 11653846..88bfdb78 100755 --- a/data_from_portwine/scripts/add_in_steam.sh +++ b/data_from_portwine/scripts/add_in_steam.sh @@ -5,10 +5,7 @@ PROGNAME="PortProton" # PERSONAL_NAME="$(grep PersonaName "$HOME/.local/share/Steam/config/loginusers.vdf" | awk -F'"' '{print $4}')" -SCVDF="shortcuts.vdf" -SCPATH="$STUIDPATH/config/$SCVDF" - -if [[ ! -f "$SCPATH" ]] ; then +if [[ ! -f "$SCPATH" ]] ; then echo '0073686f727463757473000808' | xxd -r -p > "$SCPATH" fi diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 0b3ad994..2d18aca4 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -610,12 +610,15 @@ pw_kill_autostart () { sleep 5 while true ; do - if [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then + if [[ -z "`ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then echo -e "PID "$1" not found" sleep "${SWAIT}" else sleep "${SWAIT}" - kill_portwine + if [[ "$3" == please ]] + then kill -s SIGTERM `ps aux | grep -m 1 -i "$1" | grep -v grep | awk '{print $2}'` + else kill_portwine + fi break fi done @@ -917,6 +920,11 @@ pw_init_db () { check_variables PW_USE_FAKE_DLSS "0" check_variables PW_USE_RAY_TRACING "1" fi + + if [[ -f "${PATH_TO_GAME}"/steam_emu.ini ]] && [[ "${update_loc}" == "RUS" ]] ; then + sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}"/steam_emu.ini + sed -i "/UserName=/c\UserName=${USER}" "${PATH_TO_GAME}"/steam_emu.ini + fi fi [[ "${START_FROM_STEAM}" == 1 ]] && export PW_GUI_DISABLED_CS=1 [[ "${START_FROM_PP_GUI}" == 1 ]] && export PW_GUI_DISABLED_CS=0 && unset START_FROM_PP_GUI diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index f5489ea2..96e76bc8 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -8,15 +8,19 @@ if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then export update_loc=${update_loc} fi -if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then - echo "" +if [[ "${FORCE_ENG_LANG}" == "1" ]] ; then + export update_loc="ENG" else - SET_LANG=`zenity --title "LAUNGUAGE" --text "Select the language" --list --radiolist \ - --column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" ` - echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" - if [[ ! -z "${SET_LANG}" ]] - then export update_loc=${SET_LANG} - else exit 1 + if [[ "${update_loc}" == "RUS" || "${update_loc}" == "ENG" ]] && [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then + echo "" + else + SET_LANG=`zenity --title "LAUNGUAGE" --text "Select the language" --list --radiolist \ + --column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" ` + echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" + if [[ ! -z "${SET_LANG}" ]] + then export update_loc=${SET_LANG} + else exit 1 + fi fi fi diff --git a/data_from_portwine/scripts/portwine_db/EALauncher b/data_from_portwine/scripts/portwine_db/EALauncher index ed861bb9..8b48494d 100755 --- a/data_from_portwine/scripts/portwine_db/EALauncher +++ b/data_from_portwine/scripts/portwine_db/EALauncher @@ -4,4 +4,41 @@ #EADesktop.exe #Rating=5 #####################examples########################### -export PW_USE_TERMINAL="1" +export PW_USE_TERMINAL="0" +export PW_VULKAN_USE="2" +export PW_WINE_USE="PROTON_LG" +export PW_PREFIX_NAME="EAAPP" +export PW_MANGOHUD="0" +export PW_MANGOHUD_USER_CONF="0" +export ENABLE_VKBASALT="0" +export PW_VKBASALT_USER_CONF="0" +export PW_NO_ESYNC="1" +export PW_NO_FSYNC="0" +export PW_USE_RAY_TRACING="0" +export PW_USE_NVAPI_AND_DLSS="0" +export PW_USE_FAKE_DLSS="0" +export PW_WINE_FULLSCREEN_FSR="1" +export PW_HIDE_NVIDIA_GPU="0" +export PW_VIRTUAL_DESKTOP="0" +export PW_GUI_DISABLED_CS="0" +export PW_USE_GAMEMODE="1" +export PW_USE_D3D_EXTRAS="1" +export PW_FIX_VIDEO_IN_GAME="0" +export PW_REDUCE_PULSE_LATENCY="0" +export PW_USE_US_LAYOUT="0" +export PW_USE_GSTREAMER="1" +export PW_FORCE_LARGE_ADDRESS_AWARE="1" +export PW_USE_SHADER_CACHE="1" +export PW_USE_WINE_DXGI="0" +export PW_USE_EAC_AND_BE="1" +export PW_USE_SYSTEM_VK_LAYERS="0" +export PW_USE_OBS_VKCAPTURE="0" +export PW_USE_GALLIUM_ZINK="0" +export PW_USE_GAMESCOPE="0" +export LAUNCH_PARAMETERS="" +export PW_WINDOWS_VER="10" +export PW_DLL_INSTALL="" +export WINEDLLOVERRIDES="" +export PW_WINE_CPU_TOPOLOGY="disabled" +export GAMESCOPE_ARGS="-F fsr" +add_in_start_portwine () { export LANG=C ;} diff --git a/data_from_portwine/scripts/portwine_db/VKPlayLoader b/data_from_portwine/scripts/portwine_db/VKPlayLoader index a314774f..c32471fb 100755 --- a/data_from_portwine/scripts/portwine_db/VKPlayLoader +++ b/data_from_portwine/scripts/portwine_db/VKPlayLoader @@ -14,7 +14,7 @@ export PW_MUST_HAVE_DLL="" export PW_PREFIX_NAME="VK_PLAY" export PW_USE_GSTREAMER="1" export PW_VULKAN_USE="2" -export PW_WINE_USE="WINE_LG_8-18-1" +export PW_WINE_USE="WINE_LG" gui_proton_downloader silent "$PW_WINE_USE" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_EAAPP b/data_from_portwine/scripts/pw_autoinstall/PW_EAAPP index b4fa29fa..79bf597b 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_EAAPP +++ b/data_from_portwine/scripts/pw_autoinstall/PW_EAAPP @@ -3,17 +3,17 @@ ######################################################################## export LAUNCH_PARAMETERS=("/silent" "/repair" ) export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EAappInstaller.exe" -export PW_VULKAN_USE=1 -# export PW_USE_D3D_EXTRAS="0" -# export DISABLE_CP_DEFPFX=1 +export PORTWINE_CREATE_SHORTCUT_NAME="EALauncher" +export PW_VULKAN_USE="2" +export PW_WINE_USE="PROTON_LG" export PW_PREFIX_NAME="EAAPP" +export PW_USE_EAC_AND_BE="1" start_portwine if try_download_game "https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}" then pw_start_progress_bar_block "${loc_gui_installing_the} EA Launcher. ${loc_gui_please_wait} " - # pw_kill_autostart EABackgroundService.exe & - # pw_kill_autostart EALocalHostSvc.exe & + pw_kill_autostart EABackgroundSer 5 please & mkdir -p "$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop" pw_run "${PW_AUTOINSTALL_EXE}" portwine_exe="$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop/EALauncher.exe" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX b/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX index e0c5ac7d..2ccb62c0 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX +++ b/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX @@ -7,16 +7,16 @@ export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/roblox_installer.exe" export WINEDLLOVERRIDES="mscoree,mshtml=" # export DISABLE_CP_DEFPFX=1 export PW_MUST_HAVE_DLL="" - +export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta" start_portwine if try_download_game "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}" then + pw_kill_autostart MicrosoftEdge & pw_run "${PW_AUTOINSTALL_EXE}" portwine_exe="$(find "$WINEPREFIX/drive_c/Program Files (x86)/Roblox/" -type f -name "RobloxPlayerBeta.exe" | head -n 1)" try_remove_file "${portwine_exe}.ppdb" pw_stop_progress_bar - export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta" portwine_create_shortcut fi stop_portwine diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 227a8ef1..81761690 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -162,7 +162,8 @@ start_portwine () { var_winedlloverride_update "nvapi,nvapi64,nvngx=n;_nvngx=;nvcuda=b" export DXVK_ENABLE_NVAPI=1 export WINE_HIDE_NVIDIA_GPU=0 - # export DXVK_NVAPI_DRIVER_VERSION= + export WINE_HIDE_AMD_GPU=1 + export DXVK_NVAPI_DRIVER_VERSION=99999 elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))" if [[ ! -z "$FIND_NVNGX" ]] ; then @@ -175,7 +176,6 @@ start_portwine () { enabled_fake_nvidia_videocard 0 export DXVK_ENABLE_NVAPI=1 export WINE_HIDE_NVIDIA_GPU=0 - # export DXVK_NVAPI_DRIVER_VERSION= var_winedlloverride_update "nvngx,_nvngx,nvapi,nvapi64=n;nvcuda=b" else enabled_fake_nvidia_videocard 0 @@ -208,8 +208,8 @@ start_portwine () { if [[ "${PW_USE_DXR11}" == 1 ]] || [[ "${PW_USE_DXR10}" == 1 ]] || [[ "${PW_USE_RAY_TRACING}" == 1 ]]; then var_vkd3d_config_update dxr,dxr11 var_radv_perftest_config_update rt - export WINE_HIDE_NVIDIA_GPU=0 - export DXVK_ENABLE_NVAPI=1 + else + var_vkd3d_config_update nodxr fi if [[ "${PW_GPU_USE}" != "disabled" ]] ; then @@ -253,12 +253,17 @@ start_portwine () { # fi case "$PW_FORCE_USE_VSYNC" in # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT - "0") - unset vblank_mode - unset __GL_SYNC_TO_VBLANK ;; - "1") + 0) + export vblank_mode=0 + export __GL_SYNC_TO_VBLANK=0 + ;; + 1) export vblank_mode=1 - export __GL_SYNC_TO_VBLANK=1 ;; + export __GL_SYNC_TO_VBLANK=1 + ;; + *) + unset vblank_mode __GL_SYNC_TO_VBLANK + ;; esac export int_xneur=0 if [[ ! -z "`pgrep xneur`" ]]; then @@ -505,7 +510,7 @@ start_portwine () { else export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config" # openvr_api_dxvk fi - check_variables VKD3D_FEATURE_LEVEL "12_1" + check_variables VKD3D_FEATURE_LEVEL "12_0" if [[ "${PW_VULKAN_USE}" == "1" ]] ; then PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}" @@ -734,7 +739,15 @@ if [[ $(id -u) -eq 0 ]] ; then zenity_error "Do not run the script from the superuser!" exit 1 fi -[[ -z "${LANG}" ]] && export LANG=C + +if [[ -z "${LANG}" ]] ; then + export LANG=C + export FORCE_ENG_LANG=1 +elif [[ "${START_FROM_STEAM}" == 1 ]] ; then + export FORCE_ENG_LANG=1 +else + unset FORCE_ENG_LANG +fi create_new_dir "${HOME}/.local/share/applications" if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then @@ -770,8 +783,9 @@ if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then fi done IFS="$orig_IFS" +else + create_new_dir "${PORT_WINE_PATH}/data/dist" fi - create_new_dir "${PORT_WINE_PATH}/data/prefixes/DEFAULT" create_new_dir "${PORT_WINE_PATH}/data/prefixes/DOTNET" create_new_dir "${PORT_WINE_PATH}/data/prefixes/PROGRAMS" diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index a99c7155..b9e4b4cd 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -828,9 +828,9 @@ else --field=" Path of Exile"!"$PW_GUI_ICON_PATH/poe.png"!"":"FBTN" '@bash -c "button_click PW_POE"' \ --field=" Guild Wars 2"!"$PW_GUI_ICON_PATH/gw2.png"!"":"FBTN" '@bash -c "button_click PW_GUILD_WARS_2"' \ --field=" Genshin Impact"!"$PW_GUI_ICON_PATH/genshinimpact.png"!"":"FBTN" '@bash -c "button_click PW_GENSHIN_IMPACT"' \ + --field=" EA App (TEST)"!"$PW_GUI_ICON_PATH/eaapp.png"!"":"FBTN" '@bash -c "button_click PW_EAAPP"' \ --field=" Battle Of Space Raiders"!"$PW_GUI_ICON_PATH/bsr.png"!"":"FBTN" '@bash -c "button_click PW_BSR"' 2>/dev/null & - # --field=" Electronic Arts App"!"$PW_GUI_ICON_PATH/eaapp.png"!"":"FBTN" '@bash -c "button_click PW_EAAPP"' # --field=" Secret World Legends (ENG)"!"$PW_GUI_ICON_PATH/swl.png"!"":"FBTN" '@bash -c "button_click PW_SWL"' # --field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"' # --field=" ROBLOX"!"$PW_GUI_ICON_PATH/roblox.png"!"":"FBTN" '@bash -c "button_click PW_ROBLOX"' diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 2a8fb55b..3ab0418d 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/usr/bin/env bash #Author: Castro-Fidel (linux-gaming.ru) -#SCRIPTS_NEXT_VERSION=2249 +#SCRIPTS_NEXT_VERSION=2251 ######################################################################## export PW_MANGOHUD="0" export DEFAULT_MANGOHUD_CONFIG="cpu_stats,cpu_temp,cpu_mhz,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,vram,ram,frame_timing=1,time,arch,wine,toggle_hud=Shift_R+F12,resolution,vkbasalt,gamemode" diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui index 3f4c38a7..75be952c 100755 --- a/data_from_portwine/scripts/zen_yad_gui +++ b/data_from_portwine/scripts/zen_yad_gui @@ -14,7 +14,7 @@ zenity_error () { export -f zenity_error zenity_error_download () { - `zenity --question --title "$loc_gui_error" --text "$loc_gui_error_download\n" --no-wrap --ok-label="Repeat" --cancel-label="Skip" ` + zenity --question --title "$loc_gui_error" --text "$loc_gui_error_download\n" --no-wrap --ok-label="Repeat" --cancel-label="Skip" if [[ "$?" != 0 ]] ; then return 1 else @@ -22,12 +22,18 @@ zenity_error_download () { fi } -sszen() { +sszen () { zenity --progress --title="$loc_gui_settings" --text="$loc_gui_sett_info" --pulsate --auto-close --width=500 --height=90 --no-cancel } +ssyad () { + "${pw_yad_v12_3}" --progress --pulsate --log-expanded --undecorated --center \ + --title="$loc_gui_settings" --progress-text="$loc_gui_sett_info" --enable-log="log" \ + --log-height=60 --width=500 --height=150 --no-buttons --auto-close &>/dev/null +} + gui_question () { - `zenity --question --title "${inst_set}." --text "$1" --no-wrap ` &> /dev/null + zenity --question --title "${inst_set}." --text "$1" --no-wrap &>/dev/null [ $? -eq "0" ] && return 0 || return 1 } @@ -611,16 +617,6 @@ gui_MangoHud () { portwine_create_shortcut () { pw_create_gui_png pw_stop_progress_bar - if [[ ! -z "$PW_STEAM_ID" ]] - then STUIDPATH="$HOME/.local/share/Steam/userdata/$PW_STEAM_ID" - else STUIDPATH="$(find "$HOME/.local/share/Steam/userdata/" -maxdepth 1 -type d -name "[1-9]*" | head -n1)" - fi - if [[ -d "$STUIDPATH" ]] ; then - export STUIDPATH - PW_FOUND_VDF=TRUE - else - PW_FOUND_VDF=FALSE - fi if [[ "$1" == "block_name" ]] ; then export name_desktop="${PORTPROTON_NAME}" @@ -691,7 +687,7 @@ portwine_create_shortcut () { fi fi - if [[ "${PW_FOUND_VDF}" == "TRUE" ]] && [[ "${create_menu_steam_shortcut}" == "TRUE" ]] ; then + if [[ "${create_menu_steam_shortcut}" == "TRUE" ]] ; then export STEAM_SCRIPTS="${PORT_WINE_PATH}/steam_scripts" create_new_dir "${STEAM_SCRIPTS}" echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh" @@ -702,7 +698,12 @@ portwine_create_shortcut () { else echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh" fi chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh" - "${PORT_SCRIPTS_PATH}/add_in_steam.sh" + export SCVDF="shortcuts.vdf" + for STUIDPATH in "${HOME}"/.local/share/Steam/userdata/*/ ; do + create_new_dir "${STUIDPATH}/config/" + export SCPATH="${STUIDPATH}/config/$SCVDF" + "${PORT_SCRIPTS_PATH}/add_in_steam.sh" + done if [[ "${PW_SKIP_RESTART_STEAM}" != 1 ]] && pgrep -i steam &>/dev/null ; then if gui_question "$sc_restert_steam" ; then pw_start_progress_bar_block "Restarting STEAM... Please wait."