Commit e44a85ac authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2265

parent f0f00991
...@@ -2,6 +2,22 @@ You can help us in the development of the project on the website: https://linux- ...@@ -2,6 +2,22 @@ You can help us in the development of the project on the website: https://linux-
---------------------------------------- ----------------------------------------
Changelog: 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 ###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 the option to end the first PortProton session when starting the second
* added auto-installation of the game "Pulse Online" * added auto-installation of the game "Pulse Online"
......
...@@ -2,6 +2,22 @@ ...@@ -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 мегабайт ###Scripts version 2264### Дата: 15.03.2024 / Размер скачиваемого обновления: 15 мегабайт
* добавлен выбор завершения первой сессии PortProton при запуске второй * добавлен выбор завершения первой сессии PortProton при запуске второй
* добавлена автоустановка игры "Pulse Online" * добавлена автоустановка игры "Pulse Online"
......
...@@ -292,6 +292,20 @@ check_gamescope_session () { ...@@ -292,6 +292,20 @@ check_gamescope_session () {
fi 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 () { unpack_tar_zst () {
set -o pipefail set -o pipefail
unset PW_ZSTD_PORT unset PW_ZSTD_PORT
...@@ -413,7 +427,7 @@ check_user_conf () { ...@@ -413,7 +427,7 @@ check_user_conf () {
init_wine_ver () { init_wine_ver () {
if [[ "${PW_WINE_USE}" == "USE_SYSTEM_WINE" ]] \ if [[ "${PW_WINE_USE}" == "USE_SYSTEM_WINE" ]] \
&& command -v wine &>/dev/null ; then && 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 WINEDIR="$RT_PREFIX/usr"
export WINE="$RT_PREFIX/$(command -v wine)" export WINE="$RT_PREFIX/$(command -v wine)"
export WINELOADER="$WINE" export WINELOADER="$WINE"
...@@ -542,7 +556,7 @@ init_wine_ver () { ...@@ -542,7 +556,7 @@ init_wine_ver () {
} }
pw_init_runtime () { pw_init_runtime () {
if [[ "$PW_USE_RUNTIME" != 1 ]] ; then if [[ "$PW_USE_RUNTIME" != 1 ]] || check_flatpak ; then
export pw_runtime="" export pw_runtime=""
return 0 return 0
fi fi
...@@ -649,8 +663,8 @@ pw_mangohud_check () { ...@@ -649,8 +663,8 @@ pw_mangohud_check () {
pw_vkbasalt_check () { pw_vkbasalt_check () {
if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf" export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
if ! grep "/pressure-vessel/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null if ! grep "${PW_PLUGINS_PATH}/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null
then sed -ri "s|= .*/reshade|= \"${PW_WINELIB}\"/pressure-vessel/reshade|g" "${VKBASALT_CONFIG_FILE}" then sed -ri "s|= .*/reshade|= \"${PW_PLUGINS_PATH}\"/reshade|g" "${VKBASALT_CONFIG_FILE}"
fi fi
if [[ ! -z "${PW_VKBASALT_EFFECTS}" ]] && [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then if [[ ! -z "${PW_VKBASALT_EFFECTS}" ]] && [[ ! -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}" sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}"
...@@ -794,8 +808,8 @@ stop_portwine () { ...@@ -794,8 +808,8 @@ stop_portwine () {
export -f stop_portwine export -f stop_portwine
pw_download_libs () { pw_download_libs () {
if [[ ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" ]] \ if [[ ! -f "${PW_WINELIB}/runtime/files/bin/vkcube" ]] \
|| [[ ! -f "${PW_WINELIB}/pressure-vessel/bin/pv-bwrap" ]] || [[ ! -f "${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-wrap" ]]
then then
print_info "Download and install libraries..." 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" \ 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 () { ...@@ -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}` 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}" do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
done done
# TODO: drop clear prefix, and add update prefix from new libs
pw_clear_pfx
fi fi
else else
try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}" try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
...@@ -954,6 +966,8 @@ pw_check_and_download_plugins () { ...@@ -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 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 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 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}` 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}" do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
...@@ -984,6 +998,8 @@ pw_check_and_download_plugins () { ...@@ -984,6 +998,8 @@ pw_check_and_download_plugins () {
"${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then "${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 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 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}` 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}" do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
...@@ -1149,7 +1165,7 @@ pw_init_db () { ...@@ -1149,7 +1165,7 @@ pw_init_db () {
check_variables PW_USE_RAY_TRACING "1" check_variables PW_USE_RAY_TRACING "1"
fi 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 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 if [[ -f "${PATH_TO_GAME}/${chk_lang_and_uname}" ]] ; then
sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}/${chk_lang_and_uname}" sed -i "s/Language=english/Language=russian/" "${PATH_TO_GAME}/${chk_lang_and_uname}"
......
...@@ -17,8 +17,3 @@ Grub Customizer utility" ...@@ -17,8 +17,3 @@ Grub Customizer utility"
fi fi
export PW_VULKAN_USE="2" 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
}
...@@ -85,15 +85,14 @@ start_portwine () { ...@@ -85,15 +85,14 @@ start_portwine () {
then then
pw_clear_pfx pw_clear_pfx
check_dirs_and_files_in_pfx check_dirs_and_files_in_pfx
if [[ "${PW_PREFIX_NAME}" == DEFAULT ]] ; then if [[ "${PW_PREFIX_NAME}" == DEFAULT ]] ; then
pw_update_pfx_cover_gui 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 pw_wineboot -u
elif [[ "${PW_CHECK_AUTOINSTAL}" == 1 ]] \ elif [[ "${PW_CHECK_AUTOINSTAL}" == 1 ]] \
&& [[ "${DISABLE_CP_DEFPFX}" != 1 ]] ; then && [[ "${DISABLE_CP_DEFPFX}" != 1 ]] ; then
pw_update_pfx_cover_gui 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 pw_wineboot -u
elif [[ "${PW_CHECK_AUTOINSTAL}" == 1 ]] \ elif [[ "${PW_CHECK_AUTOINSTAL}" == 1 ]] \
&& [[ "${DISABLE_CP_DEFPFX}" == 1 ]] ; then && [[ "${DISABLE_CP_DEFPFX}" == 1 ]] ; then
...@@ -101,7 +100,7 @@ start_portwine () { ...@@ -101,7 +100,7 @@ start_portwine () {
pw_wineboot -i pw_wineboot -i
elif yad_question "$loc_gui_dll_new_pfx ${PW_PREFIX_NAME}" ; then elif yad_question "$loc_gui_dll_new_pfx ${PW_PREFIX_NAME}" ; then
pw_update_pfx_cover_gui 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 pw_wineboot -u
else else
pw_update_pfx_cover_gui pw_update_pfx_cover_gui
...@@ -395,7 +394,7 @@ start_portwine () { ...@@ -395,7 +394,7 @@ start_portwine () {
echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi fi
#try link d3d extras libs #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 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}/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/" try_force_link_file "${PATH_TO_D3DEXTRAS}/x32/${d3d_extras_from_plugins}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
...@@ -505,11 +504,9 @@ start_portwine () { ...@@ -505,11 +504,9 @@ start_portwine () {
fi fi
done 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 "${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 "${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 "${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/" try_force_link_file "${PW_PLUGINS_PATH}/nvapi/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/"
...@@ -784,7 +781,7 @@ else ...@@ -784,7 +781,7 @@ else
fi 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 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 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_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 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 ...@@ -865,6 +862,16 @@ check_user_conf
check_variables PW_LOG "0" check_variables PW_LOG "0"
if [[ -z "${INSTALLING_PORT}" ]] ; then 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 if [[ -f "/tmp/portproton.lock" ]] ; then
print_warning "Found lock file: /tmp/portproton.lock" print_warning "Found lock file: /tmp/portproton.lock"
yad_question "$loc_gui_portproton_lock" || exit 0 yad_question "$loc_gui_portproton_lock" || exit 0
...@@ -876,14 +883,8 @@ if [[ -z "${INSTALLING_PORT}" ]] ; then ...@@ -876,14 +883,8 @@ if [[ -z "${INSTALLING_PORT}" ]] ; then
} }
trap "rm_lock_file" EXIT trap "rm_lock_file" EXIT
. "${USER_CONF}" check_flatpak || pw_download_libs
if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then export PW_VULKANINFO_PORTABLE="$PW_PLUGINS_PATH/portable/bin/x86_64-linux-gnu-vulkaninfo"
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"
export VULKAN_API_DRIVER_VERSION="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')" 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)" export VULKAN_DRIVER_NAME="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep driverName | awk '{print$3}' | head -1)"
pw_init_db pw_init_db
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
. "$(dirname $(readlink -f "$0"))/runlib" . "$(dirname $(readlink -f "$0"))/runlib"
name_desktop="PortProton" 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 "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${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 "Version=${install_ver}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
...@@ -31,8 +31,7 @@ else ...@@ -31,8 +31,7 @@ else
chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop"
fi fi
if [[ ! -f /usr/bin/portproton ]] \ if [[ ! -f /usr/bin/portproton ]] && ! check_flatpak
&& ! grep -i "flatpak" /etc/os-release &>/dev/null
then then
cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/
fi fi
...@@ -43,7 +42,7 @@ fi ...@@ -43,7 +42,7 @@ fi
update-desktop-database -q "${HOME}/.local/share/applications" 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" xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program"
fi fi
......
...@@ -191,7 +191,7 @@ portwine_start_debug () { ...@@ -191,7 +191,7 @@ portwine_start_debug () {
[[ `command -v glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log" [[ `command -v glxinfo` ]] && glxinfo -B >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----" >> "${PORT_WINE_PATH}/${portname}.log" echo "-----" >> "${PORT_WINE_PATH}/${portname}.log"
echo "inxi -G:" >> "${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" then "${PW_PLUGINS_PATH}/portable/bin/inxi" -Gc0 >> "${PORT_WINE_PATH}/${portname}.log"
fi fi
if echo "$LSPCI_VGA" | grep -i nvidia &>/dev/null ; then if echo "$LSPCI_VGA" | grep -i nvidia &>/dev/null ; then
...@@ -201,6 +201,8 @@ portwine_start_debug () { ...@@ -201,6 +201,8 @@ portwine_start_debug () {
ldconfig -p | grep libGLX_nvidia >> "${PORT_WINE_PATH}/${portname}.log" ldconfig -p | grep libGLX_nvidia >> "${PORT_WINE_PATH}/${portname}.log"
fi fi
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 "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "Vulkan info device name:" >> "${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" "$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep -E '^GPU|deviceName|driverName' >> "${PORT_WINE_PATH}/${portname}.log"
...@@ -496,12 +498,6 @@ pw_edit_db () { ...@@ -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_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 PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME
fi 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 # PW_FORCE_USE_VSYNC HEAP_DELAY_FREE
} }
...@@ -583,10 +579,6 @@ do ...@@ -583,10 +579,6 @@ do
export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}" export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}"
done 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" check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
case "${PW_VULKAN_USE}" in case "${PW_VULKAN_USE}" in
...@@ -679,7 +671,7 @@ else ...@@ -679,7 +671,7 @@ else
kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY} \--notebook" | awk '{print $1}') > /dev/null 2>&1 kill -s SIGUSR1 $(pgrep -a yad | grep "\--key=${KEY} \--notebook" | awk '{print $1}') > /dev/null 2>&1
fi 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}')" 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}')" else PW_EXEC_FROM_DESKTOP="$(cat "${PORT_WINE_PATH}/${PW_YAD_SET//¬/" "}" | grep Exec | head -n 1 | awk -F"=env " '{print $2}')"
fi fi
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2264 #SCRIPTS_NEXT_VERSION=2265
######################################################################## ########################################################################
export PW_MANGOHUD="0" 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="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" ...@@ -18,7 +18,7 @@ export PW_FORCE_USE_VSYNC="2"
export PW_USE_TERMINAL="0" export PW_USE_TERMINAL="0"
export PW_WINDOWS_VER="10" export PW_WINDOWS_VER="10"
export WINEARCH="win64" export WINEARCH="win64"
export PW_LIBS_VER="_v46" export PW_LIBS_VER="_v47"
export GDK_BACKEND="x11" export GDK_BACKEND="x11"
export PW_USE_GSTREAMER="1" export PW_USE_GSTREAMER="1"
export PW_USE_D3D_EXTRAS="1" export PW_USE_D3D_EXTRAS="1"
...@@ -38,7 +38,7 @@ export PW_USE_GAMESCOPE="0" ...@@ -38,7 +38,7 @@ export PW_USE_GAMESCOPE="0"
# export GTK_THEME="Adwaita:dark" # export GTK_THEME="Adwaita:dark"
###DEFAULT_WINE### ###DEFAULT_WINE###
export PW_WINE_USE="PROTON_LG" 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_VER="230506"
export PW_FAKE_DLSS_3_VER="090" export PW_FAKE_DLSS_3_VER="090"
export PW_GALLIUM_NINE_VER="0.9" export PW_GALLIUM_NINE_VER="0.9"
...@@ -63,11 +63,12 @@ export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf" ...@@ -63,11 +63,12 @@ export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf"
################################################################# #################################################################
pw_list_install_dll_in_prefix () 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 case $PW_PREFIX_NAME in
DEFAULT) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2022 sandbox" ;; DEFAULT) export PW_MUST_HAVE_DLL="$STANDART_DLL" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 faudio dotnet48" ;; DOTNET) export PW_MUST_HAVE_DLL="dotnet48" ;;
PROGRAMS) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2019 riched20 corefonts msxml3 msxml4 msxml6" ;; PROGRAMS) export PW_MUST_HAVE_DLL="riched20 msxml3 msxml4 msxml6" ;;
*) export PW_MUST_HAVE_DLL="" ;; *) export PW_MUST_HAVE_DLL="sandbox" ;;
esac esac
} }
######################################################################## ########################################################################
......
...@@ -265,11 +265,18 @@ pw_gui_for_edit_db () { ...@@ -265,11 +265,18 @@ pw_gui_for_edit_db () {
YAD_STATUS="$?" YAD_STATUS="$?"
export SKIP_CHECK_UPDATES=1 export SKIP_CHECK_UPDATES=1
case "$YAD_STATUS" in case "$YAD_STATUS" in
1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;; 1)
2) try_remove_file "$portwine_exe".ppdb /usr/bin/env bash -c "${pw_full_command_line[*]}" &
/usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;; exit 0
150) xdg-open "${PORTWINE_DB_FILE}" & exit 0 ;; ;;
252) exit 0 ;; 2)
try_remove_file "$portwine_exe".ppdb
/usr/bin/env bash -c "${pw_full_command_line[*]}" &
exit 0
;;
252)
exit 0
;;
esac esac
output_yad_edit_db=(`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"`) output_yad_edit_db=(`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_edit_db"`)
bool_from_yad=0 bool_from_yad=0
...@@ -302,7 +309,18 @@ pw_gui_for_edit_db () { ...@@ -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_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 edit_user_conf_from_gui PW_GPU_USE
# PW_AMD_VULKAN_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 () { ...@@ -721,7 +739,7 @@ portwine_create_shortcut () {
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${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" 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" else echo "Exec=env "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" "" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
fi fi
...@@ -753,7 +771,7 @@ portwine_create_shortcut () { ...@@ -753,7 +771,7 @@ portwine_create_shortcut () {
echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh" echo "#!/usr/bin/env bash" > "${STEAM_SCRIPTS}/${name_desktop}.sh"
echo "export START_FROM_STEAM=1" >> "${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" 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" 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" else echo "\"${PORT_SCRIPTS_PATH}/start.sh\" \"${portwine_exe}\" " >> "${STEAM_SCRIPTS}/${name_desktop}.sh"
fi fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment