From e44a85ac20fc741ca5adca6776690e32136d7904 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Tue, 26 Mar 2024 19:18:11 +0300 Subject: [PATCH] Scripts version 2265 --- data_from_portwine/changelog_eng | 16 +++++++++ data_from_portwine/changelog_rus | 16 +++++++++ data_from_portwine/scripts/functions_helper | 36 +++++++++++++------ .../scripts/portwine_db/HogwartsLegacy | 5 --- data_from_portwine/scripts/runlib | 33 ++++++++--------- data_from_portwine/scripts/setup.sh | 7 ++-- data_from_portwine/scripts/start.sh | 16 +++------ data_from_portwine/scripts/var | 15 ++++---- data_from_portwine/scripts/yad_gui | 34 +++++++++++++----- 9 files changed, 116 insertions(+), 62 deletions(-) diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index 03a4242..fc417e6 100755 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,22 @@ You can help us in the development of the project on the website: https://linux- ---------------------------------------- Changelog: +###Scripts version 2265### Date: 26.03.2024 / Download update size: 570 megabytes +* the faudio component has been added to the DEFAULT prefix (required for games running on the Creation Engine, example The Elder Scrolls) +* the plugins_v14 library package has been updated: + transferred from the libs package: d3d_extras, reshade and default_pfx + portable versions have been added: yad_v13_0, perl, exiftool (thanks to Boria138) +* the libs_v47 library package has been updated: + pressure-vessel 0.20240306.0 + sniper 0.20240307.80401 +* updated PROTON_LG to version "9-2" +* updated versions: + DXVK_GIT "2.3.1" + VKD3D_GIT "1.1-3973" +* added saving of settings changes to EDIT_DB when using the "OPEN SETTINGS FILE" button +* improved support for the PortProton test build in flatpak +* many small script improvements + ###Scripts version 2264### Date: 15.03.2024 / Download update size: 15 megabytes * added the option to end the first PortProton session when starting the second * added auto-installation of the game "Pulse Online" diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index f8e76bb..0ee5dbb 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,22 @@ ----------------------------------------- История изменений: +###Scripts version 2265### Дата: 26.03.2024 / Размер скачиваемого обновления: 570 мегабайт +* в префикс DEFAULT добавлен компонент faudio (необходим для игр на движке Creation Engine, пример The Elder Scrolls) +* обновлен пакет библиотек plugins_v14: + перенесены из пакета libs: d3d_extras, reshade и default_pfx + добавлены портативные версии: yad_v13_0, perl, exiftool (спасибо Boria138) +* обновлен пакет библиотек libs_v47: + pressure-vessel 0.20240306.0 + sniper 0.20240307.80401 +* обновлен PROTON_LG до версии "9-2" +* обновлены версии: + DXVK_GIT "2.3.1" + VKD3D_GIT "1.1-3973" +* добавлено сохранение изменений настроек в EDIT_DB при искользовании кнопки "ОТКРЫТЬ ФАЙЛ НАСТРОЕК" +* улучшена поддержка тестовой сборки PortProton во flatpak +* множество небольших улучшений скриптов + ###Scripts version 2264### Дата: 15.03.2024 / Размер скачиваемого обновления: 15 мегабайт * добавлен выбор завершения первой сессии PortProton при запуске второй * добавлена автоустановка игры "Pulse Online" diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 010cf16..6c46c8e 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -292,6 +292,20 @@ check_gamescope_session () { fi } +check_flatpak () { + if [[ ! -z "$FLATPAK_IN_USE" ]] + then [[ "$FLATPAK_IN_USE" == 1 ]] && return 0 || return 1 + fi + if grep -i "flatpak" /etc/os-release &>/dev/null ; then + export FLATPAK_IN_USE=1 + return 0 + else + export FLATPAK_IN_USE=0 + return 1 + fi +} + + unpack_tar_zst () { set -o pipefail unset PW_ZSTD_PORT @@ -413,7 +427,7 @@ check_user_conf () { init_wine_ver () { if [[ "${PW_WINE_USE}" == "USE_SYSTEM_WINE" ]] \ && command -v wine &>/dev/null ; then - if ! grep -i "flatpak" /etc/os-release &>/dev/null ; then + if ! check_flatpak ; then export WINEDIR="$RT_PREFIX/usr" export WINE="$RT_PREFIX/$(command -v wine)" export WINELOADER="$WINE" @@ -542,7 +556,7 @@ init_wine_ver () { } pw_init_runtime () { - if [[ "$PW_USE_RUNTIME" != 1 ]] ; then + if [[ "$PW_USE_RUNTIME" != 1 ]] || check_flatpak ; then export pw_runtime="" return 0 fi @@ -649,8 +663,8 @@ pw_mangohud_check () { pw_vkbasalt_check () { if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf" - if ! grep "/pressure-vessel/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null - then sed -ri "s|= .*/reshade|= \"${PW_WINELIB}\"/pressure-vessel/reshade|g" "${VKBASALT_CONFIG_FILE}" + if ! grep "${PW_PLUGINS_PATH}/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null + then sed -ri "s|= .*/reshade|= \"${PW_PLUGINS_PATH}\"/reshade|g" "${VKBASALT_CONFIG_FILE}" fi if [[ ! -z "${PW_VKBASALT_EFFECTS}" ]] && [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}" @@ -794,8 +808,8 @@ stop_portwine () { export -f stop_portwine pw_download_libs () { - if [[ ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" ]] \ - || [[ ! -f "${PW_WINELIB}/pressure-vessel/bin/pv-bwrap" ]] + if [[ ! -f "${PW_WINELIB}/runtime/files/bin/vkcube" ]] \ + || [[ ! -f "${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-wrap" ]] then print_info "Download and install libraries..." if try_download "github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" \ @@ -806,8 +820,6 @@ pw_download_libs () { for RM_LIBS in `ls ${PORT_WINE_TMP_PATH} | grep libs_v | grep -v libs${PW_LIBS_VER}` do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}" done - # TODO: drop clear prefix, and add update prefix from new libs - pw_clear_pfx fi else try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}" @@ -954,6 +966,8 @@ pw_check_and_download_plugins () { if try_download "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" + # TODO: drop clear prefix, and add update prefix from new plugins + pw_clear_pfx if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}` do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}" @@ -983,7 +997,9 @@ pw_check_and_download_plugins () { if try_download_silent "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" \ "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then - try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" + try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" + # TODO: drop clear prefix, and add update prefix from new plugins + pw_clear_pfx if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}` do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}" @@ -1149,7 +1165,7 @@ pw_init_db () { check_variables PW_USE_RAY_TRACING "1" fi - if [[ "${update_loc}" == "RUS" ]] ; then + if grep "RUS" "${PORT_WINE_TMP_PATH}/${portname}_loc" &>/dev/null ; then for chk_lang_and_uname in "steam_emu.ini" "steam_api.ini" "steam_api64.ini" ; do if [[ -f "${PATH_TO_GAME}/${chk_lang_and_uname}" ]] ; then sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}/${chk_lang_and_uname}" diff --git a/data_from_portwine/scripts/portwine_db/HogwartsLegacy b/data_from_portwine/scripts/portwine_db/HogwartsLegacy index 075a23c..0ca801a 100644 --- a/data_from_portwine/scripts/portwine_db/HogwartsLegacy +++ b/data_from_portwine/scripts/portwine_db/HogwartsLegacy @@ -17,8 +17,3 @@ Grub Customizer utility" fi export PW_VULKAN_USE="2" -add_in_start_portwine () { - if [ "${update_loc}" = "RUS" ] ; then - sed -i "s/Language=english/Language=russian/g" "${PATH_TO_GAME}/Engine/Binaries/ThirdParty/Steamworks/Steamv154/Win64/steam_api64.ini" - fi -} diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 22ed8b5..fa74bd5 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -85,15 +85,14 @@ start_portwine () { then pw_clear_pfx check_dirs_and_files_in_pfx - if [[ "${PW_PREFIX_NAME}" == DEFAULT ]] ; then pw_update_pfx_cover_gui - unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent + unpack_tar_xz "${PW_PLUGINS_PATH}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent pw_wineboot -u elif [[ "${PW_CHECK_AUTOINSTAL}" == 1 ]] \ && [[ "${DISABLE_CP_DEFPFX}" != 1 ]] ; then pw_update_pfx_cover_gui - unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent + unpack_tar_xz "${PW_PLUGINS_PATH}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent pw_wineboot -u elif [[ "${PW_CHECK_AUTOINSTAL}" == 1 ]] \ && [[ "${DISABLE_CP_DEFPFX}" == 1 ]] ; then @@ -101,7 +100,7 @@ start_portwine () { pw_wineboot -i elif yad_question "$loc_gui_dll_new_pfx ${PW_PREFIX_NAME}" ; then pw_update_pfx_cover_gui - unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent + unpack_tar_xz "${PW_PLUGINS_PATH}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent pw_wineboot -u else pw_update_pfx_cover_gui @@ -395,7 +394,7 @@ start_portwine () { echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" fi #try link d3d extras libs - PATH_TO_D3DEXTRAS="${PW_WINELIB}/d3d_extras" + PATH_TO_D3DEXTRAS="${PW_PLUGINS_PATH}/d3d_extras" for d3d_extras_from_plugins in $D3D_EXTRAS_LIBS ; do try_force_link_file "${PATH_TO_D3DEXTRAS}/x64/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" @@ -505,11 +504,9 @@ start_portwine () { fi done - try_force_link_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" || \ try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - try_force_link_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \ try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" || \ try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/" @@ -784,7 +781,7 @@ else fi unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD unset PW_CHECK_AUTOINSTAL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE PW_DISABLED_CREATE_DB RADV_PERFTEST -unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME +unset CHK_SYMLINK_FILE MESA_GL_VERSION_OVERRIDE PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PORTWINE_CREATE_SHORTCUT_NAME FLATPAK_IN_USE unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48 @@ -865,6 +862,16 @@ check_user_conf check_variables PW_LOG "0" if [[ -z "${INSTALLING_PORT}" ]] ; then + . "${USER_CONF}" + if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] \ + && [[ ! -f "/tmp/portproton.lock" ]] + then + pw_port_update + fi + unset SKIP_CHECK_UPDATES + + pw_check_and_download_plugins + if [[ -f "/tmp/portproton.lock" ]] ; then print_warning "Found lock file: /tmp/portproton.lock" yad_question "$loc_gui_portproton_lock" || exit 0 @@ -876,14 +883,8 @@ if [[ -z "${INSTALLING_PORT}" ]] ; then } trap "rm_lock_file" EXIT - . "${USER_CONF}" - if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then - pw_port_update - fi - unset SKIP_CHECK_UPDATES - pw_check_and_download_plugins - pw_download_libs - export PW_VULKANINFO_PORTABLE="$PW_WINELIB/pressure-vessel/libexec/steam-runtime-tools-0/x86_64-linux-gnu-vulkaninfo" + check_flatpak || pw_download_libs + export PW_VULKANINFO_PORTABLE="$PW_PLUGINS_PATH/portable/bin/x86_64-linux-gnu-vulkaninfo" export VULKAN_API_DRIVER_VERSION="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')" export VULKAN_DRIVER_NAME="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep driverName | awk '{print$3}' | head -1)" pw_init_db diff --git a/data_from_portwine/scripts/setup.sh b/data_from_portwine/scripts/setup.sh index c7feb2a..ee093b0 100755 --- a/data_from_portwine/scripts/setup.sh +++ b/data_from_portwine/scripts/setup.sh @@ -3,7 +3,7 @@ . "$(dirname $(readlink -f "$0"))/runlib" name_desktop="PortProton" -if grep -i "flatpak" /etc/os-release &>/dev/null ; then +if check_flatpak ; then echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Version=${install_ver}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -31,8 +31,7 @@ else chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" fi -if [[ ! -f /usr/bin/portproton ]] \ -&& ! grep -i "flatpak" /etc/os-release &>/dev/null +if [[ ! -f /usr/bin/portproton ]] && ! check_flatpak then cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ fi @@ -43,7 +42,7 @@ fi update-desktop-database -q "${HOME}/.local/share/applications" -if ! grep -i "flatpak" /etc/os-release &>/dev/null ; then +if ! check_flatpak ; then xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" fi diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 3eaa19f..6d644fc 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -191,7 +191,7 @@ portwine_start_debug () { [[ `command -v glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log" echo "-----" >> "${PORT_WINE_PATH}/${portname}.log" echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log" - if ! grep -i "flatpak" /etc/os-release &>/dev/null + if ! check_flatpak then "${PW_PLUGINS_PATH}/portable/bin/inxi" -Gc0 >> "${PORT_WINE_PATH}/${portname}.log" fi if echo "$LSPCI_VGA" | grep -i nvidia &>/dev/null ; then @@ -201,6 +201,8 @@ portwine_start_debug () { ldconfig -p | grep libGLX_nvidia >> "${PORT_WINE_PATH}/${portname}.log" fi fi + echo "PW_SCREEN_RESOLUTION=$PW_SCREEN_RESOLUTION" >> "${PORT_WINE_PATH}/${portname}.log" + echo "PW_SCREEN_PRIMARY=$PW_SCREEN_PRIMARY" >> "${PORT_WINE_PATH}/${portname}.log" echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log" "$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep -E '^GPU|deviceName|driverName' >> "${PORT_WINE_PATH}/${portname}.log" @@ -496,12 +498,6 @@ pw_edit_db () { PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE \ PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME fi - if [[ "$?" == 0 ]] ; then - print_info "Restarting PP after update ppdb file..." - export SKIP_CHECK_UPDATES=1 - /usr/bin/env bash -c ${pw_full_command_line[*]} & - exit 0 - fi # PW_FORCE_USE_VSYNC HEAP_DELAY_FREE } @@ -583,10 +579,6 @@ do export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}" done -# if [[ $VULKAN_API_DRIVER_VERSION == 1.[1-2].* ]] -# then check_variables PW_VULKAN_USE "1" -# else check_variables PW_VULKAN_USE "2" -# fi check_nvidia_rtx && check_variables PW_VULKAN_USE "2" case "${PW_VULKAN_USE}" in @@ -679,7 +671,7 @@ else kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY} \--notebook" | awk '{print $1}') > /dev/null 2>&1 fi - if grep -i "flatpak" /etc/os-release &>/dev/null + if check_flatpak then PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | sed 's|flatpak run ru.linux_gaming.PortProton|\"${PORT_SCRIPTS_PATH}/start.sh\"|' | awk -F'=' '{print $2}')" else PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | awk -F"=env " '{print $2}')" fi diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 5e12b11..89de684 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=2264 +#SCRIPTS_NEXT_VERSION=2265 ######################################################################## 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" @@ -18,7 +18,7 @@ export PW_FORCE_USE_VSYNC="2" export PW_USE_TERMINAL="0" export PW_WINDOWS_VER="10" export WINEARCH="win64" -export PW_LIBS_VER="_v46" +export PW_LIBS_VER="_v47" export GDK_BACKEND="x11" export PW_USE_GSTREAMER="1" export PW_USE_D3D_EXTRAS="1" @@ -38,7 +38,7 @@ export PW_USE_GAMESCOPE="0" # export GTK_THEME="Adwaita:dark" ###DEFAULT_WINE### export PW_WINE_USE="PROTON_LG" -export PW_PLUGINS_VER="_v13" +export PW_PLUGINS_VER="_v14" export PW_FAKE_DLSS_VER="230506" export PW_FAKE_DLSS_3_VER="090" export PW_GALLIUM_NINE_VER="0.9" @@ -63,11 +63,12 @@ export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf" ################################################################# pw_list_install_dll_in_prefix () { + STANDART_DLL="d3dx9 d3dcompiler_43 d3dcompiler_47 physx mfc42 vcrun2022 sandbox corefonts tahoma lucida calibri faudio" case $PW_PREFIX_NAME in - DEFAULT) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2022 sandbox" ;; - DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 faudio dotnet48" ;; - PROGRAMS) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2019 riched20 corefonts msxml3 msxml4 msxml6" ;; - *) export PW_MUST_HAVE_DLL="" ;; + DEFAULT) export PW_MUST_HAVE_DLL="$STANDART_DLL" ;; + DOTNET) export PW_MUST_HAVE_DLL="dotnet48" ;; + PROGRAMS) export PW_MUST_HAVE_DLL="riched20 msxml3 msxml4 msxml6" ;; + *) export PW_MUST_HAVE_DLL="sandbox" ;; esac } ######################################################################## diff --git a/data_from_portwine/scripts/yad_gui b/data_from_portwine/scripts/yad_gui index a939d64..5ad4a13 100755 --- a/data_from_portwine/scripts/yad_gui +++ b/data_from_portwine/scripts/yad_gui @@ -265,11 +265,18 @@ pw_gui_for_edit_db () { YAD_STATUS="$?" export SKIP_CHECK_UPDATES=1 case "$YAD_STATUS" in - 1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;; - 2) try_remove_file "$portwine_exe".ppdb - /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;; - 150) xdg-open "${PORTWINE_DB_FILE}" & exit 0 ;; - 252) exit 0 ;; + 1) + /usr/bin/env bash -c "${pw_full_command_line[*]}" & + exit 0 + ;; + 2) + try_remove_file "$portwine_exe".ppdb + /usr/bin/env bash -c "${pw_full_command_line[*]}" & + exit 0 + ;; + 252) + exit 0 + ;; esac output_yad_edit_db=(`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"`) bool_from_yad=0 @@ -302,7 +309,18 @@ pw_gui_for_edit_db () { edit_db_from_gui $@ LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY GAMESCOPE_ARGS edit_user_conf_from_gui PW_GPU_USE # PW_AMD_VULKAN_USE - return 0 + + case "$YAD_STATUS" in + 0) + print_info "Restarting PP after update ppdb file..." + /usr/bin/env bash -c "${pw_full_command_line[*]}" & + exit 0 + ;; + 150) + xdg-open "${PORTWINE_DB_FILE}" & + exit 0 + ;; + esac } @@ -721,7 +739,7 @@ portwine_create_shortcut () { echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" - if grep -i "flatpak" /etc/os-release &>/dev/null + if check_flatpak then echo "Exec=flatpak run ru.linux_gaming.PortProton \"${portwine_exe}\" " >> "${PORT_WINE_PATH}/${name_desktop}.desktop" else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" fi @@ -753,7 +771,7 @@ portwine_create_shortcut () { echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh" echo "export START_FROM_STEAM=1" >> "${STEAM_SCRIPTS}/${name_desktop}.sh" echo "export LD_PRELOAD=" >> "${STEAM_SCRIPTS}/${name_desktop}.sh" - if grep -i "flatpak" /etc/os-release &>/dev/null + if check_flatpak then echo "flatpak run ru.linux_gaming.PortProton \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh" else echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh" fi