Compare commits
18 Commits
f0265a80c5
...
b7212eb2a9
Author | SHA1 | Date | |
---|---|---|---|
|
b7212eb2a9 | ||
|
a7b699aa29 | ||
|
974d000431 | ||
|
116d39da30 | ||
|
d0e2630e63 | ||
|
0936887509 | ||
|
fbd08be886 | ||
|
bcf6baca0e | ||
|
f6a7842970 | ||
|
05a45abeb0 | ||
|
a3f2ccc01c | ||
|
6001f024a7 | ||
|
f16e018cc1 | ||
|
a71b854136 | ||
|
19173df025 | ||
133fa5b6d0
|
|||
4f96e1e16e
|
|||
85938b4712
|
@@ -2,6 +2,16 @@ You can help us in the development of the project on the website: https://linux-
|
||||
----------------------------------------
|
||||
Changelog:
|
||||
|
||||
###Scripts version 2431### / Date: 18.07.2025 / Download update size: 4 megabytes
|
||||
* added USE_OPTISCALER setting to enable DLSS and frame generation on any video cards
|
||||
Thanks to @EnDiMuR and @eljeyna for additional settings and useful information:
|
||||
https://telegra.ph/Instrukciya-po-ustanovke-moda-DLSS-Frame-Generation-02-01
|
||||
* removed obsolete settings: USE_FAKE_DLSS and USE_FAKE_DLSS_3 (they are completely replaced by USE_OPTISCALER)
|
||||
* updated lsfg-vk frame generator (USE_LS_FRAME_GEN in PP settings when starting the game)
|
||||
* added sleep mode lock for flatpak version of PortProton (thanks to Boria138)
|
||||
* added new setting to enable NTSYNC (NO_NTSYNC in PP settings when starting the game)
|
||||
* other small improvements and script fixes (thanks to Boria138 and zorn-v)
|
||||
|
||||
###Scripts version 2430### / Date: 15.07.2025 / Download update size: 185 megabytes
|
||||
* when using USE_LS_FRAME_GEN the smoothness of games is increased and the number of artifacts is reduced
|
||||
* updated WINE_LG to version "10-12"
|
||||
|
@@ -2,6 +2,16 @@
|
||||
-----------------------------------------
|
||||
История изменений:
|
||||
|
||||
###Scripts version 2431### / Дата: 18.07.2025 / Размер скачиваемого обновления: 4 мегабайт
|
||||
* добавлена настройка USE_OPTISCALER для включения DLSS и генерация кадров на любых видеокартах
|
||||
Спасибо @EnDiMuR и @eljeyna за дополнительные настройки и полезную информацию:
|
||||
https://telegra.ph/Instrukciya-po-ustanovke-moda-DLSS-Frame-Generation-02-01
|
||||
* удалены устаревшие настройки: USE_FAKE_DLSS и USE_FAKE_DLSS_3 (их полностью заменяет USE_OPTISCALER)
|
||||
* обновлен генератор кадров lsfg-vk (USE_LS_FRAME_GEN в настройках PP при запуске игры)
|
||||
* добавлена блокировка перехода в спящий режим для flatpak версии PortProton (спасибо Boria138)
|
||||
* добавлена новая настройка для включения NTSYNC (NO_NTSYNC в настройках PP при запуске игры)
|
||||
* другие небольшие улучшения и исправления скриптов (спасибо Boria138 и zorn-v)
|
||||
|
||||
###Scripts version 2430### / Дата: 15.07.2025 / Размер скачиваемого обновления: 185 мегабайт
|
||||
* при использовании USE_LS_FRAME_GEN увеличена плавность игр и уменьшено количество артефактов
|
||||
* обновлен WINE_LG до версии "10-12"
|
||||
|
@@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-15 15:01+0300\n"
|
||||
"POT-Creation-Date: 2025-07-18 00:51+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -435,17 +435,21 @@ msgid "Do not use futex-based in-process synchronization primitives. "
|
||||
"support) (It is recommended not to change the value)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do not use in-process synchronization via the Linux ntsync driver. "
|
||||
"(Automatically disabled on systems without loaded ntsync module) "
|
||||
"(Experimental)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable vkd3d support - Ray Tracing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable DLSS on supported NVIDIA graphics cards"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based "
|
||||
"on Decky-Framegen) Do not use in multiplayer games"
|
||||
msgid "Enable OptiScaler. It is a tool that lets you replace upscalers in "
|
||||
"games that already support DLSS2+ / FSR2+ / XeSS, now also supports "
|
||||
"enabling frame generation in those same games (through Nukem dlssg-"
|
||||
"to-fsr3 or OptiFG)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable Lossless Scaling frame generation (experemental)"
|
||||
|
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-15 15:01+0300\n"
|
||||
"POT-Creation-Date: 2025-07-18 00:51+0300\n"
|
||||
"PO-Revision-Date: 2025-07-01 20:00+0300\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@@ -506,21 +506,27 @@ msgstr ""
|
||||
"(Desactivado automáticamente en sistemas sin soporte para "
|
||||
"FUTEX_WAIT_MULTIPLE) (Se recomienda no cambiar el valor)"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Do not use in-process synchronization via the Linux ntsync driver. "
|
||||
"(Automatically disabled on systems without loaded ntsync module) "
|
||||
"(Experimental)"
|
||||
msgstr ""
|
||||
"No utilizar primitivas de sincronización basadas en futex en el proceso. "
|
||||
"(Desactivado automáticamente en sistemas sin soporte para "
|
||||
"FUTEX_WAIT_MULTIPLE) (Se recomienda no cambiar el valor)"
|
||||
|
||||
msgid "Enable vkd3d support - Ray Tracing"
|
||||
msgstr "Habilitar el soporte de vkd3d: Ray Tracing"
|
||||
|
||||
msgid "Enable DLSS on supported NVIDIA graphics cards"
|
||||
msgstr "Habilitar DLSS en tarjetas gráficas NVIDIA compatibles"
|
||||
|
||||
msgid "Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)"
|
||||
msgstr ""
|
||||
"Habilitar el traductor de DLSS en FSR 2 en juegos DirectX 12 (CyberFSR2)"
|
||||
|
||||
msgid ""
|
||||
"Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on "
|
||||
"Decky-Framegen) Do not use in multiplayer games"
|
||||
"Enable OptiScaler. It is a tool that lets you replace upscalers in games "
|
||||
"that already support DLSS2+ / FSR2+ / XeSS, now also supports enabling frame "
|
||||
"generation in those same games (through Nukem dlssg-to-fsr3 or OptiFG)"
|
||||
msgstr ""
|
||||
"Habilitar el traductor de DLSS en FSR 2 en juegos DirectX 12 (CyberFSR2)"
|
||||
|
||||
msgid "Enable Lossless Scaling frame generation (experemental)"
|
||||
msgstr ""
|
||||
@@ -2181,6 +2187,16 @@ msgstr "UNIRSE"
|
||||
msgid "THIRD PARTY LIBRARIES"
|
||||
msgstr "BIBLIOTECAS DE TERCEROS"
|
||||
|
||||
#~ msgid "Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)"
|
||||
#~ msgstr ""
|
||||
#~ "Habilitar el traductor de DLSS en FSR 2 en juegos DirectX 12 (CyberFSR2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on "
|
||||
#~ "Decky-Framegen) Do not use in multiplayer games"
|
||||
#~ msgstr ""
|
||||
#~ "Habilitar el traductor de DLSS en FSR 2 en juegos DirectX 12 (CyberFSR2)"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
|
||||
#~ "package: <b>d3dadapter9</b>"
|
||||
|
Binary file not shown.
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-15 15:01+0300\n"
|
||||
"PO-Revision-Date: 2025-07-15 15:03+0300\n"
|
||||
"POT-Creation-Date: 2025-07-18 00:51+0300\n"
|
||||
"PO-Revision-Date: 2025-07-18 00:52+0300\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: ru_RU\n"
|
||||
@@ -508,6 +508,14 @@ msgstr ""
|
||||
"(автоматически отключается в системах без поддержки FUTEX_WAIT_MULTIPLE, "
|
||||
"значение рекомендуется не менять)"
|
||||
|
||||
msgid ""
|
||||
"Do not use in-process synchronization via the Linux ntsync driver. "
|
||||
"(Automatically disabled on systems without loaded ntsync module) "
|
||||
"(Experimental)"
|
||||
msgstr ""
|
||||
"Не использовать примитивы ntsync драйвера (автоматически отключается в "
|
||||
"системах без загруженного модуля ntsync) (Экспериментальная функция)"
|
||||
|
||||
msgid "Enable vkd3d support - Ray Tracing"
|
||||
msgstr ""
|
||||
"Включить поддержку vkd3d — Трассировка лучей (только для игр, работающих на "
|
||||
@@ -516,18 +524,15 @@ msgstr ""
|
||||
msgid "Enable DLSS on supported NVIDIA graphics cards"
|
||||
msgstr "Включить DLSS на поддерживаемых видеокартах NVIDIA"
|
||||
|
||||
msgid "Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)"
|
||||
msgstr ""
|
||||
"Включить трансляцию DLSS в FSR 2 в играх на DirectX 12 (CyberFSR2). "
|
||||
"Позволяет задействовать FSR 2 в играх с поддержкой DLSS"
|
||||
|
||||
msgid ""
|
||||
"Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on "
|
||||
"Decky-Framegen) Do not use in multiplayer games"
|
||||
"Enable OptiScaler. It is a tool that lets you replace upscalers in games "
|
||||
"that already support DLSS2+ / FSR2+ / XeSS, now also supports enabling frame "
|
||||
"generation in those same games (through Nukem dlssg-to-fsr3 or OptiFG)"
|
||||
msgstr ""
|
||||
"Включить трансляцию DLSS 3 с генерацией кадров в FSR 3 в играх на DirectX 12 "
|
||||
"(Decky-Framegen). Клавиша Insert открывает окно настроек OptiScaler внутри "
|
||||
"игры. Не используйте в мультиплеерных играх"
|
||||
"Включить OptiScaler. Это инструмент, позволяющий заменить апскейлеры в "
|
||||
"играх, которые уже поддерживают DLSS2+ / FSR2+ / XeSS. Теперь он также "
|
||||
"поддерживает генерацию кадров в этих же играх (через Nukem dlssg-to-fsr3 или "
|
||||
"OptiFG)."
|
||||
|
||||
msgid "Enable Lossless Scaling frame generation (experemental)"
|
||||
msgstr ""
|
||||
@@ -2160,6 +2165,19 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
|
||||
msgid "THIRD PARTY LIBRARIES"
|
||||
msgstr "БИБЛИОТЕКИ"
|
||||
|
||||
#~ msgid "Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)"
|
||||
#~ msgstr ""
|
||||
#~ "Включить трансляцию DLSS в FSR 2 в играх на DirectX 12 (CyberFSR2). "
|
||||
#~ "Позволяет задействовать FSR 2 в играх с поддержкой DLSS"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on "
|
||||
#~ "Decky-Framegen) Do not use in multiplayer games"
|
||||
#~ msgstr ""
|
||||
#~ "Включить трансляцию DLSS 3 с генерацией кадров в FSR 3 в играх на DirectX "
|
||||
#~ "12 (Decky-Framegen). Клавиша Insert открывает окно настроек OptiScaler "
|
||||
#~ "внутри игры. Не используйте в мультиплеерных играх"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
|
||||
#~ "package: <b>d3dadapter9</b>"
|
||||
|
@@ -135,6 +135,29 @@ fatal () {
|
||||
exit 1
|
||||
}
|
||||
|
||||
start_activity_simulation() {
|
||||
(
|
||||
trap 'exit 0' TERM INT
|
||||
while [[ -f "${PORT_WINE_PATH}/data/tmp/screensaver_pid" ]] ; do
|
||||
dbus-send --session --dest=org.freedesktop.ScreenSaver \
|
||||
--type=method_call /org/freedesktop/ScreenSaver \
|
||||
org.freedesktop.ScreenSaver.SimulateUserActivity
|
||||
sleep 30
|
||||
done
|
||||
) &
|
||||
echo $! > "${PORT_WINE_PATH}/data/tmp/screensaver_pid"
|
||||
}
|
||||
|
||||
stop_activity_simulation() {
|
||||
if [[ -f "${PORT_WINE_PATH}/data/tmp/screensaver_pid" ]] ; then
|
||||
pw_screensaver_pid=$(cat "${PORT_WINE_PATH}/data/tmp/screensaver_pid")
|
||||
if ps cax | grep "${pw_screensaver_pid}" ; then
|
||||
kill -n 9 "${pw_screensaver_pid}" &>/dev/null
|
||||
fi
|
||||
rm -f "${PORT_WINE_PATH}/data/tmp/screensaver_pid"
|
||||
fi
|
||||
}
|
||||
|
||||
change_locale () {
|
||||
if [[ -f "${PORT_WINE_TMP_PATH}/PortProton_loc" ]] ; then
|
||||
LANGUAGE=$(<"${PORT_WINE_TMP_PATH}/PortProton_loc")
|
||||
@@ -2031,7 +2054,6 @@ stop_portwine () {
|
||||
dbus-send --session --dest=com.deepin.WMSwitcher --type=method_call /com/deepin/WMSwitcher com.deepin.WMSwitcher.RequestSwitchWM
|
||||
fi
|
||||
fi
|
||||
|
||||
pw_stop_progress_bar
|
||||
try_remove_file "${PORT_SCRIPTS_PATH}/0"
|
||||
try_remove_file "${PORT_SCRIPTS_PATH}/1"
|
||||
@@ -2040,7 +2062,11 @@ stop_portwine () {
|
||||
find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete
|
||||
pw_exit_tray
|
||||
pw_auto_create_shortcut
|
||||
stop_activity_simulation
|
||||
add_in_stop_portwine
|
||||
if [[ -n "$PW_TUNED_PROFILE" ]] ; then
|
||||
tuned-adm profile $PW_TUNED_PROFILE
|
||||
fi
|
||||
|
||||
if [[ $PW_LOG != 1 ]] && [[ -n $START_PW_TIME_IN_GAME ]] ; then
|
||||
debug_timer --end -s "PW_TIME_IN_GAME"
|
||||
@@ -2849,7 +2875,6 @@ pw_skip_get_info () {
|
||||
# TODO: Add NVIDIA Smooth Motion
|
||||
if check_nvidia_rtx ; then
|
||||
check_variables PW_USE_NVAPI_AND_DLSS "1"
|
||||
check_variables PW_USE_FAKE_DLSS "0"
|
||||
check_variables PW_USE_RAY_TRACING "1"
|
||||
fi
|
||||
|
||||
@@ -3351,12 +3376,12 @@ start_portwine () {
|
||||
if [[ $ULIMIT_HN -lt 524288 ]] ; then
|
||||
print_warning "ESYNC dont work! (ulimit -Hn $ULIMIT_HN < 524288)"
|
||||
export WINEESYNC="0"
|
||||
elif [[ "${PW_NO_ESYNC}" == 1 ]]
|
||||
elif [[ $PW_NO_ESYNC == "1" ]]
|
||||
then export WINEESYNC="0"
|
||||
else export WINEESYNC="1"
|
||||
fi
|
||||
|
||||
if [[ "${PW_NO_FSYNC}" == 1 ]] ; then
|
||||
if [[ $PW_NO_FSYNC == "1" ]] ; then
|
||||
export WINEFSYNC="0"
|
||||
export WINEFSYNC_FUTEX2="0"
|
||||
else
|
||||
@@ -3365,6 +3390,19 @@ start_portwine () {
|
||||
check_variables WINEFSYNC_FUTEX2 0
|
||||
fi
|
||||
|
||||
if [[ $PW_NO_NTSYNC == "0" ]] ; then
|
||||
if [[ -e "/dev/ntsync" ]] ; then
|
||||
export WINENTSYNC="1"
|
||||
export WINEFSYNC="0"
|
||||
export WINEESYNC="0"
|
||||
else
|
||||
export WINENTSYNC="0"
|
||||
print_error "/dev/ntsync - not found!"
|
||||
fi
|
||||
else
|
||||
export WINENTSYNC="0"
|
||||
fi
|
||||
|
||||
# export WINE_SIMULATE_ASYNC_READ=1
|
||||
# export WINE_FSYNC_SIMULATE_SCHED_QUANTUM=1
|
||||
# export WINE_ALERT_SIMULATE_SCHED_QUANTUM=1
|
||||
@@ -3402,7 +3440,7 @@ start_portwine () {
|
||||
-e /'dxgi.maxFrameLatency =/c # dxgi.maxFrameLatency =' \
|
||||
-e /'d3d9.maxFrameLatency =/c # d3d9.maxFrameLatency =' \
|
||||
-e /'dxgi.syncInterval =/c # dxgi.syncInterval =' \
|
||||
-e /'d3d9.presentInterva =/c # d3d9.presentInterva =' \
|
||||
-e /'d3d9.presentInterval =/c # d3d9.presentInterval =' \
|
||||
-e /'dxgi.numBackBuffers =/c # dxgi.numBackBuffers =' \
|
||||
-e /'d3d9.numBackBuffers =/c # d3d9.numBackBuffers =' \
|
||||
-e /'d3d9.deviceLossOnFocusLoss =/c # d3d9.deviceLossOnFocusLoss =' \
|
||||
@@ -3442,7 +3480,7 @@ start_portwine () {
|
||||
-e /'dxgi.maxFrameLatency =/c dxgi.maxFrameLatency = 1' \
|
||||
-e /'d3d9.maxFrameLatency =/c d3d9.maxFrameLatency = 1' \
|
||||
-e /'dxgi.syncInterval =/c dxgi.syncInterval = 0' \
|
||||
-e /'d3d9.presentInterval =/c d3d9.presentInterva = 0' \
|
||||
-e /'d3d9.presentInterval =/c d3d9.presentInterval = 0' \
|
||||
-e /'dxgi.numBackBuffers =/c dxgi.numBackBuffers = 2' \
|
||||
-e /'d3d9.numBackBuffers =/c d3d9.numBackBuffers = 2' \
|
||||
-e /'d3d9.deviceLossOnFocusLoss =/c d3d9.deviceLossOnFocusLoss = True' \
|
||||
@@ -3455,22 +3493,35 @@ start_portwine () {
|
||||
set_to_dxvk_conf default
|
||||
|
||||
# NVAPI, DLSS AND FAKE DLSS
|
||||
FAKE_DLSS_3_PATH="$PW_PLUGINS_PATH/fake_dlss/DeckyFramegen_$PW_FAKE_DLSS_3_VER/bin/"
|
||||
FAKE_DLSS_3_FILES="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll d3dcompiler_47.dll dlss-enabler.dll
|
||||
dlss-enabler-upscaler.dll dlssg_to_fsr3_amd_is_better-3.0.dll dlssg_to_fsr3_amd_is_better.dll dxvk.conf
|
||||
dlssg_to_fsr3.ini fakenvapi.ini libxess.dll nvapi64.dll _nvngx.dll nvngx.ini nvngx-wrapper.dll dxgi.dll"
|
||||
ORIGINAL_GAME_DLLS="d3dcompiler_47.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll _nvngx.dll"
|
||||
|
||||
if [[ -d "$PATH_TO_GAME/Engine" ]]; then
|
||||
ue_exe_path=$(find "$PATH_TO_GAME" -maxdepth 4 -mindepth 4 -path "*Binaries/Win64/*.exe" -not -path "*/Engine/*" | head -1)
|
||||
PATH_TO_GAME=$(dirname "$ue_exe_path")
|
||||
fi
|
||||
|
||||
if [[ "${PW_USE_FAKE_DLSS_3}" != "1" ]] \
|
||||
&& [[ -f "$PATH_TO_GAME/dlss-enabler.dll" ]]
|
||||
# remove old decky_framegen files
|
||||
if [[ -f "$PATH_TO_GAME/dlss-enabler.dll" ]] ; then
|
||||
for dll in amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll d3dcompiler_47.dll dlss-enabler.dll \
|
||||
dlss-enabler-upscaler.dll dlssg_to_fsr3_amd_is_better-3.0.dll dlssg_to_fsr3_amd_is_better.dll \
|
||||
dxvk.conf dlssg_to_fsr3.ini fakenvapi.ini libxess.dll nvapi64.dll _nvngx.dll nvngx.ini \
|
||||
nvngx-wrapper.dll dxgi.dll
|
||||
do try_remove_file "$PATH_TO_GAME/$dll"
|
||||
done
|
||||
for dll in d3dcompiler_47.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll _nvngx.dll
|
||||
do [[ -f "$PATH_TO_GAME/${dll}.b" ]] && mv -f "$PATH_TO_GAME/${dll}.b" "$PATH_TO_GAME/${dll}" 2>/dev/null
|
||||
done
|
||||
fi
|
||||
|
||||
# install/remove new optiscaler
|
||||
OPTISCALER_PATH="$PW_PLUGINS_PATH/fake_dlss/optiscaler-$PW_OPTISCALER_VER"
|
||||
OPTISCALER_FILES="dxgi.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll \
|
||||
libxess_dx11.dll dlssg_to_fsr3_amd_is_better.dll fakenvapi.ini \
|
||||
OptiScaler.ini dxvk.conf"
|
||||
ORIGINAL_GAME_DLLS="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll"
|
||||
|
||||
if [[ "${PW_USE_OPTISCALER}" != "1" ]] \
|
||||
&& [[ -f "$PATH_TO_GAME/dlssg_to_fsr3_amd_is_better.dll" ]]
|
||||
then
|
||||
try_remove_file "$PATH_TO_GAME/nvngx.dll"
|
||||
for dll in $FAKE_DLSS_3_FILES ; do
|
||||
for dll in $OPTISCALER_FILES ; do
|
||||
try_remove_file "$PATH_TO_GAME/$dll"
|
||||
done
|
||||
for dll in $ORIGINAL_GAME_DLLS ; do
|
||||
@@ -3480,14 +3531,14 @@ start_portwine () {
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ "${PW_USE_FAKE_DLSS_3}" == "1" ]] ; then
|
||||
if [[ ! -d "$FAKE_DLSS_3_PATH" ]] ; then
|
||||
if try_download "github.com/Castro-Fidel/vulkan/releases/download/DeckyFramegen_${PW_FAKE_DLSS_3_VER}/DeckyFramegen_${PW_FAKE_DLSS_3_VER}.tar.xz" \
|
||||
"${PORT_WINE_PATH}/data/tmp/DeckyFramegen_${PW_FAKE_DLSS_3_VER}.tar.xz" ; then
|
||||
if ! unpack "${PORT_WINE_PATH}/data/tmp/DeckyFramegen_${PW_FAKE_DLSS_3_VER}.tar.xz" "$PW_PLUGINS_PATH/fake_dlss/"
|
||||
then try_remove_dir "$FAKE_DLSS_3_PATH"
|
||||
if [[ "${PW_USE_OPTISCALER}" == "1" ]] ; then
|
||||
if [[ ! -d "$OPTISCALER_PATH" ]] ; then
|
||||
if try_download "github.com/Castro-Fidel/vulkan/releases/download/optiscaler-$PW_OPTISCALER_VER/optiscaler-$PW_OPTISCALER_VER.tar.xz" \
|
||||
"${PORT_WINE_PATH}/data/tmp/optiscaler-$PW_OPTISCALER_VER.tar.xz" ; then
|
||||
if ! unpack "${PORT_WINE_PATH}/data/tmp/optiscaler-$PW_OPTISCALER_VER.tar.xz" "$PW_PLUGINS_PATH/fake_dlss/"
|
||||
then try_remove_dir "$OPTISCALER_PATH"
|
||||
fi
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/DeckyFramegen_${PW_FAKE_DLSS_3_VER}.tar.xz"
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/optiscaler-$PW_OPTISCALER_VER.tar.xz"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -3495,7 +3546,7 @@ start_portwine () {
|
||||
export DXVK_ENABLE_NVAPI="1"
|
||||
export PW_USE_RAY_TRACING="1"
|
||||
|
||||
if [[ ! -f "$PATH_TO_GAME/dlss-enabler.dll" ]] ; then
|
||||
if [[ ! -f "$PATH_TO_GAME/dlssg_to_fsr3_amd_is_better.dll" ]] ; then
|
||||
if [[ -f "$PATH_TO_GAME/dxgi.dll" ]] ; then
|
||||
yad_error 'dxgi.dll is already present in the game folder!\nThis script uses dxgi.dll to load required files.\nRemove the mod using dxgi.dll.'
|
||||
fatal "Force exit..."
|
||||
@@ -3507,19 +3558,13 @@ start_portwine () {
|
||||
mv -f "$PATH_TO_GAME/$dll" "$PATH_TO_GAME/${dll}.b" 2>/dev/null
|
||||
fi
|
||||
done
|
||||
for dll in $FAKE_DLSS_3_FILES ; do
|
||||
try_force_link_file "$FAKE_DLSS_3_PATH/$dll" "$PATH_TO_GAME/$dll"
|
||||
for dll in $OPTISCALER_FILES ; do
|
||||
try_force_link_file "$OPTISCALER_PATH/$dll" "$PATH_TO_GAME/$dll"
|
||||
done
|
||||
fi
|
||||
for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do
|
||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
|
||||
done
|
||||
elif [[ "${PW_USE_FAKE_DLSS}" == "1" ]] ; then
|
||||
DXVK_ENABLE_NVAPI="1"
|
||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
|
||||
try_copy_file_with_checksums "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll"
|
||||
try_copy_file_with_checksums "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini"
|
||||
set_to_dxvk_conf nvidia_old
|
||||
elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then
|
||||
DXVK_ENABLE_NVAPI="1"
|
||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini"
|
||||
@@ -3608,6 +3653,15 @@ start_portwine () {
|
||||
else
|
||||
export PW_POWERPROFILECTL_SLR=""
|
||||
fi
|
||||
elif command -v tuned-adm &>/dev/null ; then
|
||||
export PW_TUNED_PROFILE=$(tuned-adm active | awk -F': ' '{print $2}')
|
||||
if tuned-adm list | grep -q 'throughput-performance' ; then
|
||||
tuned-adm profile throughput-performance
|
||||
print_info "Gamemode replaced by tuned to avoid conflict with ananicy and sched-ext."
|
||||
export PW_POWERPROFILECTL_SLR=""
|
||||
else
|
||||
export PW_POWERPROFILECTL_SLR=""
|
||||
fi
|
||||
fi
|
||||
elif check_flatpak ; then
|
||||
export GAMEMODERUN=1
|
||||
@@ -3644,14 +3698,16 @@ start_portwine () {
|
||||
export PW_GAMEMODERUN_SLR=""
|
||||
fi
|
||||
|
||||
# TODO: Add org.freedesktop.ScreenSaver.SimulateUserActivity for Flatpak support
|
||||
# org.freedesktop.ScreenSaver.Inhibit doesn`t work because the Inhibit method is released as soon as the D-Bus connection is released
|
||||
if command -v systemd-inhibit &>/dev/null \
|
||||
&& [[ "$GAMEMODERUN" != "1" ]]
|
||||
then
|
||||
if [[ "$GAMEMODERUN" != "1" ]]; then
|
||||
if check_flatpak; then
|
||||
start_activity_simulation
|
||||
PW_INHIBIT_SLR=""
|
||||
print_info "Screensaver will be inhibited using D-Bus (Flatpak mode)"
|
||||
elif command -v systemd-inhibit &>/dev/null; then
|
||||
PW_INHIBIT_SLR="systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=${translations[Launched]} --what=idle:sleep"
|
||||
print_info "Screensaver will be inhibit"
|
||||
print_info "Screensaver will be inhibited using systemd-inhibit (Native mode)"
|
||||
fi
|
||||
fi
|
||||
pw_other_fixes
|
||||
|
||||
# enabled BattleEye_Runtime and EasyAntiCheat_Runtime
|
||||
@@ -4082,7 +4138,7 @@ start_portwine () {
|
||||
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
|
||||
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll" ;;
|
||||
esac
|
||||
if [[ $PW_USE_FAKE_DLSS_3 == "1" ]] && [[ $wine_dxvk_dll == "dxgi" ]]
|
||||
if [[ $PW_USE_OPTISCALER == "1" ]] && [[ $wine_dxvk_dll == "dxgi" ]]
|
||||
then var_winedlloverride_update "dxgi=n,b"
|
||||
else var_winedlloverride_update "${wine_dxvk_dll}=n"
|
||||
fi
|
||||
@@ -4375,7 +4431,10 @@ start_portwine () {
|
||||
&& ! check_gamescope_session
|
||||
then
|
||||
if [[ "${DESKTOP_SESSION}" =~ "plasma" ]] ; then
|
||||
qdbus org.kde.KWin /Compositor suspend
|
||||
kde_version=$(plasmashell --version 2>/dev/null | grep -oE '[0-9]+' | head -1)
|
||||
if [[ -n "$kde_version" && "$kde_version" -lt 6 ]]; then
|
||||
qdbus org.kde.KWin /Compositor suspend
|
||||
fi
|
||||
elif [[ "${DESKTOP_SESSION}" =~ "mate" ]] ; then
|
||||
gsettings set org.mate.Marco.general compositing-manager false
|
||||
elif [[ "${DESKTOP_SESSION}" =~ "xfce" ]] ; then
|
||||
@@ -5323,9 +5382,9 @@ export -f gui_proton_downloader
|
||||
gui_edit_db () {
|
||||
KEY_EDIT_DB_GUI=$RANDOM
|
||||
PW_EDIT_DB_LIST=(PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_DGVOODOO2 PW_GAMESCOPE
|
||||
PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3 PW_USE_LS_FRAME_GEN
|
||||
PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE
|
||||
PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER
|
||||
PW_NO_ESYNC PW_NO_FSYNC PW_NO_NTSYNC PW_USE_RAY_TRACING PW_USE_NVAPI_AND_DLSS PW_USE_OPTISCALER
|
||||
PW_USE_LS_FRAME_GEN PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS
|
||||
PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER
|
||||
PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
|
||||
PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_GALLIUM_ZINK PW_USE_GALLIUM_NINE
|
||||
PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR
|
||||
@@ -5352,10 +5411,10 @@ gui_edit_db () {
|
||||
<b>Super + C :</b> Update clipboard]}
|
||||
PW_NO_ESYNC_INFO=${translations[Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)]}
|
||||
PW_NO_FSYNC_INFO=${translations[Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems without FUTEX_WAIT_MULTIPLE support) (It is recommended not to change the value)]}
|
||||
PW_NO_NTSYNC_INFO=${translations[Do not use in-process synchronization via the Linux ntsync driver. (Automatically disabled on systems without loaded ntsync module) (Experimental)]}
|
||||
PW_USE_RAY_TRACING_INFO=${translations[Enable vkd3d support - Ray Tracing]}
|
||||
PW_USE_NVAPI_AND_DLSS_INFO=${translations[Enable DLSS on supported NVIDIA graphics cards]}
|
||||
PW_USE_FAKE_DLSS_INFO=${translations[Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)]}
|
||||
PW_USE_FAKE_DLSS_3_INFO=${translations[Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on Decky-Framegen) Do not use in multiplayer games]}
|
||||
PW_USE_OPTISCALER_INFO=${translations[Enable OptiScaler. It is a tool that lets you replace upscalers in games that already support DLSS2+ / FSR2+ / XeSS, now also supports enabling frame generation in those same games (through Nukem dlssg-to-fsr3 or OptiFG)]}
|
||||
PW_USE_LS_FRAME_GEN_INFO=${translations[Enable Lossless Scaling frame generation (experemental)]}
|
||||
PW_WINE_FULLSCREEN_FSR_INFO=${translations[Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen]}
|
||||
PW_HIDE_NVIDIA_GPU_INFO=${translations[Disguise all features used for NVIDIA graphics cards]}
|
||||
@@ -5410,6 +5469,8 @@ gui_edit_db () {
|
||||
DISABLE_EDIT_DB_LIST+=" PW_USE_SUPPLIED_DXVK_VKD3D"
|
||||
fi
|
||||
|
||||
[[ ! -e "/dev/ntsync" ]] && DISABLE_EDIT_DB_LIST+=" PW_NO_NTSYNC"
|
||||
|
||||
if check_wayland_session
|
||||
then DISABLE_EDIT_DB_LIST+=" PW_USE_US_LAYOUT"
|
||||
else DISABLE_EDIT_DB_LIST+=" PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR"
|
||||
|
@@ -335,6 +335,7 @@ if [[ ${portwine_exe,,} =~ (setup|install|.msi$) ]] ; then
|
||||
export PW_DISABLED_CREATE_DB="1"
|
||||
export PW_VULKAN_USE="1"
|
||||
export PW_MANGOHUD="0"
|
||||
export PW_NO_NTSYNC="1"
|
||||
export PW_NO_FSYNC="1"
|
||||
export PW_NO_ESYNC="1"
|
||||
export PW_USE_GAMEMODE="0"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#Author: Castro-Fidel (linux-gaming.ru)
|
||||
#SCRIPTS_NEXT_VERSION=2430
|
||||
#SCRIPTS_NEXT_VERSION=2431
|
||||
#SCRIPTS_STABLE_VERSION=2425
|
||||
########################################################################
|
||||
export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT"
|
||||
@@ -15,6 +15,8 @@ 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}"
|
||||
export PW_NO_ESYNC="0"
|
||||
export PW_NO_FSYNC="0"
|
||||
export PW_NO_NTSYNC="1"
|
||||
export PW_USE_GAMEMODE="0"
|
||||
export PW_USE_TERMINAL="0"
|
||||
export PW_WINDOWS_VER="10"
|
||||
@@ -45,10 +47,9 @@ export WINEUSERNAME="steamuser"
|
||||
###DEFAULT_WINE###
|
||||
export PW_WINE_USE="PROTON_LG"
|
||||
export PW_PLUGINS_VER="_v20"
|
||||
export PW_FAKE_DLSS_VER="230506"
|
||||
export PW_FAKE_DLSS_3_VER="0.9.1-plus"
|
||||
export PW_OPTISCALER_VER="v1"
|
||||
export PW_GALLIUM_NINE_VER="0.10"
|
||||
export PW_LSFG_VK_VER="2.13"
|
||||
export PW_LSFG_VK_VER="3.1-cebe5e2"
|
||||
###WINE_AND_PROTON_LG###
|
||||
export PW_PROTON_LG_VER="PROTON_LG_10-8"
|
||||
export PW_WINE_LG_VER="WINE_LG_10-12"
|
||||
@@ -66,7 +67,7 @@ export VKD3D_GIT_VER="1.1-4655"
|
||||
export PW_VKBASALT_EFFECTS="Curves:cas"
|
||||
export PW_VKBASALT_FFX_CAS="0.50"
|
||||
###MANGOHUD###
|
||||
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 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,winesync"
|
||||
###DGVOODOO2###
|
||||
export DGV2_VER="2.79.3"
|
||||
export PW_DGV2_ANTIALIASING="disabled"
|
||||
|
Reference in New Issue
Block a user