Commit a09063c2 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2100

parent cd5f8537
......@@ -2,6 +2,21 @@ You can help us in the development of the project on the website: https://boosty
-----------------------------------------
Changelog:
###Scripts version 2100###
* updated "libs_v27" (unification of library directories for different Linux OS)
* MANGOHUD works again in OPENGL mode
* added launcher World of Sea Battle (TEST)
###Scripts version 2099###
* updated "PROTON_GE" to version 7-14
* updated "libs_v26" (Steam Runtime Sniper container update)
* updated "plugins_v5"
* added check for the presence of the d3dadapter9 library in the system (required for GALLIUM_NINE to work on a larger number of Linux OS)
* faster creation of a new prefix
* default theme for wine is light (after creating a new one, or clearing the current prefix)
* added variable PW_USE_SHADER_CACHE to EDIT_DB to control shader caching (disable only if there are microfreezes in the game)
* removed STEAM_PP from AUTOINSTALL (because there is a native STEAM for Linux with its own wine-proton)
###Scripts version 2098###
* due to possible problems with some games, MANGOHUD is disabled by default (enabled in EDIT_DB -> MANGOHUD, or globally by adding export PW_MANGOHUD=1 to user.conf)
......
......@@ -2,6 +2,21 @@
-----------------------------------------
История изменений:
###Scripts version 2100###
* обновлен "libs_v27" (унификация каталогов библиотек под разные ОС Linux)
* MANGOHUD снова работает в режиме OPENGL
* добавлен лаунчер World of Sea Battle (ТЕСТ)
###Scripts version 2099###
* обновлен "PROTON_GE" до версии 7-14
* обновлен "libs_v26" (обновление контейнера Steam Runtime Sniper)
* обновлен "plugins_v5"
* добавлена проверка наличия библиотеки d3dadapter9 в системе (неоходимо для работы GALLIUM_NINE на большем кол-ве ОС Linux)
* ускорено создание нового префикса
* по умолчанию для wine используется тема light (после создания нового, или чистки текущего префикса)
* в EDIT_DB добавлена переменная PW_USE_SHADER_CACHE для управление кешированием шейдеров (отключать только при наличии микрофризов в игре)
* удален STEAM_PP из AUTOINSTALL (так как есть нативная версия STEAM для Linux со своим wine-proton)
###Scripts version 2098###
* из за возможных проблем с некоторыми играми по умолчанию MANGOHUD выключен (включается в EDIT_DB -> MANGOHUD, или глобально добавлением export PW_MANGOHUD=1 в user.conf)
......@@ -11,7 +26,7 @@
* добавлен выбор режима "GALLIUM_NINE" (поддержка нитивного DirectX9 на видеокарте с MESA драйвером)
* в новый интерфейс для WINETRICKS добавлена вкладка settings
* в EDIT_DB добавлена переменная PW_USE_AMDVLK_DRIVER (использовать драйвер AMDVLK вместо RADV на видеокартах от AMD)
* добавлено архивация ярлыков при создании образа префикса
* добавлена архивация ярлыков при создании образа префикса
* добавлено востановление ярлыков после распаковки образа префикса (путь до .exe файла корректируется автоматически)
* улучшена работа виртуального рабочего стола
* explorer изменен на winefile (исправлено определение свободного дискового пространства)
......
......@@ -168,6 +168,22 @@ var_vkd3d_config_update () {
return 0
}
var_radv_perftest_config_update () {
if [ ! -z "${RADV_PERFTEST}" ]
then export RADV_PERFTEST="${1};${RADV_PERFTEST}"
else export RADV_PERFTEST="${1}"
fi
return 0
}
var_vk_istance_layers_config_update () {
if [ ! -z "${PW_VK_INSTANCE_LAYERS}" ]
then export PW_VK_INSTANCE_LAYERS="${1}:${PW_VK_INSTANCE_LAYERS}"
else export PW_VK_INSTANCE_LAYERS="${1}"
fi
return 0
}
unpack_tar_xz () {
set -o pipefail
tar -Jxvf "$1" -C "$2" | sszen
......@@ -260,14 +276,12 @@ init_wine_ver () {
fi
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
chmod -R 755 "${WINEDIR}"
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
mv -f "${WINEDIR}/files"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/files"
elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then
chmod -R 755 "${WINEDIR}"
for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g"` ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
......@@ -314,30 +328,24 @@ init_wine_ver () {
}
pw_init_runtime () {
if [[ ! -z "`cat /etc/*-release | grep -i opensuse`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i centos`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i rosa`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i altlinux`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i astra`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i redos`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i fedora`" ]] \
|| [[ ! -z "`cat /etc/*-release | grep -i gentoo`" ]] ; then
if check_symlink "${PW_WINELIB}/portable/lib/lib64" ; then
rm -fr "${PW_WINELIB}/portable/lib/lib64"
fi
if [[ ! -d "${PW_WINELIB}/portable/lib/lib64" ]] ; then
mv -f "${PW_WINELIB}/portable/lib/lib" "${PW_WINELIB}/portable/lib/lib64"
fi
if [[ ! -d "${PW_WINELIB}/portable/lib/lib" ]] ; then
ln -s "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib"
fi
fi
# PW_OS_LIB='opensuse|centos|rosa|altlinux|astra|redos|fedora|gentoo'
# if [[ ! -z "`cat /etc/*-release | grep -iE "${PW_OS_LIB}"`" ]] ; then
# if check_symlink "${PW_WINELIB}/portable/lib/lib64" ; then
# rm -fr "${PW_WINELIB}/portable/lib/lib64"
# fi
# if [[ ! -d "${PW_WINELIB}/portable/lib/lib64" ]] ; then
# mv -f "${PW_WINELIB}/portable/lib/lib" "${PW_WINELIB}/portable/lib/lib64"
# fi
# if [[ ! -d "${PW_WINELIB}/portable/lib/lib" ]] ; then
# ln -s "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib"
# fi
# fi
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:${LD_LIBRARY_PATH}"
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:${LD_LIBRARY_PATH}"
else
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases"
fi
export PW_VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/"
......@@ -363,43 +371,43 @@ pw_init_runtime () {
var_winedlloverride_update "winegstreamer="
fi
if [ "${PW_USE_RUNTIME}" = 0 ] ; then
export pw_runtime=""
if [ "${PW_MANGOHUD}" = 1 ] ; then
[ -z `which mangohud` ] && export PW_MANGOHUD=0
fi
echo "RUNTIME is disabled"
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then
export pw_runtime="${PW_WINELIB}/run \
--unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else
if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then
export pw_runtime="${PW_WINELIB}/run \
--unshare-home \
--home="${PW_SANDBOX_HOME_PATH}" \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
else
export pw_runtime="${PW_WINELIB}/run \
--share-home \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
export pw_runtime="${PW_WINELIB}/run \
--share-home \
${PW_ADD_TO_ARGS_IN_RUNTIME} --"
fi
export PRESSURE_VESSEL_GC_RUNTIMES=0
export PRESSURE_VESSEL_COPY_RUNTIME=0
export PRESSURE_VESSEL_GC_LEGACY_RUNTIMES=0
export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=0
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
unset PRESSURE_VESSEL_RUNTIME_ARCHIVE
export PRESSURE_VESSEL_RUNTIME=runtime
export PRESSURE_VESSEL_RUNTIME_BASE="${PW_WINELIB}"
export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/var"
export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
fi
# export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/runtime"
export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=1
export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1
export PRESSURE_VESSEL_GC_RUNTIMES=0
export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel"
unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW
for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}"
else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}"
fi
done
for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi
done
echo "RUNTIME is enabled"
fi
done
for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do
if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ]
then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}"
else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}"
fi
done
echo "RUNTIME is enabled"
}
pw_mangohud_check () {
......@@ -413,10 +421,7 @@ pw_mangohud_check () {
then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}"
else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}"
fi
if [[ ! -z "${PW_VK_INSTANCE_LAYERS}" ]]
then export PW_VK_INSTANCE_LAYERS="VK_LAYER_MANGOHUD_overlay:${PW_VK_INSTANCE_LAYERS}"
else export PW_VK_INSTANCE_LAYERS="VK_LAYER_MANGOHUD_overlay"
fi
var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64:VK_LAYER_MANGOHUD_overlay32"
print_info "MANGOHUD is enabled"
else
export DISABLE_MANGOHUD=1
......@@ -439,10 +444,7 @@ pw_vkbasalt_check () {
sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx"
sed -i s/'> = 0.65;'/'> = 0.4;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/Curves.fx"
sed -i s/'> = 0.8;'/'> = 0.9;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/Bloom.fx"
if [[ ! -z "${PW_VK_INSTANCE_LAYERS}" ]]
then export PW_VK_INSTANCE_LAYERS="VK_LAYER_VKBASALT_post_processing:${PW_VK_INSTANCE_LAYERS}"
else export PW_VK_INSTANCE_LAYERS="VK_LAYER_VKBASALT_post_processing"
fi
var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing32:VK_LAYER_VKBASALT_post_processing64"
print_info "vkBasalt is enabled"
else
export DISABLE_VKBASALT=1
......
......@@ -89,6 +89,7 @@ then
export PW_PRIME_RENDER_OFFLOAD_INFO='Включить дискретную видеокарту NVIDIA для ноутбуков с гибридной графикой (при поддержке установленого драйвера в ОС)'
export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе'
export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD'
export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)'
export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)'
export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS'
......@@ -112,6 +113,8 @@ then
export PW_WAYLAND_INFO="Внимание! Вы запускаете $portname в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!"
export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: d3dadapter9"
elif [ "${update_loc}" = "ENG" ]
then
export PW_CHANGELOG_FILE="changelog_eng"
......@@ -170,4 +173,6 @@ then
export loc_winereg="Run Registry Prefix Editor ${portname}"
export loc_winetricks="Run winetricks to install additional libraries to the prefix ${portname}"
export loc_edit_db="Edit database file for"
export loc_find_d3dadapter9_error="not found in the system.\nInstall it and try again."
fi
#!/bin/bash
#Author: fff555
#GameCenter.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_STEAM_6.3-8C_PW2
export PW_VULKAN_USE=1
##export PW_USE_DXR10=1
##export PW_DLSS_ON=1
##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN
##export PW_USE_NVAPI_AND_DLSS=0
##export PW_OLD_GL_STRING=1
##export PW_HIDE_NVIDIA_GPU=1
##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
##export PW_VIRTUAL_DESKTOP=1
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
##export ENABLE_VKBASALT=1
##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only)
##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
##export PW_NO_FSYNC=1 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support.
##export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives
##export PW_USE_GSTREAMER=1 # 0 - disabled use winegstreamer
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
##export PW_HEAP_DELAY_FREE=1
##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
##export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG
##export PW_USE_TERMINAL=1 # Force run in terminal
##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
#!/bin/bash
#Author: UserDiscord
#NewRP.exe
#Rating=5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
##export WINEDLLOVERRIDES="blabla=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_GE
export PW_VULKAN_USE=1
export PW_USE_DXR10=0
##export PW_DLSS_ON=1
export PW_VULKAN_NO_ASYNC=0
export PW_USE_NVAPI_AND_DLSS=0
export PW_OLD_GL_STRING=0
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=0
export PW_VIRTUAL_DESKTOP=0
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT=1
export PW_VKBASALT_EFFECTS=cas:Curves:SMAA:LumaSharpen
export PW_VKBASALT_FFX_CAS=1
export PW_NO_FSYNC=0
export PW_NO_ESYNC=0
export PW_USE_GSTREAMER=0
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
export PW_NO_WRITE_WATCH=0
export PW_HEAP_DELAY_FREE=0
export PW_WINE_ALLOW_XIM=0
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
export PW_WINEDBG_DISABLE=1
export PW_USE_TERMINAL=0
export PW_GUI_DISABLED_CS=0
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_USE_DXR11=0
export PW_USE_GAMEMODE=1
export PW_DX12_DISABLE=1
export PW_USE_WINE_DXGI=0
export PW_PRIME_RENDER_OFFLOAD=0
#!/usr/bin/env bash
#Author: igor
#Sam4.exe
#SamSM.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER=10
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES="vulkan-1=n"
export LAUNCH_PARAMETERS="+gfx_strApi Vulkan"
export PW_WINE_USE=PROTON_GE_7.1-2
export PW_VULKAN_USE=1
export PW_USE_DXR10=0
##export PW_DLSS_ON=1
export PW_VULKAN_NO_ASYNC=0
export PW_USE_NVAPI_AND_DLSS=0
export PW_OLD_GL_STRING=0
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=0
export PW_VIRTUAL_DESKTOP=0
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT=0
##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only)
##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
export PW_NO_FSYNC=0
export PW_NO_ESYNC=1
export PW_USE_GSTREAMER=1
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
export PW_HEAP_DELAY_FREE=0
export PW_WINE_ALLOW_XIM=0
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
export PW_WINEDBG_DISABLE=1
export PW_USE_TERMINAL=0
export PW_GUI_DISABLED_CS=0
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_MANGOHUD=1
export PW_MANGOHUD_USER_CONF=0
export PW_USE_DXR11=0
export PW_USE_GAMEMODE=0
export PW_DX12_DISABLE=0
export PW_PRIME_RENDER_OFFLOAD=0
export PW_D3D_EXTRAS_DISABLE=0
export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt
#!/usr/bin/env bash
#Author: astarso
#Sheltered2.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
export WINEDLLOVERRIDES=""
export LAUNCH_PARAMETERS=""
export PW_WINE_USE="PROTON_GE_7-9"
export PW_VULKAN_USE="1"
export PW_USE_DXR10="0"
##export PW_DLSS_ON=1
export PW_VULKAN_NO_ASYNC="0"
export PW_USE_NVAPI_AND_DLSS="0"
export PW_OLD_GL_STRING="0"
export PW_HIDE_NVIDIA_GPU="0"
export PW_FORCE_USE_VSYNC="0"
export PW_VIRTUAL_DESKTOP="0"
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT="0"
##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only)
##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
export PW_USE_GSTREAMER="1"
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games).
export PW_HEAP_DELAY_FREE="0"
export PW_WINE_ALLOW_XIM="0"
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
export PW_WINEDBG_DISABLE="1"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_PREFIX_NAME="DEFAULT"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_DXR11="0"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_D3D_EXTRAS_DISABLE="0"
export PW_FIX_VIDEO_IN_GAME="1"
export MANGOHUD_CONFIG="font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt"
#!/usr/bin/env bash
#Author: Cefeiko
#wos_client.exe
#WorldOfSeaBattleClient.exe
#Rating=1-5
#####################examples###########################
export PW_COMMENT_DB="World of Sea Battle"
export PW_PREFIX_NAME="DOTNET"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL="dotnet20sp2 dotnet48 faudio"
export WINEDLLOVERRIDES="quartz=b"
export LAUNCH_PARAMETERS=""
export PW_WINE_USE="PROTON_GE_7-14"
export PW_VULKAN_USE="1"
export PW_VULKAN_NO_ASYNC="0"
export PW_USE_NVAPI_AND_DLSS="0"
export PW_OLD_GL_STRING="0"
export PW_HIDE_NVIDIA_GPU="0"
export PW_FORCE_USE_VSYNC="0"
export PW_VIRTUAL_DESKTOP="0"
export ENABLE_VKBASALT="0"
export PW_VKBASALT_EFFECTS="cas:FilmGrain2:Curves:Colourfulness:GaussianBlur"
export PW_VKBASALT_FFX_CAS="0.50"
export PW_NO_FSYNC="0"
export PW_NO_ESYNC="1"
export PW_USE_GSTREAMER="0"
export PW_HEAP_DELAY_FREE="0"
export PW_WINE_ALLOW_XIM="0"
export PW_WINEDBG_DISABLE="1"
export PW_USE_TERMINAL="0"
export PW_GUI_DISABLED_CS="0"
export PW_MANGOHUD="0"
export PW_MANGOHUD_USER_CONF="0"
export PW_USE_DXR11="0"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_D3D_EXTRAS_DISABLE="0"
export PW_FIX_VIDEO_IN_GAME="0"
export PW_USE_AMDVLK_DRIVER="1"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
#!/usr/bin/env bash
#Author:
#ds.exe
#Rating=5
################################################
export PW_VULKAN_USE="2"
export LAUNCH_PARAMETERS=""
export WINEDLLOVERRIDES="d3dcompiler_47,dxcompiler=n,b"
export PW_WINE_USE="PROTON_GE_7-9"
export PW_PREFIX_NAME="DEFAULT"
export PW_MANGOHUD_USER_CONF="0"
export ENABLE_VKBASALT="0"
export PW_NO_ESYNC="1"
export PW_NO_FSYNC="0"
export PW_USE_DXR10="0"
export PW_USE_DXR11="0"
export PW_VULKAN_NO_ASYNC="0"
export PW_USE_NVAPI_AND_DLSS="0"
export PW_OLD_GL_STRING="0"
export PW_HIDE_NVIDIA_GPU="0"
export PW_FORCE_USE_VSYNC="0"
export PW_VIRTUAL_DESKTOP="0"
export PW_WINEDBG_DISABLE="1"
export PW_USE_TERMINAL="0"
export PW_WINE_ALLOW_XIM="0"
export PW_HEAP_DELAY_FREE="0"
export PW_GUI_DISABLED_CS="0"
export PW_USE_GSTREAMER="1"
export PW_USE_GAMEMODE="1"
export PW_DX12_DISABLE="0"
export PW_PRIME_RENDER_OFFLOAD="0"
export PW_D3D_EXTRAS_DISABLE="0"
export PW_FIX_VIDEO_IN_GAME="1"
export PW_WINDOWS_VER="10"
export PW_DLL_INSTALL=""
#!/usr/bin/env bash
#Author: norz3n
#gta3.exe
#Rating=1-5
#####################examples###########################
##export PW_COMMENT_DB="blablabla"
export PW_WINDOWS_VER=XP # Set windows version 10, 7 or XP
##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks)
export WINEDLLOVERRIDES="d3d8,drvmgt,mss32=n,b"
##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options
export PW_WINE_USE=PROTON_GE_7.1-2
export PW_VULKAN_USE=0
export PW_USE_DXR10=0
##export PW_DLSS_ON=1
export PW_VULKAN_NO_ASYNC=0
export PW_USE_NVAPI_AND_DLSS=0
export PW_OLD_GL_STRING=0
export PW_HIDE_NVIDIA_GPU=0
export PW_FORCE_USE_VSYNC=0
export PW_VIRTUAL_DESKTOP=1
##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue
export ENABLE_VKBASALT=0
##export PW_VKBASALT_EFFECTS="FakeHDR:cas" # Use Reshade in others games (dx9-12 to vulkan only)
##export PW_VKBASALT_FFX_CAS="0.75" # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1)
export PW_NO_FSYNC=0
export PW_NO_ESYNC=1
export PW_USE_GSTREAMER=1
##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games
export PW_NO_WRITE_WATCH=0
export PW_HEAP_DELAY_FREE=0
export PW_WINE_ALLOW_XIM=0
##export WINEARCH=win32 # defaut = win64
##export WINEPREFIX=
export PW_WINEDBG_DISABLE=1
export PW_USE_TERMINAL=0
export PW_GUI_DISABLED_CS=0
##export PATH_TO_GAME=
##add_in_start_portwine () { commands ; }
export PW_MANGOHUD_USER_CONF=0
export PW_USE_DXR11=0
export PW_USE_GAMEMODE=1
export PW_DX12_DISABLE=0
export PW_PRIME_RENDER_OFFLOAD=0
export PW_D3D_EXTRAS_DISABLE=0
......@@ -10,7 +10,7 @@ then
pw_kill_autostart Battle.net.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "Battle.net.exe"`
PW_STOP_PROGRESS
pw_stop_progress_bar
portwine_create_shortcut
try_remove_file "${PW_AUTOINSTALL_EXE}"
fi
......
......@@ -3,7 +3,7 @@
########################################################################
export PW_PREFIX_NAME=DOTNET
start_portwine
export PW_DLL_INSTALL="dotnet40"
export PW_DLL_INSTALL="dotnet48"
mkdir -p "${WINEPREFIX}/drive_c/Program Files (x86)/OSU/"
export PW_AUTOINSTALL_EXE="${WINEPREFIX}/drive_c/Program Files (x86)/OSU/osu!.exe"
if try_download "https://m1.ppy.sh/r/osu!install.exe" "${PW_AUTOINSTALL_EXE}"
......
#!/usr/bin/env bash
# Author: Cefeiko
########################################################################
export PW_PREFIX_NAME="DOTNET"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/wos_client.exe"
export LAUNCH_PARAMETERS=("/VERYSILENT")
export PW_DLL_INSTALL="dotnet20sp2 dotnet48 faudio"
export PW_VULKAN_USE=1
if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then
if try_download "https://github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \
"${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
UNPACK_STATUS=0
else
try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz"
try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}"
fi
fi
[[ "${UNPACK_STATUS}" != 0 ]] && exit 1
fi
start_portwine
if try_download "https://165311.selcdn.ru/wosb_installer/wos_client.exe" "${PW_AUTOINSTALL_EXE}"
then
pw_start_progress_bar_block "Installing World of Sea Battle. Please wait..."
pw_kill_autostart WorldOfSeaBattleClient.exe &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Games/World Of Sea Battle/WorldOfSeaBattleClient.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="World of Sea Battle"
portwine_create_shortcut
fi
stop_portwine
......@@ -153,10 +153,12 @@ start_portwine () {
fi
[[ ! -z "${PW_MANGOHUD_USER_CONF}" && "${PW_MANGOHUD_USER_CONF}" != 0 ]] && unset MANGOHUD_CONFIG
if [[ ! -z "${PW_USE_DXR11}" && "${PW_USE_DXR11}" != 0 ]]
then var_vkd3d_config_update dxr11
elif [[ ! -z "${PW_USE_DXR10}" && "${PW_USE_DXR10}" != 0 ]]
then var_vkd3d_config_update dxr
if [[ ! -z "${PW_USE_DXR11}" && "${PW_USE_DXR11}" != 0 ]] ; then
var_vkd3d_config_update dxr11
var_radv_perftest_config_update rt
elif [[ ! -z "${PW_USE_DXR10}" && "${PW_USE_DXR10}" != 0 ]] ; then
var_vkd3d_config_update dxr
var_radv_perftest_config_update rt
fi
export optirun_on=""
export check_optimus_manager=
......@@ -204,19 +206,12 @@ start_portwine () {
setxkbmap us,ru
fi
fi
if [[ -x "`which "gamemoderun" 2>/dev/null`" && "$PW_USE_GAMEMODE" = "1" ]] && \
[[ -z "`cat /etc/os-release | grep -i "red hat"`" ]] && \
[[ -z "`cat /etc/os-release | grep -i "centos"`" ]] ; then
export PW_GAMEMODERUN=1
if [[ ! -z "${PW_LD_PRELOAD}" ]] ; then
export PW_LD_PRELOAD="$PW_LD_PRELOAD:libgamemodeauto.so.0"
else
export PW_LD_PRELOAD="libgamemodeauto.so.0"
fi
if [[ -x "`which "gamemoderun" 2>/dev/null`" ]] && [[ "$PW_USE_GAMEMODE" = "1" ]] ; then
export GAMEMODERUN=1
PW_GAMEMODERUN_SLR="gamemoderun"
echo "Gamemod will be launched."
else
export PW_GAMEMODERUN=0
export GAMEMODERUN=0
echo "Gamemod is not installed or disabled in vars script or db file: PW_USE_GAMEMODE=$PW_USE_GAMEMODE"
fi
pw_other_fixes
......@@ -251,9 +246,9 @@ start_portwine () {
then
pw_clear_pfx
check_dirs_and_files_in_pfx
# if [[ -d "${WINEDIR}/share/default_pfx/" ]] ; then
# cp -frL "${WINEDIR}/share/default_pfx/"* "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"
# fi
if [[ -d "${PW_PLUGINS_PATH}/default_pfx/" ]] ; then
cp -frL "${PW_PLUGINS_PATH}/default_pfx/"* "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/"
fi
${pw_runtime} env LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver &&
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
......@@ -290,13 +285,7 @@ start_portwine () {
if [[ "${PW_D3D_EXTRAS_DISABLE}" != 1 ]] ; then
var_winedlloverride_update "${d3d_extras_from_plugins}=n,b"
fi
if [[ -z "`grep "${d3d_extras_from_plugins}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then
echo "${d3d_extras_from_plugins}" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi
done
if [[ -z "`grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then
echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi
var_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n;lsteamclient,winemenubuilder.exe="
# export TOTAL_VRAM=`"${PW_WINELIB}/runtime/files/bin/glxinfo" -B | grep Total | awk -F: '{print $2}' | awk '{print $1}'`
......@@ -314,7 +303,7 @@ start_portwine () {
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/dxgi.dll"
fi
echo "Try link wine d3d filese..."
for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do
for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do
if ! try_force_link_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
then try_force_link_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_build_dll}.dll"
fi
......@@ -323,32 +312,51 @@ start_portwine () {
fi
done
var_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b;d3d12="
elif [[ "${PW_VULKAN_USE}" == 3 ]] ; then
elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
echo "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
echo "Try link wine DXGI..."
export PW_GALLIUM_NINE_VER="0.8"
export PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/d3d9.dll"
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/d3d9.dll"
var_winedlloverride_update "d3d9=n;d3d10,d3d11,dxvk_config,vulkan-1,winevulkan="
export D3D_MODULE_PATH="${PW_GALLIUM_NINE_PATH}/lib32:${PW_GALLIUM_NINE_PATH}/lib64"
var_winedlloverride_update "d3d9=n;wined3d=b;d3d10,d3d11,dxvk_config,vulkan-1,winevulkan="
unset FIND_D3D_MODULE D3D_MODULE_PATH
FIND_D3D_MODULE=`dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null`
if [[ ! -z "$FIND_D3D_MODULE" ]] ; then
old_IFS=$IFS
IFS=$'\n'
for D3D_MP in $FIND_D3D_MODULE ; do
if [[ ! -z "$D3D_MODULE_PATH" ]]
then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
else export D3D_MODULE_PATH="/run/host${D3D_MP}"
fi
done
IFS=$old_IFS
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
else
pw_stop_progress_bar
zenity_error "d3dadapter9.so.1.0.0 - ${loc_find_d3dadapter9_error}"
stop_portwine
fi
export LIBGL_ALWAYS_SOFTWARE=true
export PW_DX12_DISABLE=1
export ENABLE_VKBASALT=0
export PW_MANGOHUD=0
export WINE_FULLSCREEN_FSR=0
export __GLX_VENDOR_LIBRARY_NAME=mesa
else
echo "Use VKD3D-PROTON and DXVK (DX 9-12 to vulkan)"
if [[ ! -z "${PW_USE_AMDVLK_DRIVER}" && "${PW_USE_AMDVLK_DRIVER}" != 0 ]]
then export AMD_VULKAN_ICD=AMDVLK
else export AMD_VULKAN_ICD=RADV
if [[ ! -z "${PW_USE_AMDVLK_DRIVER}" && "${PW_USE_AMDVLK_DRIVER}" != 0 ]] ; then
export AMD_VULKAN_ICD=AMDVLK
print_info "Try to use AMDVLK driver (only with MESA)"
else
export AMD_VULKAN_ICD=RADV
print_info "Try to use RADV driver (only with MESA)"
fi
export VKD3D_FEATURE_LEVEL="12_0"
create_new_dir "${PORT_WINE_TMP_PATH}/dxvk_cache"
export DXVK_STATE_CACHE_PATH="${PORT_WINE_TMP_PATH}"/dxvk_cache
export DXVK_STATE_CACHE=1
export __GL_DXVK_OPTIMIZATIONS=1
export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi dxvk_config"
export CP_DXVK_FILES="d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi dxvk_config openvr_api_dxvk"
echo "Try link native DXVK files..."
for wine_dxvk_dll in ${CP_DXVK_FILES} ; do
try_force_link_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
......@@ -379,15 +387,38 @@ start_portwine () {
else var_winedlloverride_update "d3d12,libvkd3d-proton-utils-3,libvkd3d-shader-1=n"
fi
create_new_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache"
export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache"
export __GL_SHADER_DISK_CACHE=1
export __GL_SHADER_DISK_CACHE_SIZE=1000000000
if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin" ]] ; then
create_new_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin"
if ! try_force_link_file "${WINEDIR}"/lib/wine/fakedlls/vrclient.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient.dll"
then try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient.dll"
fi
if ! try_force_link_file "${WINEDIR}"/lib64/wine/fakedlls/vrclient_x64.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient_x64.dll"
then try_force_link_file "${WINEDIR}"/lib64/wine/x86_64-windows/vrclient_x64.dll "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin/vrclient_x64.dll"
fi
fi
if [[ "${PW_USE_SHADER_CACHE}" == 1 ]] ; then
create_new_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache"
export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache"
export __GL_SHADER_DISK_CACHE=1
export __GL_SHADER_DISK_CACHE_SIZE=1000000000
create_new_dir "${PORT_WINE_TMP_PATH}/dxvk_cache"
export DXVK_STATE_CACHE_PATH="${PORT_WINE_TMP_PATH}"/dxvk_cache
export DXVK_STATE_CACHE=1
create_new_dir "${PORT_WINE_TMP_PATH}/vkd3d_cache"
export VKD3D_SHADER_CACHE_PATH="${PORT_WINE_TMP_PATH}/vkd3d_cache"
else
export __GL_SHADER_DISK_CACHE=0
export DXVK_STATE_CACHE=0
export VKD3D_SHADER_CACHE_PATH=0
export RADV_DEBUG=nocache
fi
#run_winetricks_from_db
if [ ! -z "${PW_MUST_HAVE_DLL}" ]
then export PW_DLL_INSTALL="${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}"
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)} }' `"
fi
if [ ! -z "${PW_DLL_INSTALL}" ]; then
if [[ ! -z "${PW_DLL_INSTALL}" ]] ; then
export PW_DLL_NEED_INSTALL=""
export USE_WT_FROM_DB=0
if [ ! -e "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ] ; then
......@@ -403,20 +434,19 @@ start_portwine () {
sed -i '/vcrun2017/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi
grep "${need_install_dll_to_pfx}" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
if [ "$?" == "1" ] ; then
if [ -z "${PW_DLL_NEED_INSTALL}" ]
if [[ "$?" == "1" ]] ; then
if [[ -z "${PW_DLL_NEED_INSTALL}" ]]
then export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx}"
else export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx} ${PW_DLL_NEED_INSTALL}"
fi
export USE_WT_FROM_DB=1
fi
done
if [ "${USE_WT_FROM_DB}" == "1" ] ; then
if [[ "${USE_WT_FROM_DB}" == "1" ]] ; then
update_winetricks
echo "START WINETRICKS..." >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PORT_WINE_TMP_PATH}/update_pfx_log"
print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
chmod -R 775 "${HOME}/.cache/winetricks"
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver
......@@ -499,7 +529,6 @@ export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f "${PORT_WINE_TMP_PATH}"/*.tar.*
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
chmod -R 755 "${PORT_WINE_PATH}/data/dist"
orig_IFS="$IFS"
IFS=$'\n'
for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist/") ; do
......
......@@ -137,9 +137,15 @@ portwine_start_debug () {
echo "!!!gamemod not found!!!" >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "-------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [[ "${PW_D3D_EXTRAS_DISABLE}" == 1 ]]
then echo "D3D_EXTRAS - disable" >> "${PORT_WINE_PATH}/${portname}.log"
else echo "D3D_EXTRAS - enable" >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo
echo "------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "winetricks.log:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" >> "${PORT_WINE_PATH}/${portname}.log"
echo "------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [ ! -z "${PORTWINE_DB_FILE}" ]; then
echo "Use ${PORTWINE_DB_FILE} db file:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORTWINE_DB_FILE}" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
......@@ -147,11 +153,11 @@ portwine_start_debug () {
echo "Use ${PORT_SCRIPTS_PATH}/portwine_db/default db file:" >> "${PORT_WINE_PATH}/${portname}.log"
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "-----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
if [ -f "${USER_CONF}" ]; then
cat "${USER_CONF}" | sed '/bash/d' >> "${PORT_WINE_PATH}/${portname}.log"
fi
echo "----------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
echo "---------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log"
export DXVK_HUD="full"
......@@ -343,6 +349,7 @@ pw_create_prefix_backup () {
unset PW_SANDBOX_HOME_PATH
export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
pw_init_runtime
chmod -R u+w "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"
${pw_runtime} env PATH="${PATH}" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" mksquashfs "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" -comp zstd &
sleep 15
while true ; do
......@@ -369,7 +376,7 @@ pw_edit_db () {
PW_VULKAN_NO_ASYNC PW_USE_NVAPI_AND_DLSS PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_FORCE_USE_VSYNC PW_VIRTUAL_DESKTOP \
PW_WINEDBG_DISABLE PW_USE_TERMINAL PW_WINE_ALLOW_XIM PW_HEAP_DELAY_FREE PW_GUI_DISABLED_CS PW_USE_GSTREAMER \
PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_D3D_EXTRAS_DISABLE PW_FIX_VIDEO_IN_GAME PW_USE_AMDVLK_DRIVER \
PW_FORCE_LARGE_ADDRESS_AWARE
PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE
if [ "$?" == 0 ] ; then
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
......@@ -613,7 +620,6 @@ else
--field=" Epic Games Launcher"!"$PW_GUI_ICON_PATH/epicgames.png"!"":"FBTN" '@bash -c "button_click PW_EPIC"' \
--field=" GoG Galaxy Launcher"!"$PW_GUI_ICON_PATH/gog.png"!"":"FBTN" '@bash -c "button_click PW_GOG"' \
--field=" Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png"!"":"FBTN" '@bash -c "button_click PW_UBC"' \
--field=" Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"' \
--field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png"!"":"FBTN" '@bash -c "button_click PW_EVE"' \
--field=" Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png"!"":"FBTN" '@bash -c "button_click PW_ORIGIN"' \
--field=" Bethesda.net Launcher"!"$PW_GUI_ICON_PATH/bethesda.png"!"":"FBTN" '@bash -c "button_click PW_BETHESDA"' \
......@@ -623,8 +629,11 @@ else
--field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png"!"":"FBTN" '@bash -c "button_click PW_ANKAMA"' \
--field=" League of Legends"!"$PW_GUI_ICON_PATH/lol.png"!"":"FBTN" '@bash -c "button_click PW_LOL"' \
--field=" Gameforge Client"!"$PW_GUI_ICON_PATH/gameforge.png"!"":"FBTN" '@bash -c "button_click PW_GAMEFORGE"' \
--field=" World of Sea Battle (BETA)"!"$PW_GUI_ICON_PATH/wosb.png"!"":"FBTN" '@bash -c "button_click PW_WOSB"' \
--field=" ITCH.IO"!"$PW_GUI_ICON_PATH/itch.png"!"":"FBTN" '@bash -c "button_click PW_ITCH"' &
# --field=" Steam Client Launcher"!"$PW_GUI_ICON_PATH/steam.png"!"":"FBTN" '@bash -c "button_click PW_STEAM"'
"${pw_yad_new}" --key=$KEY --notebook --borders=5 --width=1000 --height=235 --no-buttons --auto-close --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \
--tab-pos=bottom --tab="AUTOINSTALL"!""!"" --tab="EMULATORS"!""!"" --tab=" WINE SETTINGS"!""!"" --tab=" PORPROTON SETTINGS"!""!""
......
#!/usr/bin/env bash
#Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=2097
#PORT_NEXT_VERSION=97
#SCRIPTS_NEXT_VERSION=2099
########################################################################
export PW_MANGOHUD=0
export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt,gamemode
export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt
#export DXVK_HUD=compiler
#export GALLIUM_HUD=fps
#export ENABLE_VKBASALT=1
#export PW_VIRTUAL_DESKTOP=1
#export PW_XKBD_RU_HACK=1
export PW_USE_RUNTIME=1 # 0 - disabled; 1 - enabled
export PW_RT_MOUNT_RO=("")
export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
......@@ -23,22 +21,23 @@ export PW_USE_TERMINAL=0
export PW_WINEDBG_DISABLE=1
export PW_WINDOWS_VER="10"
export WINEARCH="win64"
export PW_LIBS_VER="_v25"
export PW_LIBS_VER="_v27"
export PORTWINE_URL="http://portwine-linux.ru/"
export GDK_BACKEND="x11"
export PW_USE_GSTREAMER="1"
export PW_PREFIX_NAME="DEFAULT"
export WINE_WIN_START="start.exe /i /unix"
export PW_USE_SHADER_CACHE=1
export STAGING_SHARED_MEMORY=1
export PW_FORCE_LARGE_ADDRESS_AWARE=1
###DEFAULT_WINE###
export PW_WINE_USE=PROTON_GE
export PW_PLUGINS_VER="_v4"
export PW_PLUGINS_VER="_v5"
###WINE_PROTON_STEAM###
export PW_STEAM_VER="7.0-1B"
export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}"
###WINE_PROTON_GE###
export PW_GE_VER="7-9"
export PW_GE_VER="7-14"
export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}"
export WINE_FULLSCREEN_FSR="1"
export WINE_FULLSCREEN_FSR_STRENGTH="2"
......@@ -50,7 +49,7 @@ pw_install_dll_in_prefix ()
{
case $PW_PREFIX_NAME in
DEFAULT) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 dotnet20sp2 dotnet48" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 dotnet20sp2 dotnet48 faudio" ;;
*) export PW_MUST_HAVE_DLL="" ;;
esac
}
......
#!/usr/bin/env bash
# Author: Castro-Fidel (PortWINE-Linux.ru)
# License MIT
########################################################################
unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL
export portname="PortProton"
export port_ver=1.0
########################################################################
[[ -z "${LANG}" ]] && export LANG=C
deflink="${HOME}/PortWINE/${portname}"
[[ $(id -u) -eq 0 ]] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1
if [[ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ]] ; then
[[ -z "${XDG_DATA_HOME}" ]] && export XDG_DATA_HOME="$HOME/.local/share"
if [[ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ]] ; then
/usr/bin/env bash "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" "$@"
exit 0
else
if [[ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ]] ; then
PW_SET_LANG="Russian"
else
PW_SET_LANG="English"
fi
export PW_SILENT_INSTALL="1"
export PW_AUTOPLAY=1
deflink="${XDG_DATA_HOME}/PortWINE/${portname}"
fi
fi
########################################################################
export INSTALLING_PORT=1
export PROGS_INST=""
export vexit=0
########################################################################
for PROGS in "wget" "curl" "tar" "awk" "zenity" "cabextract" "pidof" ; do
if [ ! -x "`which "${PROGS}" 2>/dev/null`" ] ; then
PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1
fi
done
if [ "${vexit}" -eq "1" ] ; then
echo "You will need to install: ${PROGS_INST}, and restart the script"
exit 1
fi
########################################################################
cd "$(dirname "`readlink -f "$0"`")"
links="$(pwd)"
########################################################################
if [ "$1" = "-rus" ] ; then
PW_SET_LANG="Russian"
export PW_SILENT_INSTALL="1"
elif [ "$1" = "-eng" ] ; then
PW_SET_LANG="English"
export PW_SILENT_INSTALL="1"
elif [ -z "${PW_SET_LANG}" ] ; then
PW_SET_LANG=`zenity --title "Install $portname" --text "Select the installation language" --list --radiolist \
--column="Set:" --column "Language:" \
TRUE "Russian" \
FALSE "English" ` 2> /dev/null
if [ $? -eq 1 ] ; then exit 1 ; fi
case $PW_SET_LANG in
"Russian")
INFO_TEXT="Вы запустили установщик PortWINE ${portname} версии ${port_ver}. \n\nЭто не коммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права сторонего програмного обеспечения принадлежат их владельцам! \nПродолжая установку вы автоматически соглашаетесь с данными условиями." > /dev/null 2>&1 ;;
"English")
INFO_TEXT="You run the installer PortWINE ${portname} v. ${port_ver}. \n\nThis is not a commercial product and developed exclusively for the idea and donate. \nAll rights to third-party software belong to their respective owners! \nContinuing the installation of you agree to these terms." > /dev/null 2>&1 ;;
esac
`zenity --info --title "INFO" --text "$INFO_TEXT" --no-wrap ` 2> /dev/null
if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi
fi
########################################################################
if [ "${PW_SILENT_INSTALL}" = "1" ] ; then
echo "${portname} is installed in ${deflink}"
D_PATH="${deflink}"
else
case $PW_SET_LANG in
"Russian")
inst1=`zenity --title "Install ${portname}" --text "Выберите путь для установки (обновления) порта,\nили оставьте его по умолчанию." --list --radiolist --width=350 --height=220 \
--column="Выбор" --column "Путь:" \
TRUE "${deflink}" \
FALSE "Другой путь..." ` 2> /dev/null
if [ $? -eq 1 ] ; then exit 1 ; fi
case $inst1 in
"${deflink}")
D_PATH="${deflink}" ;;
"Другой путь...")
D_PATH=`zenity --file-selection --directory --title="Выберите путь..." `
D_PATH="${D_PATH}/${portname}" ;;
esac ;;
"English")
inst1=`zenity --title "Install ${portname}" --text "Select the installation path (update) port,\nor leave it in default." --list --radiolist --width=350 --height=220 \
--column="Set..." --column "Path:" \
TRUE "${deflink}" \
FALSE "Other path..." ` 2> /dev/null
if [ $? -eq 1 ];then exit 1; fi
case $inst1 in
"${deflink}")
D_PATH="${deflink}" ;;
"Other path...")
D_PATH=`zenity --file-selection --directory --title="Select the path..." `
D_PATH="${D_PATH}/${portname}" ;;
esac ;;
esac
if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi
fi
########################################################################
case $PW_SET_LANG in
"Russian")
progress_bar() {
zenity --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1
} ;;
"English")
progress_bar() {
zenity --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1
} ;;
esac
########################################################################
export PORT_WINE_PATH="${D_PATH}"
if [ ! -d "${PORT_WINE_PATH}" ] ; then
mkdir -p "$PORT_WINE_PATH"
else
rm -fr "${PORT_WINE_PATH}/data/tmp"
rm -f "${PORT_WINE_PATH}/data/scripts/"* > /dev/null 2>&1
fi
########################################################################
mkdir -p "${PORT_WINE_PATH}/data/tmp"
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver"
case $PW_SET_LANG in
"Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
"English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;;
esac
########################################################################
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
cd "${PORT_WINE_PATH}"
try_download_scripts () {
wget -O "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -nd -c --read-timeout 300 \
--retry-connrefused --timeout 15 --tries 3 \
--user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
"https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz"
if [ "$?" = "0" ] ; then
tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}"
if [ "$?" = "0" ] ; then
[ ! -d "${PORT_WINE_PATH}/data/" ] && mkdir "${PORT_WINE_PATH}/data/"
cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/"
rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
rm -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/"
export scripts_current_ver=`cat "${PORT_WINE_PATH}/data/scripts/var" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'`
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
else
rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
try_download_scripts
fi
else
try_download_scripts
fi
}
if [ "${PW_SILENT_INSTALL}" = "1" ] & [ ! -f "/usr/bin/portproton" ] ; then
try_download_scripts
else
try_download_scripts | progress_bar
fi
chmod 755 -R "${PORT_WINE_PATH}"
########################################################################
cd "${PORT_WINE_PATH}/data/scripts"
/usr/bin/env bash "${PORT_WINE_PATH}/data/scripts/setup.sh" && exit 0
################################ARCH_BIN################################
......@@ -6,16 +6,16 @@ unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL
export portname="PortProton"
export port_ver=1.0
########################################################################
[[ -z "${LANG}" ]] && export LANG=C
[ -z "${LANG}" ] && export LANG=C
deflink="${HOME}/PortWINE/${portname}"
[[ $(id -u) -eq 0 ]] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1
if [[ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ]] ; then
[[ -z "${XDG_DATA_HOME}" ]] && export XDG_DATA_HOME="$HOME/.local/share"
if [[ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ]] ; then
[ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1
if [ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ] ; then
[ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share"
if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then
/usr/bin/env bash "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" "$@"
exit 0
else
if [[ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ]] ; then
if [ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ] ; then
PW_SET_LANG="Russian"
else
PW_SET_LANG="English"
......
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