Compare commits

...

6 Commits

Author SHA1 Message Date
63beb66eb3 Scripts version 2046 2021-11-10 01:04:16 +03:00
fdf7ab4674 ###Scripts version 2045### 2021-11-10 00:13:15 +03:00
0191ea26f6 Scripts version 2044-2 2021-11-08 17:41:57 +03:00
f68fead817 Scripts version 2044 2021-11-05 21:47:51 +03:00
a03a9bda4c Scripts version 2043 2021-11-04 16:30:13 +03:00
bcb10d5555 Scripts version 2041 2021-11-04 13:44:26 +03:00
8 changed files with 85 additions and 45 deletions

View File

@ -2,11 +2,31 @@
-----------------------------------------
В планах:
* добавить inxi в runtime и его вывод с аргументом -G в log
* добавить 32-битный mangohud_dlsym в runtime
* добавить cs_block при запуске порта
* обновить контейнер до актуального состояния
* обновить поддержку DLSS
* добавить проверку количества db файлов на один exe
* заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru
-----------------------------------------
###Scripts version 2046###
* update DXVK and VKD3D in PROTON_GE
###Scripts version 2045###
* добавлена возможность запуска нескольких приложений с помощью WINEFILE из трея.
* добавлен вывод user.conf в лог-файл
* небольшие улучшения локализации
* на github в архивы PROTON_STEAM и PROTON_GE добавлены mono и gecko (для уменьшения возможных проблем со скачиванием)
* PROTON_STEAM скачивается автоматически перед первым запуском PortProton
###Scripts version 2044###
* добавлена проверка для nvidia с нестандартными путями до nvidia_icd.json
###Scripts version 2043###
* улучшена работа функции использования гибридной графики intel + nvidia
###Scripts version 2042###
* из за проблемы на стороне githab перезалиты libs_v17.2
* добавлена возможность удаления wine из графического интерфейса - Cпасибо Aldiserg (Dmitry)
###Scripts version 2041###
* убран аргумент "-с" для функций скачивания (исправляет редкие проблемы со скачиванием на некоторых системах)
* отключен D3D12 при запуске в режимах DXVK и OpenGL

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -17,6 +17,7 @@ print_info () {
print_var () {
for vp in $@ ; do echo "${vp}=${!vp}" ; done
}
export -f print_var
try_copy_file () {
if [ ! -f "$1" ] ; then print_info "file $1 not found for copy" && return 1
@ -95,7 +96,7 @@ check_process () {
try_download () {
set -o pipefail
wget --no-check-certificate --content-disposition -t 5 -T 3 "$1" --output-document="$2" 2>&1 | \
wget --no-check-certificate --content-disposition -t 3 -T 5 "$1" --output-document="$2" 2>&1 | \
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
if [ "${PIPESTATUS[0]}" != 0 ] ; then
@ -109,7 +110,7 @@ try_download () {
try_download_to_path () {
set -o pipefail
wget --no-check-certificate --content-disposition -t 5 -T 3 "$1" --directory-prefix="$2" 2>&1 | \
wget --no-check-certificate --content-disposition -t 3 -T 5 "$1" --directory-prefix="$2" 2>&1 | \
tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \
zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --auto-kill --width=500 --height=90
if [ "${PIPESTATUS[0]}" != 0 ] ; then
@ -121,7 +122,7 @@ try_download_to_path () {
}
try_download_silent () {
wget --no-check-certificate --content-disposition -t 2 -T 10 "$1" --output-document="$2"
wget --no-check-certificate --content-disposition -t 3 -T 5 "$1" --output-document="$2"
if [ "${PIPESTATUS[0]}" != 0 ] ; then
print_error "failed to download $1. Skipping."
try_remove_file "$2"
@ -186,6 +187,7 @@ pw_mangohud_check () {
export DISABLE_MANGOHUD=1
fi
}
export -f pw_mangohud_check
pw_vkbasalt_check () {
if [[ ! -z "${ENABLE_VKBASALT}" && "${ENABLE_VKBASALT}" == 1 ]] ; then
@ -437,13 +439,13 @@ update_winetricks () {
print_info "Version winetricks on server: ${W_TRX_EXT_VER}"
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')"
print_info "Version winetricks in port: ${W_TRX_INT_VER}"
#if [[ ! -f "${PORT_WINE_TMP_PATH}/winetricks" && ! -z "$W_TRX_EXT_VER" ]] || [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && ! -z "$W_TRX_EXT_VER" ]]; then
if [[ ! -f "${PORT_WINE_TMP_PATH}/winetricks" && ! -z "$W_TRX_EXT_VER" ]] || [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && ! -z "$W_TRX_EXT_VER" ]]; then
if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks_new" ; then
mv -f "${PORT_WINE_TMP_PATH}/winetricks_new" "${PORT_WINE_TMP_PATH}/winetricks"
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})"
chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
fi
#fi
fi
if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
@ -518,6 +520,10 @@ pw_tray_icon () {
echo ""
}
export -f tray_icon_click
pw_tray_winefile () {
pw_run explorer
}
export -f pw_tray_winefile
tray_icon_click_exit() {
kill_portwine &&
if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ]
@ -534,8 +540,9 @@ pw_tray_icon () {
--command="bash -c tray_icon_click" \
--tooltip="PortProton" \
--menu="| \
<<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \
<<< FORCE EXIT >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|" &
<<< WINEFILE >>>!bash -c pw_tray_winefile!"$PW_GUI_ICON_PATH/port_winefile.png"| \
<<< CHANGE LOG >>>!bash -c open_changelog!"$PW_GUI_ICON_PATH/port_changelog.png"| \
<<< FORCE EXIT >>>!bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/port_exit.png"|" &
}
pw_init_db () {
@ -700,7 +707,11 @@ pw_gui_for_edit_db () {
--text "Change settings in database file for ${PORTWINE_DB}\n" --separator=" " --borders=10 --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0
if [[ "$YAD_STATUS" == "1" ]] ; then
/bin/bash -c ${pw_full_command_line[*]} &
exit 0
elif [[ "$YAD_STATUS" == "252" ]] ; then
exit 0
elif [ "$YAD_STATUS" == "150" ] ; then
xdg-open "${PORTWINE_DB_FILE}" &
exit 0
@ -820,7 +831,7 @@ gui_proton_downloader () {
--column "Select installed WINE for delete:" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"` &
`"${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center --center \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "Download..." --separator="" \
--tab-pos=top --tab="PROTON-GE" --tab="PROTON-PW" --tab="Installed"`
--tab-pos=top --tab="PROTON-GE" --tab="PROTON-PW" --tab="INSTALLED"`
YAD_WINE_STATUS="$?"
if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then
/bin/bash -c ${pw_full_command_line[*]} &
@ -905,7 +916,7 @@ gui_vkBasalt () {
"${pw_yad_new}" --paned --key="$KEY_FX_GUI" --height="600" --title="vkBasalt" --center --borders=10 \
--separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--button="CANCEL":1 --button="DISABLED VKBASALT":180 --button="ENABLED VKBASALT":182
--button="CANCEL":1 --button="DISABLE VKBASALT":180 --button="ENABLE VKBASALT":182
YAD_VKBASALT_STATUS="$?"
case "${YAD_VKBASALT_STATUS}" in
1|252)

View File

@ -55,24 +55,24 @@ then
export loc_winereg="Запустить редактор реестра префикса ${portname}"
export loc_winetricks="Запустить winetricks для установки доп. библиотек в префикс ${portname}"
export loc_edit_db="Изменить файл настроек для"
export ENABLE_VKBASALT_INFO='Включить vkBasalt по умолчанию для улучшение графики в играх работающих под Vulkan. (Горячая клавиша HOME отключает vkbasalt)'
export PW_NO_ESYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе eventfd. (Рекомендуется не изменять значение)'
export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки.) (Рекомендуется не изменять значение)'
export PW_DXR_ON_INFO='Включить поддержку Ray Tracing'
export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK'
export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA'
export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA'
export PW_OLD_GL_STRING_INFO='Принудительное использование старых версий OpenGL'
export PW_HIDE_NVIDIA_GPU_INFO='Замаскировать все функции используемые для видеокарт NVIDIA'
export PW_FORCE_USE_VSYNC_INFO='Принудительное включение вертикальной синхронизации'
export PW_VIRTUAL_DESKTOP_INFO='Включить запуск приложение в виртуальном рабочем столе WINE'
export PW_WINEDBG_DISABLE_INFO='Отключить все функции отладки WINE (Рекомендуется не изменять значение)'
export PW_FORCE_USE_VSYNC_INFO='Принудительное включение вертикальной синхронизации'
export PW_VIRTUAL_DESKTOP_INFO='Включить запуск приложение в виртуальном рабочем столе WINE'
export PW_WINEDBG_DISABLE_INFO='Отключить все функции отладки WINE (Рекомендуется не изменять значение)'
export PW_USE_TERMINAL_INFO='Запускать приложение в терминале'
export PW_WINE_ALLOW_XIM_INFO='Использовать альтернативный режим для контроллера (Использовать только в случае проблем с контроллером)'
export PW_WINE_ALLOW_XIM_INFO='Использовать альтернативный режим для контроллера (Использовать только в случае проблем с контроллером)'
export PW_HEAP_DELAY_FREE_INFO='Включить задержку освобождения некоторой памяти, чтобы обойти ошибки, связанные с использованием приложения после освобождения памяти.'
export PW_NO_WRITE_WATCH_INFO='Очень опасный способ взлома таймера записи в памяти в ntdll. Это улучшает производительность некоторых очень специфических игр. (Рекомендуется не изменять значение)'
export PW_GUI_DISABLED_CS_INFO='Отключить окно выбора режимов запуска и версии WINE'
export PW_USE_GSTREAMER_INFO='Использовать Gstreamer для вывода роликов в играх (поддержка WMF)'
export PW_USE_GSTREAMER_INFO='Использовать Gstreamer для вывода роликов в играх (поддержка WMF)'
export PW_USE_RUNTIME_INFO='Использовать контейнерный режим запуска (Рекомендуется не изменять значение)'
export PW_MANGOHUD_INFO='Использование мониторинга FPS и нагрузки системы (Включается и выключается сочитанием клавиш - правый Shift + F12)'
export PW_USE_GAMEMODE_INFO='Использование автоматической оптимизации системы для увеличения производительности в играх (при условии установленного пакета gamemode в системе)'
@ -90,6 +90,12 @@ then
export PW_FilmGrain2_INFO='Добавление эффекта зерна кинопленки'
export PW_Curves_INFO='Увеличение контраста изображения'
export PW_Denoise_INFO='Уменьшение шумов за счет смазывания изображения'
export PW_Emphasize_INFO='Уменьшение рязрядности цветопередачи'
export PW_FakeMotionBlur_INFO='Сильное размытие объектов в движении'
export PW_FilmicAnamorphSharpen_INFO='Увеличение резкости (рекомендую для мультяшных игр)'
export PW_FilmicPass_INFO='Добавление холодных цветов'
export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)'
export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)'
elif [ "${update_loc}" = "ENG" ]
then

View File

@ -36,7 +36,6 @@ start_portwine () {
cp -f "${PORT_SCRIPTS_PATH}/.Xresources" "${HOME}"
xrdb -merge "${HOME}/.Xresources"
fi
pw_tray_icon
pw_start_progress_bar_block "Update prefix for ${PW_WINE_USE}... Please wait..."
if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then
@ -204,23 +203,29 @@ start_portwine () {
if [ -x "`which optimus-manager 2>/dev/null`" ]; then
export check_optimus_manager=`optimus-manager --status | grep Current | cut -f 2 -d':' | sed -e 's/^[[:space:]]*//'`
fi
if [[ ! -z "${PW_NVIDIA}" && "${check_optimus_manager}" != "intel" ]]; then
check_vk_icd_file () {
if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
elif [[ -f "/etc/vulkan/icd.d/nvidia_icd.json" ]] ; then
export VK_ICD_FILENAMES="/etc/vulkan/icd.d/nvidia_icd.json"
fi
}
if [[ ! -z "${PW_NVIDIA}" && "${check_optimus_manager}" != "intel" ]] ; then
if [ "${check_optimus_manager}" = "nvidia" ]; then
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
check_vk_icd_file
elif [ -x "`which primusrun 2>/dev/null`" ]; then
export optirun_on="primusrun"
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
check_vk_icd_file
elif [ -x "`which optirun 2>/dev/null`" ]; then
export optirun_on="optirun -b primus"
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
check_vk_icd_file
elif [ -x "`which prime-run 2>/dev/null`" ]; then
export optirun_on="prime-run"
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
fi
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
if [ ! -d "${PORT_WINE_TMP_PATH}"/gl_shader_cache ] ; then
mkdir -p "${PORT_WINE_TMP_PATH}"/gl_shader_cache
check_vk_icd_file
elif [[ -x "`which nvidia-settings 2>/dev/null`" ]] ; then
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
check_vk_icd_file
fi
else
export DRI_PRIME=1
@ -233,6 +238,7 @@ start_portwine () {
export vblank_mode=1
export __GL_SYNC_TO_VBLANK=1 ;;
esac
create_new_dir "${PORT_WINE_TMP_PATH}"/gl_shader_cache
export DXVK_CONFIG_FILE="${PORT_WINE_PATH}/data/dxvk.conf"
export int_xneur=0
if [[ ! -z "`pgrep xneur`" ]]; then
@ -427,6 +433,7 @@ start_portwine () {
echo "Set to win${PW_WINDOWS_VER}"
fi
pw_stop_progress_bar &&
pw_tray_icon
pw_start_progress_bar_cs "Start ${portname}... Please wait..."
add_in_start_portwine
}
@ -462,6 +469,7 @@ pw_run () {
fi
fi
}
export -f pw_run
###MAIN###
if [ $(id -u) -eq 0 ] ; then
@ -515,6 +523,7 @@ if [ -z "${INSTALLING_PORT}" ] ; then
. "${USER_CONF}"
pw_port_update
pw_download_libs
pw_check_and_download_wine PROTON_STEAM
pw_init_db
. "${USER_CONF}"
fi

View File

@ -154,6 +154,10 @@ portwine_start_debug () {
cat "${PORT_SCRIPTS_PATH}/portwine_db/default" | sed '/##/d' >> "${PORT_WINE_PATH}/${portname}.log"
fi
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 "Log WINE:" >> "${PORT_WINE_PATH}/${portname}.log"
export DXVK_HUD="full"
@ -216,7 +220,6 @@ pw_edit_db () {
}
pw_autoinstall_from_db () {
kill_portwine
export PW_USER_TEMP="$WINEPREFIX/drive_c"
export PW_FORCE_LARGE_ADDRESS_AWARE=0
export PW_USE_GAMEMODE=0

View File

@ -1,6 +1,6 @@
#!/bin/bash
#Author: Castro-Fidel (PortWINE-Linux.ru)
#SCRIPTS_NEXT_VERSION=2041
#SCRIPTS_NEXT_VERSION=2046
#PORT_NEXT_VERSION=97
########################################################################
export PW_MANGOHUD=0
@ -25,7 +25,7 @@ export PW_MUST_HAVE_DLL="d3dx9_43 physx mfc42 vcrun2019 d3dcompiler_42 d3dcompil
export PW_WINEDBG_DISABLE=1
export PW_WINDOWS_VER="10"
export WINEARCH="win64"
export PW_LIBS_VER="_v17"
export PW_LIBS_VER="_v17.2"
export PORTWINE_URL="http://portwine-linux.ru/"
export GDK_BACKEND="x11"
export PW_USE_GSTREAMER="1"
@ -39,7 +39,7 @@ export PW_PROTON_STEAM_VER="PROTON_STEAM_${PW_STEAM_VER}"
export PW_MONO_VER="6.3.0"
export PW_GECKO_VER="2.47.2"
###WINE_PROTON_GE###
export PW_GE_VER="6.19-2"
export PW_GE_VER="6.19-3"
export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}"
export PW_MONO_GE_VER="6.4.0"
export PW_GECKO_GE_VER="2.47.2"

View File

@ -1,26 +1,18 @@
reshadeTexturePath = /usr/local/share/reshade/textures
reshadeIncludePath = /usr/local/share/reshade/
FilmGrain2 = /usr/local/share/reshade/shaders/FilmGrain2.fx
Curves = /usr/local/share/reshade/shaders/Curves.fx
FakeHDR = /usr/local/share/reshade/shaders/FakeHDR.fx
Colourfulness = /usr/local/share/reshade/shaders/Colourfulness.fx
Bloom = /usr/local/share/reshade/shaders/Bloom.fx
SMAA = /usr/local/share/reshade/shaders/SMAA.fx
ChromaticAberration = /usr/local/share/reshade/shaders/ChromaticAberration.fx
Denoise = /usr/local/share/reshade/shaders/Denoise.fx
Clarity = /usr/local/share/reshade/shaders/Clarity.fx
Curves = /usr/local/share/reshade/shaders/Curves.fx
Depth3D = /usr/local/share/reshade/shaders/Depth3D.fx
Dephhaze = /usr/local/share/reshade/shaders/Dephhaze.fx
DisplayDepth = /usr/local/share/reshade/shaders/DisplayDepth.fx
DOF = /usr/local/share/reshade/shaders/DOF.fx
DPX = /usr/local/share/reshade/shaders/DPX.fx
Emphasize = /usr/local/share/reshade/shaders/Emphasize.fx
EyeAdaption = /usr/local/share/reshade/shaders/EyeAdaption.fx
FakeMotionBlur = /usr/local/share/reshade/shaders/FakeMotionBlur.fx
FilmGrain = /usr/local/share/reshade/shaders/FilmGrain.fx
FilmicAnamorphSharpen = /usr/local/share/reshade/shaders/FilmicAnamorphSharpen.fx
FilmicPass = /usr/local/share/reshade/shaders/FilmicPass.fx
FineSharp = /usr/local/share/reshade/shaders/FineSharp.fx
FXAA = /usr/local/share/reshade/shaders/FXAA.fx
GaussianBlur = /usr/local/share/reshade/shaders/GaussianBlur.fx
Glitch = /usr/local/share/reshade/shaders/Glitch.fx
HighPassSharpen = /usr/local/share/reshade/shaders/HighPassSharpen.fx
@ -45,7 +37,6 @@ PPFX_Godrays = /usr/local/share/reshade/shaders/PPFX_Godrays.fx
Prism = /usr/local/share/reshade/shaders/Prism.fx
ReflectiveBumpMapping = /usr/local/share/reshade/shaders/ReflectiveBumpMapping.fx
Sepia = /usr/local/share/reshade/shaders/Sepia.fx
SMAA = /usr/local/share/reshade/shaders/SMAA.fx
Splitscreen = /usr/local/share/reshade/shaders/Splitscreen.fx
StageDepth = /usr/local/share/reshade/shaders/StageDepth.fx
SurfaceBlur = /usr/local/share/reshade/shaders/SurfaceBlur.fx