diff --git a/README-RU.md b/README-RU.md index bd9af256..966c1b0e 100755 --- a/README-RU.md +++ b/README-RU.md @@ -176,6 +176,14 @@ sudo -E dnf install curl icoutils libcurl bubblewrap zstd cabextract tar goverl sudo eopkg it curl file bubblewrap curl icoutils tar zstd cabextract xdg-utils openssl vulkan vulkan-32bit mesalib-32bit samba ``` +* **Void** +```sh +sudo xbps-install -Su void-repo-multilib + +sudo xbps-install -S bash wget icoutils yad bubblewrap zstd cabextract gzip tar xz openssl desktop-file-utils curl dbus freetype xdg-utils +gdk-pixbuf noto-fonts-ttf nss xrandr lsof mesa-demos ImageMagick Vulkan-Tools libgcc alsa-plugins-32bit libX11-32bit freetype-32bit libglvnd-32bit libgpg-error-32bit nss-32bit openssl-32bit vulkan-loader vulkan-loader-32bit +``` + ## Контакты <p> diff --git a/README.md b/README.md index 9c1bb74f..652fc27f 100755 --- a/README.md +++ b/README.md @@ -178,6 +178,14 @@ sudo -E dnf install curl icoutils libcurl bubblewrap zstd cabextract tar goverla sudo eopkg it curl file bubblewrap curl icoutils tar zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba ``` +* **Void** +```sh +sudo xbps-install -Su void-repo-multilib + +sudo xbps-install -S bash wget icoutils yad bubblewrap zstd cabextract gzip tar xz openssl desktop-file-utils curl dbus freetype xdg-utils +gdk-pixbuf noto-fonts-ttf nss xrandr lsof mesa-demos ImageMagick Vulkan-Tools libgcc alsa-plugins-32bit libX11-32bit freetype-32bit libglvnd-32bit libgpg-error-32bit nss-32bit openssl-32bit vulkan-loader vulkan-loader-32bit +``` + ## Contacts <p> diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index 03a42423..a4938357 100755 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,30 @@ You can help us in the development of the project on the website: https://linux- ---------------------------------------- Changelog: +###Scripts version 2267### Date: 27.03.2024 / Download update size: 15 megabytes +* implemented a twofold acceleration of prefix updates on all systems +* improved the functionality of settings for exe files (EDIT_DB) +* fixed the automatic installation of BattleNET + +###Scripts version 2266### Date: 26.03.2024 / Download update size: 185 megabytes +* HOTFIX - download plugins from GITHUB + +###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 f8e76bb2..09c32db5 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,30 @@ ----------------------------------------- История изменений: +###Scripts version 2267### Дата: 27.03.2024 / Размер скачиваемого обновления: 15 мегабайт +* реализовано двукратное ускорение обновления префикса на всех системах +* улучшен функционал настроек для exe файлов (EDIT_DB) +* исправлена автоустановка BattleNET + +###Scripts version 2266### Дата: 26.03.2024 / Размер скачиваемого обновления: 170 мегабайт +* HOTFIX - исправлен баг гитхаба при доступе к plugins + +###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 63672072..6c46c8e7 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,12 +427,21 @@ check_user_conf () { init_wine_ver () { if [[ "${PW_WINE_USE}" == "USE_SYSTEM_WINE" ]] \ && command -v wine &>/dev/null ; then - export WINEDIR="$RT_PREFIX/usr" - export WINE="$RT_PREFIX/$(command -v wine)" - export WINELOADER="$WINE" - export WINESERVER="$RT_PREFIX/$(command -v wineserver)" - export PW_USE_RUNTIME=0 - export PW_NO_FSYNC=1 + if ! check_flatpak ; then + export WINEDIR="$RT_PREFIX/usr" + export WINE="$RT_PREFIX/$(command -v wine)" + export WINELOADER="$WINE" + export WINESERVER="$RT_PREFIX/$(command -v wineserver)" + export PW_USE_RUNTIME=0 + export PW_NO_FSYNC=1 + else + export WINEDIR="$RT_PREFIX/app" + export WINE="$RT_PREFIX/app/bin/wine" + export WINELOADER="$WINE" + export WINESERVER="$RT_PREFIX/app/bin/wineserver" + export PW_USE_RUNTIME=0 + export PW_NO_FSYNC=1 + fi else if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then orig_IFS="$IFS" @@ -533,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 @@ -640,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}" @@ -785,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" \ @@ -797,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}" @@ -945,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}" @@ -974,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}" @@ -1140,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/Battle.net_Launcher b/data_from_portwine/scripts/portwine_db/Battle.net_Launcher index f5f0cb95..d29cb9b3 100755 --- a/data_from_portwine/scripts/portwine_db/Battle.net_Launcher +++ b/data_from_portwine/scripts/portwine_db/Battle.net_Launcher @@ -12,6 +12,7 @@ export PW_DLL_INSTALL="vcrun2019 d3dx11_42 d3dx11_43" export PW_WINDOWS_VER=10 export PW_WINE_FULLSCREEN_FSR="0" export PW_USE_EAC_AND_BE="0" +export PW_WINE_USE="PROTON_LG" add_in_start_portwine () { rm -fr "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/ProgramData/Agent/data" diff --git a/data_from_portwine/scripts/portwine_db/HogwartsLegacy b/data_from_portwine/scripts/portwine_db/HogwartsLegacy index 075a23c5..0ca801a1 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/pw_autoinstall/PW_BATTLE_NET b/data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET index d2c00ca3..5f49d669 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET +++ b/data_from_portwine/scripts/pw_autoinstall/PW_BATTLE_NET @@ -3,14 +3,15 @@ ######################################################################## [ "${update_loc}" = "RUS" ] && export BN_LOC=ruRU || export BN_LOC=enUS export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Battle.net-Setup-${BN_LOC}.exe" +export PW_WINE_USE="WINE_LG" start_portwine if try_download_no_mirror "https://battle.net/download/getInstallerForGame?os=win&version=LIVE&gameProgram=BATTLENET_APP" "${PW_AUTOINSTALL_EXE}" then - # PW_START_PROGRESS_BAR "${loc_gui_installing_the} Battle Net. ${loc_gui_please_wait} " try_remove_dir "$WINEPREFIX/drive_c/ProgramData/Battle.net" pw_kill_autostart Battle.net.exe & pw_run "${PW_AUTOINSTALL_EXE}" + pw_start_progress_bar_block "${loc_gui_installing_the} Battle Net. ${loc_gui_please_wait} " portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe" | grep "Battle.net/Battle.net.exe"` pw_stop_progress_bar portwine_create_shortcut diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 99870120..218fc25e 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -71,8 +71,16 @@ start_portwine () { fi pw_wineboot () { + LIST_RM_WIN_DLL="winevulkan amd_ags_x64 ir50_32 atl100 ntdll \ +libvkd3d-1 libvkd3d-shader-1 dxvk_config nvapi nvapi64 d3d12core d3d12 \ +d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d vulkan-1" + for rm_win_dll in $LIST_RM_WIN_DLL ; do + try_remove_file "${WINEPREFIX}/drive_c/windows/system32/${rm_win_dll}.dll" + try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_win_dll}.dll" + done print_info "Used wineboot $@ for prefix: ${PW_PREFIX_NAME}" ${pw_runtime} env GST_PLUGIN_SYSTEM_PATH_1_0="" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ + WINEDEBUG="fixme-all,err+loaddll,err+dll,err+file,err+reg" \ "${WINELOADER}" wineboot $@ &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" wait_wineserver print_info "The prefix has been updated." @@ -85,24 +93,23 @@ 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 - pw_wineboot -u + unpack_tar_xz "${PW_PLUGINS_PATH}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent + pw_wineboot -r 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 - pw_wineboot -u + unpack_tar_xz "${PW_PLUGINS_PATH}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent + pw_wineboot -r elif [[ "${PW_CHECK_AUTOINSTAL}" == 1 ]] \ && [[ "${DISABLE_CP_DEFPFX}" == 1 ]] ; then pw_update_pfx_cover_gui 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 - pw_wineboot -u + unpack_tar_xz "${PW_PLUGINS_PATH}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent + pw_wineboot -r else pw_update_pfx_cover_gui pw_wineboot -i @@ -117,7 +124,7 @@ start_portwine () { if echo "$portwine_exe" | grep -i vkplay &>/dev/null then pw_kill_autostart GameCe 5 please & : fi - pw_wineboot -u + pw_wineboot -r fi fi echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" @@ -395,7 +402,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/" @@ -410,15 +417,6 @@ start_portwine () { try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32/" done fi - print_info "Try link wine d3d files by default..." - for rm_vulkan_dll in libvkd3d-1 libvkd3d-shader-1 dxvk_config nvapi nvapi64 d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d ; do - try_remove_file "${WINEPREFIX}/drive_c/windows/system32/${rm_vulkan_dll}.dll" - try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${rm_vulkan_dll}.dll" - done - for wine_build_dll in d3d12core d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 d3d8 dxgi wined3d ; do - try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" - try_force_link_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" - done create_new_dir "${PW_VULKAN_DIR}/opengl" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/opengl" @@ -483,13 +481,13 @@ start_portwine () { fi 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}" + export PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}" + export PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}" print_info "DXVK v.${DXVK_STABLE_VER} in use" print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use" elif [[ "${PW_VULKAN_USE}" == "2" ]] ; then - PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}" - PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}" + export PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}" + export PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}" print_info "DXVK v.${DXVK_GIT_VER} in use" print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use" fi @@ -505,11 +503,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/" @@ -564,30 +560,6 @@ start_portwine () { if [[ "${PW_WINE_CPU_TOPOLOGY}" != "disabled" ]] ; then export WINE_CPU_TOPOLOGY="${PW_WINE_CPU_TOPOLOGY}" fi - - for try_cp_dll_from_wine in "ntdll.dll" "vulkan-1.dll" "winevulkan.dll" "amd_ags_x64.dll" "ir50_32.dll" ; do - try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}" - if [[ -d "${WINEDIR}/lib/wine/i386-windows/" ]] ; then - if try_copy_file "${WINEDIR}/lib/wine/i386-windows/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}" - then print_info "Try copy $try_cp_dll_from_wine to syswow64... OK." - fi - elif [[ -d "${WINEDIR}/lib32/wine/i386-windows/" ]] ; then - if try_copy_file "${WINEDIR}/lib32/wine/i386-windows/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/syswow64/${try_cp_dll_from_wine}" - then print_info "Try copy $try_cp_dll_from_wine to syswow64... OK." - fi - fi - try_remove_file "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}" - if [[ -d "${WINEDIR}/lib64/wine/x86_64-windows/" ]] ; then - if try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}" - then print_info "Try copy $try_cp_dll_from_wine to system32... OK." - fi - elif [[ -d "${WINEDIR}/lib/wine/x86_64-windows/" ]] ; then - if try_copy_file "${WINEDIR}/lib/wine/x86_64-windows/${try_cp_dll_from_wine}" "${WINEPREFIX}/drive_c/windows/system32/${try_cp_dll_from_wine}" - then print_info "Try copy $try_cp_dll_from_wine to system32... OK." - fi - fi - done - #run_winetricks_from_db if [[ ! -z "${PW_MUST_HAVE_DLL}" ]] then export PW_DLL_INSTALL="`echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' `" @@ -702,6 +674,8 @@ pw_run () { fi echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}" echo "------------------------------------" >> "${PW_LOG_TO_FILE}" + [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] && cat "${PORT_WINE_TMP_PATH}/update_pfx_log" >> "${PW_LOG_TO_FILE}" + echo "-" >> "${PW_LOG_TO_FILE}" echo "Log WINE:" >> "${PW_LOG_TO_FILE}" echo "" print_info "Log from RUNTIME and WINE:" @@ -724,7 +698,6 @@ pw_run () { fi echo "" echo "Log WINE:" > "${PW_LOG_TO_FILE}" - print_info "Log from RUNTIME and WINE:" ${PW_RUN_GAMESCOPE} \ ${pw_runtime} \ env PATH="${PATH}" \ @@ -735,7 +708,12 @@ pw_run () { ${PW_GAMEMODERUN_SLR} \ ${PW_MANGOHUD_SLR} \ "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" + print_info "Update prefix log:" + [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] && cat "${PORT_WINE_TMP_PATH}/update_pfx_log" + echo + print_info "Log from RUNTIME and WINE:" cat "${PW_LOG_TO_FILE}" + echo fi else if [[ "${PW_LOG}" == 1 ]] ; then @@ -748,6 +726,8 @@ pw_run () { fi echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}" echo "------------------------------------" >> "${PW_LOG_TO_FILE}" + [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] && cat "${PORT_WINE_TMP_PATH}/update_pfx_log" >> "${PW_LOG_TO_FILE}" + echo "-" >> "${PW_LOG_TO_FILE}" echo "Log WINE:" >> "${PW_LOG_TO_FILE}" echo "" print_info "Log WINE:" @@ -757,6 +737,8 @@ pw_run () { "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" wait_wineserver else + print_info "Update prefix log:" + [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] && cat "${PORT_WINE_TMP_PATH}/update_pfx_log" echo "" echo "Log WINE:" > "${PW_LOG_TO_FILE}" print_info "Log WINE:" @@ -796,9 +778,10 @@ 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 +unset MANGOHUD_CONFIG export portname=PortProton @@ -845,7 +828,6 @@ create_new_dir "${PORT_WINE_TMP_PATH}"/mono export PW_VULKAN_DIR="${PORT_WINE_TMP_PATH}/VULKAN" create_new_dir "${PW_VULKAN_DIR}" - export LSPCI_VGA="$(lspci -k | grep -E 'VGA|3D' | tr -d '\n')" if command -v xrandr &>/dev/null ; then @@ -876,7 +858,19 @@ export USER_CONF="${PORT_WINE_PATH}/data/user.conf" check_user_conf check_variables PW_LOG "0" +try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log" + 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 @@ -888,14 +882,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 6096e171..ee093b0d 100755 --- a/data_from_portwine/scripts/setup.sh +++ b/data_from_portwine/scripts/setup.sh @@ -3,11 +3,11 @@ . "$(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" - echo "Exec=flatpak run com.castrofidel.portproton" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Exec=flatpak run ru.linux_gaming.PortProton" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Categories=Game" >> "${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 61c65d95..2b70fa60 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -191,14 +191,18 @@ 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" - "${PW_PLUGINS_PATH}/portable/bin/inxi" -Gc0 >> "${PORT_WINE_PATH}/${portname}.log" - if echo "$LSPCI_VGA" | grep -i nvidia &>/dev/null ; then + 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 if command -v ldconfig &>/dev/null ; then echo "------" >> "${PORT_WINE_PATH}/${portname}.log" echo "ldconfig -p | grep libGLX_nvidia" >> "${PORT_WINE_PATH}/${portname}.log" 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" @@ -415,7 +419,6 @@ pw_winetricks () { --auto-close --skip-taskbar --width=$PW_GIF_SIZE_X --height=$PW_GIF_SIZE_Y 2>/dev/null & ${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \ "${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" - try_remove_file "${PORT_WINE_TMP_PATH}/update_pfx_log" kill -s SIGTERM "$(pgrep -a yad_v12_3 | grep "title=WINETRICKS" | awk '{print $1}')" > /dev/null 2>&1 stop_portwine } @@ -494,12 +497,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 } @@ -581,10 +578,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 @@ -677,8 +670,8 @@ 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 ; - then PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | sed 's|flatpak run com.castrofidel.portproton|\"${PORT_SCRIPTS_PATH}/start.sh\"|' | awk -F'=' '{print $2}')" + 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 0e8db9a3..43a984bc 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,9 +1,9 @@ #!/usr/bin/env bash #Author: Castro-Fidel (linux-gaming.ru) -#SCRIPTS_NEXT_VERSION=2264 +#SCRIPTS_NEXT_VERSION=2267 ######################################################################## 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" +export DEFAULT_MANGOHUD_CONFIG="arch,cpu_mhz,cpu_temp,engine_version,gamemode,gpu_core_clock,gpu_mem_clock,gpu_name,gpu_temp,ram,resolution,vkbasalt,vram,vulkan_driver,wine" export PW_VKBASALT_EFFECTS="Curves:cas" export PW_VKBASALT_FFX_CAS="0.66" export ENABLE_VKBASALT=1 @@ -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,21 +38,21 @@ 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="_v15" export PW_FAKE_DLSS_VER="230506" export PW_FAKE_DLSS_3_VER="090" export PW_GALLIUM_NINE_VER="0.9" ###WINE_AND_PROTON_LG### -export PW_PROTON_LG_VER="PROTON_LG_9-1" +export PW_PROTON_LG_VER="PROTON_LG_9-2" export PW_WINE_LG_VER="WINE_LG_9-2" export PW_WINE_FULLSCREEN_FSR="1" ###DXVK_AND_VKD3D### export VKD3D_LIMIT_TESS_FACTORS="64" export D8VK_VER="1.7.1-2367" export DXVK_STABLE_VER="1.10.3-28" -export DXVK_GIT_VER="2.3-90" +export DXVK_GIT_VER="2.3.1" export VKD3D_STABLE_VER="1.1-2602" -export VKD3D_GIT_VER="1.1-3954" +export VKD3D_GIT_VER="1.1-3973" ###PREFIX_VERSION### export DOTPFX_VER="48v2" export DEFPFX_VER="v1" @@ -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 1bf9ce60..edd8d8c8 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 @@ -300,9 +307,26 @@ pw_gui_for_edit_db () { fi echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE" edit_db_from_gui $@ LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY GAMESCOPE_ARGS + if [[ -z "$MANGOHUD_CONFIG" ]] ; then + MONITOR_HEIGHT="$(echo $PW_SCREEN_RESOLUTION | awk -F'x' '{print $2}')" + MH_FONT_SIZE="font_size=$(( MONITOR_HEIGHT / 45 ))" + MANGOHUD_CONFIG="$DEFAULT_MANGOHUD_CONFIG,$MH_FONT_SIZE" + edit_db_from_gui MANGOHUD_CONFIG + fi 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 } @@ -316,7 +340,7 @@ gui_proton_downloader () { return 0 fi pw_start_progress_bar_block "$loc_gui_check_new_wine" - #PROTON_GE + # PROTON_GE export PROTON_GE_GIT=($(curl -s "https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases" | grep "browser_download_url.*\.tar\.gz" | cut -d \" -f 4)) try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" if [[ ! -z "${PROTON_GE_GIT}" ]] ; then @@ -327,18 +351,18 @@ gui_proton_downloader () { sed -i '/github-action/d' "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" fi - #WINE_KRON4EK - export WINE_KRON4EK=($(curl -s "https://api.github.com/repos/Kron4ek/Wine-Builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4)) - try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" - if [[ ! -z "${WINE_KRON4EK}" ]] ; then - for PGEGIT in ${WINE_KRON4EK[@]} ; do - echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" - done - sed -i '/6.3/,$d' "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" - sed -i '/-x86/d' "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" - fi + # WINE_KRON4EK + # export WINE_KRON4EK=($(curl -s "https://api.github.com/repos/Kron4ek/Wine-Builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4)) + # try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" + # if [[ ! -z "${WINE_KRON4EK}" ]] ; then + # for PGEGIT in ${WINE_KRON4EK[@]} ; do + # echo ${PGEGIT} | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" + # done + # sed -i '/6.3/,$d' "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" + # sed -i '/-x86/d' "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" + # fi - #WINE_GE_CUSTOM + # WINE_GE_CUSTOM export WINE_GE_CUSTOM=($(curl -s "https://api.github.com/repos/GloriousEggroll/wine-ge-custom/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4)) try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" if [[ ! -z "${WINE_GE_CUSTOM}" ]] ; then @@ -348,7 +372,7 @@ gui_proton_downloader () { sed -i '/6.23/,$d' "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" fi - #PROTON_LG + # PROTON_LG export PROTON_PW_GIT=($(curl -s "https://api.github.com/repos/Castro-Fidel/wine_builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4)) try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" if [[ ! -z "${PROTON_PW_GIT}" ]] ; then @@ -368,33 +392,33 @@ gui_proton_downloader () { for INSTALLING_VERSION_IN_DIST in `ls "${PORT_WINE_PATH}/data/dist/"` ; do sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" - sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" + # sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" done - #Installed wine + # Installed wine ls -l ${PORT_WINE_PATH}/data/dist | awk '{print $9}' | sed '/^$/d' > ${PORT_WINE_TMP_PATH}/tmp_installed_wine if [[ "$1" != "silent" ]] ; then - #GUI + # GUI export KEY_WINE=$RANDOM try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" - try_remove_file "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set" + # try_remove_file "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set" try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_set" try_remove_file "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set" try_remove_file "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" `"${pw_yad}" --plug=$KEY_WINE --tabnum=1 --list --separator="" --listen \ --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" 2>/dev/null` & + # `"${pw_yad}" --plug=$KEY_WINE --tabnum=2 --list --separator="" --listen \ + # --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" 1> "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set" 2>/dev/null` & `"${pw_yad}" --plug=$KEY_WINE --tabnum=2 --list --separator="" --listen \ - --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" 1> "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set" 2>/dev/null` & - `"${pw_yad}" --plug=$KEY_WINE --tabnum=3 --list --separator="" --listen \ --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_set" 2>/dev/null` & - `"${pw_yad}" --plug=$KEY_WINE --tabnum=4 --list --separator="" --listen \ + `"${pw_yad}" --plug=$KEY_WINE --tabnum=3 --list --separator="" --listen \ --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" 1> "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set" 2>/dev/null` & - `"${pw_yad}" --plug=$KEY_WINE --tabnum=5 --list --separator="" --listen \ + `"${pw_yad}" --plug=$KEY_WINE --tabnum=4 --list --separator="" --listen \ --column "$loc_gui_del_wine" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" 2>/dev/null` & `"${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --title "WINE MANAGER" --separator="" \ - --tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK" --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine" 2>/dev/null` + --tab-pos=top --tab="PROTON-LG" --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine" 2>/dev/null` YAD_WINE_STATUS="$?" if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then export SKIP_CHECK_UPDATES=1 @@ -406,8 +430,6 @@ gui_proton_downloader () { export VERSION_WINE_GIT="`cat "${PORT_WINE_TMP_PATH}/tmp_proton_set"`" elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set" | awk '{print $1}'` ] ; then export VERSION_WINE_GIT="`cat "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set"`" - elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set" | awk '{print $1}'` ] ; then - export VERSION_WINE_GIT="`cat "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set"`" elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set" | awk '{print $1}'` ] ; then export VERSION_WINE_GIT="`cat "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"`" elif [ ! -z `cat "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" | awk '{print $1}'` ] ; then @@ -420,7 +442,7 @@ gui_proton_downloader () { fi try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" - try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" + # try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" try_remove_file "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" try_remove_file "${PORT_WINE_TMP_PATH}/tmp_installed_wine" @@ -670,7 +692,7 @@ gui_MangoHud () { edit_db_from_gui MANGOHUD_CONFIG PW_MANGOHUD FPS_LIMIT export SKIP_CHECK_UPDATES=1 - /usr/bin/env bash -c "${pw_full_command_line[*]}" & + /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 } @@ -721,8 +743,8 @@ 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 - then echo "Exec=flatpak run com.castrofidel.portproton \"${portwine_exe}\" " >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + 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 echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -753,8 +775,8 @@ 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 - then echo "flatpak run com.castrofidel.portproton \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh" + 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 chmod u+x "${STEAM_SCRIPTS}/${name_desktop}.sh"