Merge branch 'master' into fix-system-wine-usr-merge
This commit is contained in:
commit
4233df23b5
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
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}"
|
||||
@ -975,6 +998,8 @@ pw_check_and_download_plugins () {
|
||||
"${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}"
|
||||
@ -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}"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -191,7 +191,9 @@ 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 ! 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"
|
||||
@ -199,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"
|
||||
@ -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
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
########################################################################
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
@ -328,15 +352,15 @@ gui_proton_downloader () {
|
||||
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
|
||||
# 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
|
||||
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))
|
||||
@ -368,7 +392,7 @@ 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
|
||||
@ -377,24 +401,24 @@ gui_proton_downloader () {
|
||||
# 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"
|
||||
|
Loading…
Reference in New Issue
Block a user