experimental: added lsfg-vk
This commit is contained in:
@ -1823,18 +1823,54 @@ pw_mangohud_check () {
|
|||||||
print_info "Portable MangoHud is enabled"
|
print_info "Portable MangoHud is enabled"
|
||||||
else
|
else
|
||||||
print_info "System MangoHud is enabled"
|
print_info "System MangoHud is enabled"
|
||||||
export PW_MANGOHUD_SLR='MANGOHUD=1'
|
add_to_var PW_ADD_VAR_SLR 'MANGOHUD=1'
|
||||||
fi
|
fi
|
||||||
# TODO: need to fix work for OpenGL without flatpak...
|
# TODO: need to fix work for OpenGL without flatpak...
|
||||||
MANGOHUD_LIB_NAME="libMangoHud_shim.so"
|
MANGOHUD_LIB_NAME="libMangoHud_shim.so"
|
||||||
export PW_LD_PRELOAD="${PW_LD_PRELOAD:+$PW_LD_PRELOAD:}${MANGOHUD_LIB_NAME}"
|
export PW_LD_PRELOAD="${PW_LD_PRELOAD:+$PW_LD_PRELOAD:}${MANGOHUD_LIB_NAME}"
|
||||||
else
|
else
|
||||||
export PW_MANGOHUD_SLR=''
|
|
||||||
print_info "MangoHud is disabled"
|
print_info "MangoHud is disabled"
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pw_lsfg_vk_check () {
|
||||||
|
if [[ "${PW_USE_LS_FRAME_GEN}" == "1" ]] ; then
|
||||||
|
local lsfg_vk_path="$PW_PLUGINS_PATH/fake_dlss/lsfg-vk-$PW_LSFG_VK_VER"
|
||||||
|
if [[ ! -d "$lsfg_vk_path" ]] ; then
|
||||||
|
if try_download "github.com/Castro-Fidel/vulkan/releases/download/lsfg-vk-$PW_LSFG_VK_VER/lsfg-vk-$PW_LSFG_VK_VER.tar.xz" \
|
||||||
|
"${PORT_WINE_PATH}/data/tmp/lsfg-vk-$PW_LSFG_VK_VER.tar.xz" ; then
|
||||||
|
if ! unpack "${PORT_WINE_PATH}/data/tmp/lsfg-vk-$PW_LSFG_VK_VER.tar.xz" "$PW_PLUGINS_PATH/fake_dlss/"
|
||||||
|
then try_remove_dir "$lsfg_vk_path"
|
||||||
|
fi
|
||||||
|
try_remove_file "${PORT_WINE_PATH}/data/tmp/lsfg-vk-$PW_LSFG_VK_VER.tar.xz"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
export LSFG_DLL_PATH="$lsfg_vk_path/Lossless.dll"
|
||||||
|
export LSFG_MULTIPLIER="2"
|
||||||
|
export LSFG_FLOW_SCALE="0.2"
|
||||||
|
export LSFG_PERF_MODE="1"
|
||||||
|
export PW_WINE_FULLSCREEN_FSR="0"
|
||||||
|
|
||||||
|
if [[ "$PW_USE_SYSTEM_VK_LAYERS" != "1" ]] ; then
|
||||||
|
sed -i 's/: "VK_LAYER/: "PW_VK_LAYER/' "$lsfg_vk_path/VkLayer_LS_frame_generation.json"
|
||||||
|
sed -i "s/ENABLE_LSFG/ENABLE_PW_LSFG/" "$lsfg_vk_path/VkLayer_LS_frame_generation.json"
|
||||||
|
sed -i "s|.*\"library_path\".*| \"library_path\": \"$lsfg_vk_path/liblsfg-vk.so\",|g" "$lsfg_vk_path/VkLayer_LS_frame_generation.json"
|
||||||
|
|
||||||
|
try_force_link_file "$lsfg_vk_path/VkLayer_LS_frame_generation.json" \
|
||||||
|
"${PW_PLUGINS_PATH}/portable/share/vulkan/implicit_layer.d/VkLayer_LS_PW_frame_generation.json"
|
||||||
|
|
||||||
|
add_to_var PW_ADD_VAR_SLR 'ENABLE_PW_LSFG=1'
|
||||||
|
print_info "Portable LSFG_VK is enabled"
|
||||||
|
else
|
||||||
|
add_to_var PW_ADD_VAR_SLR 'ENABLE_LSFG=1'
|
||||||
|
print_warning "Portable LSFG_VK is disabled"
|
||||||
|
fi
|
||||||
|
set_to_dxvk_conf low_latency
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
pw_vkbasalt_check () {
|
pw_vkbasalt_check () {
|
||||||
if [[ "${PW_VKBASALT}" == "1" ]] ; then
|
if [[ "${PW_VKBASALT}" == "1" ]] ; then
|
||||||
if [[ "$PW_USE_SYSTEM_VK_LAYERS" != "1" ]] ; then
|
if [[ "$PW_USE_SYSTEM_VK_LAYERS" != "1" ]] ; then
|
||||||
@ -3342,20 +3378,31 @@ start_portwine () {
|
|||||||
export DXVK_ASYNC="1"
|
export DXVK_ASYNC="1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
enabled_fake_nvidia_videocard ()
|
sed -i /'dxgi.customDeviceDesc =/c # dxgi.customDeviceDesc =' "${DXVK_CONFIG_FILE}"
|
||||||
{
|
sed -i /'dxgi.customDeviceId =/c # dxgi.customDeviceId =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'dxgi.customVendorId =/c # dxgi.customVendorId =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'dxgi.hideAmdGpu =/c # dxgi.hideAmdGpu =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'dxgi.hideNvidiaGpu =/c # dxgi.hideNvidiaGpu =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'d3d11.cachedDynamicResources =/c # d3d11.cachedDynamicResources =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'dxgi.maxFrameLatency =/c # dxgi.maxFrameLatency =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'dd3d9.maxFrameLatency =/c # d3d9.maxFrameLatency =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'dxgi.syncInterval =/c # dxgi.syncInterval =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'d3d9.presentInterva =/c # d3d9.presentInterva =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'dxgi.numBackBuffers =/c # dxgi.numBackBuffers =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'d3d9.numBackBuffers =/c # d3d9.numBackBuffers =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'d3d9.deviceLossOnFocusLoss =/c # d3d9.deviceLossOnFocusLoss =' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'d3d9.countLosableResources =/c # d3d9.countLosableResources =' "${DXVK_CONFIG_FILE}"
|
||||||
|
unset WINE_HIDE_NVIDIA_GPU WINE_HIDE_AMD_GPU WINEHAGS
|
||||||
|
unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS
|
||||||
|
|
||||||
|
set_to_dxvk_conf () {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
old)
|
nvidia_old)
|
||||||
sed -i /'dxgi.customDeviceDesc =/c # dxgi.customDeviceDesc =' "${DXVK_CONFIG_FILE}"
|
|
||||||
sed -i /'dxgi.customDeviceId =/c dxgi.customDeviceId = 222F' "${DXVK_CONFIG_FILE}"
|
sed -i /'dxgi.customDeviceId =/c dxgi.customDeviceId = 222F' "${DXVK_CONFIG_FILE}"
|
||||||
sed -i /'dxgi.customVendorId =/c dxgi.customVendorId = 10de' "${DXVK_CONFIG_FILE}"
|
sed -i /'dxgi.customVendorId =/c dxgi.customVendorId = 10de' "${DXVK_CONFIG_FILE}"
|
||||||
sed -i /'dxgi.hideAmdGpu =/c # dxgi.hideAmdGpu =' "${DXVK_CONFIG_FILE}"
|
|
||||||
sed -i /'dxgi.hideNvidiaGpu =/c # dxgi.hideNvidiaGpu =' "${DXVK_CONFIG_FILE}"
|
|
||||||
unset WINE_HIDE_NVIDIA_GPU WINE_HIDE_AMD_GPU
|
|
||||||
unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
new)
|
nvidia_new)
|
||||||
sed -i /'dxgi.customDeviceDesc =/c dxgi.customDeviceDesc = "NVIDIA GeForce RTX 4090"' "${DXVK_CONFIG_FILE}"
|
sed -i /'dxgi.customDeviceDesc =/c dxgi.customDeviceDesc = "NVIDIA GeForce RTX 4090"' "${DXVK_CONFIG_FILE}"
|
||||||
sed -i /'dxgi.customDeviceId =/c dxgi.customDeviceId = 2684' "${DXVK_CONFIG_FILE}"
|
sed -i /'dxgi.customDeviceId =/c dxgi.customDeviceId = 2684' "${DXVK_CONFIG_FILE}"
|
||||||
sed -i /'dxgi.customVendorId =/c dxgi.customVendorId = 10de' "${DXVK_CONFIG_FILE}"
|
sed -i /'dxgi.customVendorId =/c dxgi.customVendorId = 10de' "${DXVK_CONFIG_FILE}"
|
||||||
@ -3367,15 +3414,17 @@ start_portwine () {
|
|||||||
export DXVK_NVAPI_ALLOW_OTHER_DRIVERS="1"
|
export DXVK_NVAPI_ALLOW_OTHER_DRIVERS="1"
|
||||||
export WINEHAGS="1"
|
export WINEHAGS="1"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
low_latency)
|
||||||
sed -i /'dxgi.customDeviceDesc =/c # dxgi.customDeviceDesc =' "${DXVK_CONFIG_FILE}"
|
# sed -i /'d3d11.cachedDynamicResources =/c d3d11.cachedDynamicResources = a' "${DXVK_CONFIG_FILE}"
|
||||||
sed -i /'dxgi.customDeviceId =/c # dxgi.customDeviceId =' "${DXVK_CONFIG_FILE}"
|
sed -i /'dxgi.maxFrameLatency =/c dxgi.maxFrameLatency = 1' "${DXVK_CONFIG_FILE}"
|
||||||
sed -i /'dxgi.customVendorId =/c # dxgi.customVendorId =' "${DXVK_CONFIG_FILE}"
|
sed -i /'d3d9.maxFrameLatency =/c d3d9.maxFrameLatency = 1' "${DXVK_CONFIG_FILE}"
|
||||||
sed -i /'dxgi.hideAmdGpu =/c # dxgi.hideAmdGpu =' "${DXVK_CONFIG_FILE}"
|
sed -i /'dxgi.syncInterval =/c dxgi.syncInterval = 1' "${DXVK_CONFIG_FILE}"
|
||||||
sed -i /'dxgi.hideNvidiaGpu =/c # dxgi.hideNvidiaGpu =' "${DXVK_CONFIG_FILE}"
|
sed -i /'d3d9.presentInterval =/c d3d9.presentInterva = 1' "${DXVK_CONFIG_FILE}"
|
||||||
unset WINE_HIDE_NVIDIA_GPU WINE_HIDE_AMD_GPU
|
sed -i /'dxgi.numBackBuffers =/c dxgi.numBackBuffers = 1' "${DXVK_CONFIG_FILE}"
|
||||||
unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS
|
sed -i /'d3d9.numBackBuffers =/c d3d9.numBackBuffers = 1' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'d3d9.deviceLossOnFocusLoss =/c d3d9.deviceLossOnFocusLoss = True' "${DXVK_CONFIG_FILE}"
|
||||||
|
sed -i /'d3d9.countLosableResources =/c d3d9.countLosableResources = True' "${DXVK_CONFIG_FILE}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@ -3386,23 +3435,22 @@ start_portwine () {
|
|||||||
dlss-enabler-upscaler.dll dlssg_to_fsr3_amd_is_better-3.0.dll dlssg_to_fsr3_amd_is_better.dll dxvk.conf
|
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"
|
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"
|
ORIGINAL_GAME_DLLS="d3dcompiler_47.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll _nvngx.dll"
|
||||||
PATH_TO_GAME_EXEC="$PATH_TO_GAME"
|
|
||||||
|
|
||||||
if [[ -d "$PATH_TO_GAME_EXEC/Engine" ]]; then
|
if [[ -d "$PATH_TO_GAME/Engine" ]]; then
|
||||||
ue_exe_path=$(find "$PATH_TO_GAME_EXEC" -maxdepth 4 -mindepth 4 -path "*Binaries/Win64/*.exe" -not -path "*/Engine/*" | head -1)
|
ue_exe_path=$(find "$PATH_TO_GAME" -maxdepth 4 -mindepth 4 -path "*Binaries/Win64/*.exe" -not -path "*/Engine/*" | head -1)
|
||||||
PATH_TO_GAME_EXEC=$(dirname "$ue_exe_path")
|
PATH_TO_GAME=$(dirname "$ue_exe_path")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${PW_USE_FAKE_DLSS_3}" != "1" ]] \
|
if [[ "${PW_USE_FAKE_DLSS_3}" != "1" ]] \
|
||||||
&& [[ -f "$PATH_TO_GAME_EXEC/dlss-enabler.dll" ]]
|
&& [[ -f "$PATH_TO_GAME/dlss-enabler.dll" ]]
|
||||||
then
|
then
|
||||||
try_remove_file "$PATH_TO_GAME_EXEC/nvngx.dll"
|
try_remove_file "$PATH_TO_GAME/nvngx.dll"
|
||||||
for dll in $FAKE_DLSS_3_FILES ; do
|
for dll in $FAKE_DLSS_3_FILES ; do
|
||||||
try_remove_file "$PATH_TO_GAME_EXEC/$dll"
|
try_remove_file "$PATH_TO_GAME/$dll"
|
||||||
done
|
done
|
||||||
for dll in $ORIGINAL_GAME_DLLS ; do
|
for dll in $ORIGINAL_GAME_DLLS ; do
|
||||||
if [[ -f "$PATH_TO_GAME_EXEC/${dll}.b" ]] ; then
|
if [[ -f "$PATH_TO_GAME/${dll}.b" ]] ; then
|
||||||
mv -f "$PATH_TO_GAME_EXEC/${dll}.b" "$PATH_TO_GAME_EXEC/${dll}" 2>/dev/null
|
mv -f "$PATH_TO_GAME/${dll}.b" "$PATH_TO_GAME/${dll}" 2>/dev/null
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
@ -3421,37 +3469,33 @@ start_portwine () {
|
|||||||
export PW_WINE_FULLSCREEN_FSR="0"
|
export PW_WINE_FULLSCREEN_FSR="0"
|
||||||
export DXVK_ENABLE_NVAPI="1"
|
export DXVK_ENABLE_NVAPI="1"
|
||||||
export PW_USE_RAY_TRACING="1"
|
export PW_USE_RAY_TRACING="1"
|
||||||
enabled_fake_nvidia_videocard 0
|
set_to_dxvk_conf 0
|
||||||
|
|
||||||
if [[ ! -f "$PATH_TO_GAME_EXEC/dlss-enabler.dll" ]] ; then
|
if [[ ! -f "$PATH_TO_GAME/dlss-enabler.dll" ]] ; then
|
||||||
if [[ -f "$PATH_TO_GAME_EXEC/dxgi.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.'
|
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..."
|
fatal "Force exit..."
|
||||||
fi
|
fi
|
||||||
for dll in $ORIGINAL_GAME_DLLS ; do
|
for dll in $ORIGINAL_GAME_DLLS ; do
|
||||||
if [[ -f "$PATH_TO_GAME_EXEC/$dll" ]] \
|
if [[ -f "$PATH_TO_GAME/$dll" ]] \
|
||||||
&& [[ ! -f "$PATH_TO_GAME_EXEC/${dll}.b" ]]
|
&& [[ ! -f "$PATH_TO_GAME/${dll}.b" ]]
|
||||||
then
|
then
|
||||||
mv -f "$PATH_TO_GAME_EXEC/$dll" "$PATH_TO_GAME_EXEC/${dll}.b" 2>/dev/null
|
mv -f "$PATH_TO_GAME/$dll" "$PATH_TO_GAME/${dll}.b" 2>/dev/null
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
for dll in $FAKE_DLSS_3_FILES ; do
|
for dll in $FAKE_DLSS_3_FILES ; do
|
||||||
try_force_link_file "$FAKE_DLSS_3_PATH/$dll" "$PATH_TO_GAME_EXEC/$dll"
|
try_force_link_file "$FAKE_DLSS_3_PATH/$dll" "$PATH_TO_GAME/$dll"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do
|
for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do
|
||||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
|
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ -f "$PATH_TO_GAME_EXEC/dxvk.conf" ]] ; then
|
|
||||||
export DXVK_CONFIG_FILE="$PATH_TO_GAME_EXEC/dxvk.conf"
|
|
||||||
fi
|
|
||||||
elif [[ "${PW_USE_FAKE_DLSS}" == "1" ]] ; then
|
elif [[ "${PW_USE_FAKE_DLSS}" == "1" ]] ; then
|
||||||
DXVK_ENABLE_NVAPI="1"
|
DXVK_ENABLE_NVAPI="1"
|
||||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
|
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.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"
|
try_copy_file_with_checksums "${PW_PLUGINS_PATH}/fake_dlss/${PW_FAKE_DLSS_VER}/nvngx.ini" "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini"
|
||||||
enabled_fake_nvidia_videocard old
|
set_to_dxvk_conf nvidia_old
|
||||||
elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then
|
elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then
|
||||||
DXVK_ENABLE_NVAPI="1"
|
DXVK_ENABLE_NVAPI="1"
|
||||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini"
|
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini"
|
||||||
@ -3461,14 +3505,14 @@ start_portwine () {
|
|||||||
try_copy_file_with_checksums "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
|
try_copy_file_with_checksums "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll"
|
||||||
export NVIDIA_WINE_DLL_DIR="${FIND_NVNGX}"
|
export NVIDIA_WINE_DLL_DIR="${FIND_NVNGX}"
|
||||||
fi
|
fi
|
||||||
enabled_fake_nvidia_videocard 0
|
set_to_dxvk_conf 0
|
||||||
var_winedlloverride_update "nvngx,_nvngx=n"
|
var_winedlloverride_update "nvngx,_nvngx=n"
|
||||||
else
|
else
|
||||||
DXVK_ENABLE_NVAPI="0"
|
DXVK_ENABLE_NVAPI="0"
|
||||||
for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do
|
for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do
|
||||||
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
|
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
|
||||||
done
|
done
|
||||||
enabled_fake_nvidia_videocard 0
|
set_to_dxvk_conf 0
|
||||||
fi
|
fi
|
||||||
export DXVK_ENABLE_NVAPI
|
export DXVK_ENABLE_NVAPI
|
||||||
|
|
||||||
@ -3505,6 +3549,11 @@ start_portwine () {
|
|||||||
export VKD3D_FILTER_DEVICE_NAME="${PW_GPU_USE}"
|
export VKD3D_FILTER_DEVICE_NAME="${PW_GPU_USE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -f "$PATH_TO_GAME/dxvk.conf" ]] ; then
|
||||||
|
export DXVK_CONFIG_FILE="$PATH_TO_GAME/dxvk.conf"
|
||||||
|
print_info "Custom dxvk.conf in use: $DXVK_CONFIG_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
export int_xneur=0
|
export int_xneur=0
|
||||||
if command -v xneur &>/dev/null \
|
if command -v xneur &>/dev/null \
|
||||||
&& pgrep xneur
|
&& pgrep xneur
|
||||||
@ -4106,10 +4155,12 @@ start_portwine () {
|
|||||||
|
|
||||||
if [[ "${PW_USE_SHADER_CACHE}" == "1" ]] ; then
|
if [[ "${PW_USE_SHADER_CACHE}" == "1" ]] ; then
|
||||||
create_new_dir "${PW_VULKAN_DIR}/gl_shader_cache"
|
create_new_dir "${PW_VULKAN_DIR}/gl_shader_cache"
|
||||||
|
create_new_dir "${PW_VULKAN_DIR}/mesa_shader"
|
||||||
export __GL_SHADER_DISK_CACHE="1"
|
export __GL_SHADER_DISK_CACHE="1"
|
||||||
export __GL_SHADER_DISK_CACHE_PATH="${PW_VULKAN_DIR}/gl_shader_cache"
|
export __GL_SHADER_DISK_CACHE_PATH="${PW_VULKAN_DIR}/gl_shader_cache"
|
||||||
export __GL_SHADER_DISK_CACHE_SIZE="50000000000"
|
export __GL_SHADER_DISK_CACHE_SIZE="50000000000"
|
||||||
export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP="1"
|
export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP="1"
|
||||||
|
export MESA_SHADER_CACHE_DIR="${PW_VULKAN_DIR}/mesa_shader"
|
||||||
else
|
else
|
||||||
export __GL_SHADER_DISK_CACHE="0"
|
export __GL_SHADER_DISK_CACHE="0"
|
||||||
export DXVK_STATE_CACHE="disable"
|
export DXVK_STATE_CACHE="disable"
|
||||||
@ -4420,6 +4471,7 @@ start_portwine () {
|
|||||||
|
|
||||||
pw_mangohud_check
|
pw_mangohud_check
|
||||||
pw_vkbasalt_check
|
pw_vkbasalt_check
|
||||||
|
pw_lsfg_vk_check
|
||||||
}
|
}
|
||||||
|
|
||||||
pw_run () {
|
pw_run () {
|
||||||
@ -4477,10 +4529,10 @@ pw_run () {
|
|||||||
${pw_runtime} \
|
${pw_runtime} \
|
||||||
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
VK_ADD_IMPLICIT_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||||
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
|
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
|
||||||
${PW_GAMEMODERUN_SLR} \
|
${PW_GAMEMODERUN_SLR} \
|
||||||
${PW_MANGOHUD_SLR} \
|
${PW_ADD_VAR_SLR} \
|
||||||
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
|
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
|
||||||
else
|
else
|
||||||
if [[ "$PW_USE_TERMINAL" == 1 ]] ; then
|
if [[ "$PW_USE_TERMINAL" == 1 ]] ; then
|
||||||
@ -4496,10 +4548,10 @@ pw_run () {
|
|||||||
${pw_runtime} \
|
${pw_runtime} \
|
||||||
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
VK_ADD_IMPLICIT_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||||
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
||||||
${PW_GAMEMODERUN_SLR} \
|
${PW_GAMEMODERUN_SLR} \
|
||||||
${PW_MANGOHUD_SLR} \
|
${PW_ADD_VAR_SLR} \
|
||||||
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
|
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
|
||||||
print_info "Update prefix log:"
|
print_info "Update prefix log:"
|
||||||
[[ -f "${PW_TMPFS_PATH}/update_pfx_log" ]] && cat "${PW_TMPFS_PATH}/update_pfx_log"
|
[[ -f "${PW_TMPFS_PATH}/update_pfx_log" ]] && cat "${PW_TMPFS_PATH}/update_pfx_log"
|
||||||
@ -4520,12 +4572,12 @@ pw_run () {
|
|||||||
env FAKE_VAR= \
|
env FAKE_VAR= \
|
||||||
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
VK_ADD_IMPLICIT_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||||
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
||||||
${PW_RUN_GAMESCOPE} \
|
${PW_RUN_GAMESCOPE} \
|
||||||
${PW_GAMEMODERUN_SLR} \
|
${PW_GAMEMODERUN_SLR} \
|
||||||
${PW_POWERPROFILECTL_SLR} \
|
${PW_POWERPROFILECTL_SLR} \
|
||||||
${PW_MANGOHUD_SLR} \
|
${PW_ADD_VAR_SLR} \
|
||||||
${PW_INHIBIT_SLR} \
|
${PW_INHIBIT_SLR} \
|
||||||
${PW_TASKSET_SLR} \
|
${PW_TASKSET_SLR} \
|
||||||
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
|
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
|
||||||
@ -4539,12 +4591,12 @@ pw_run () {
|
|||||||
env FAKE_VAR= \
|
env FAKE_VAR= \
|
||||||
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
VK_ADD_IMPLICIT_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||||
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
||||||
${PW_RUN_GAMESCOPE} \
|
${PW_RUN_GAMESCOPE} \
|
||||||
${PW_GAMEMODERUN_SLR} \
|
${PW_GAMEMODERUN_SLR} \
|
||||||
${PW_POWERPROFILECTL_SLR} \
|
${PW_POWERPROFILECTL_SLR} \
|
||||||
${PW_MANGOHUD_SLR} \
|
${PW_ADD_VAR_SLR} \
|
||||||
${PW_INHIBIT_SLR} \
|
${PW_INHIBIT_SLR} \
|
||||||
${PW_TASKSET_SLR} \
|
${PW_TASKSET_SLR} \
|
||||||
"${WINELOADER}" "$@" ${proxy_launch_parameters}
|
"${WINELOADER}" "$@" ${proxy_launch_parameters}
|
||||||
@ -4695,10 +4747,10 @@ pw_start_cont_xterm () {
|
|||||||
pw_init_runtime
|
pw_init_runtime
|
||||||
${pw_runtime} \
|
${pw_runtime} \
|
||||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
VK_ADD_IMPLICIT_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||||
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
||||||
${PW_GAMEMODERUN_SLR} \
|
${PW_GAMEMODERUN_SLR} \
|
||||||
${PW_MANGOHUD_SLR} \
|
${PW_ADD_VAR_SLR} \
|
||||||
${PW_TERM} bash
|
${PW_TERM} bash
|
||||||
restart_pp
|
restart_pp
|
||||||
}
|
}
|
||||||
@ -5218,7 +5270,7 @@ export -f gui_proton_downloader
|
|||||||
gui_edit_db () {
|
gui_edit_db () {
|
||||||
KEY_EDIT_DB_GUI=$RANDOM
|
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_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_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_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_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_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
|
||||||
@ -5251,6 +5303,7 @@ gui_edit_db () {
|
|||||||
PW_USE_NVAPI_AND_DLSS_INFO=${translations[Enable DLSS on supported NVIDIA graphics cards]}
|
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_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_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_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_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]}
|
PW_HIDE_NVIDIA_GPU_INFO=${translations[Disguise all features used for NVIDIA graphics cards]}
|
||||||
PW_VIRTUAL_DESKTOP_INFO=${translations[Enable the application to run in the WINE virtual desktop]}
|
PW_VIRTUAL_DESKTOP_INFO=${translations[Enable the application to run in the WINE virtual desktop]}
|
||||||
@ -5856,9 +5909,13 @@ gui_mangohud () {
|
|||||||
PW_MANGOHUD="1"
|
PW_MANGOHUD="1"
|
||||||
pw_init_runtime
|
pw_init_runtime
|
||||||
pw_mangohud_check
|
pw_mangohud_check
|
||||||
|
pw_vkbasalt_check
|
||||||
|
pw_lsfg_vk_check
|
||||||
${pw_runtime} \
|
${pw_runtime} \
|
||||||
|
$PW_ADD_VAR_SLR \
|
||||||
|
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
|
||||||
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
LD_PRELOAD="${PW_LD_PRELOAD}" \
|
||||||
VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
VK_ADD_IMPLICIT_LAYER_PATH="${PW_VK_LAYER_PATH}" \
|
||||||
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
|
||||||
"${PW_PLUGINS_PATH}/portable/bin/vkcube"
|
"${PW_PLUGINS_PATH}/portable/bin/vkcube"
|
||||||
gui_mangohud
|
gui_mangohud
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
#Author: Castro-Fidel (linux-gaming.ru)
|
#Author: Castro-Fidel (linux-gaming.ru)
|
||||||
#SCRIPTS_NEXT_VERSION=2427
|
#SCRIPTS_NEXT_VERSION=2428
|
||||||
#SCRIPTS_STABLE_VERSION=2425
|
#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"
|
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"
|
||||||
@ -16,7 +16,6 @@ export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
|
|||||||
#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
|
#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
|
||||||
export PW_NO_ESYNC="0"
|
export PW_NO_ESYNC="0"
|
||||||
export PW_USE_GAMEMODE="0"
|
export PW_USE_GAMEMODE="0"
|
||||||
export PW_FORCE_USE_VSYNC="2"
|
|
||||||
export PW_USE_TERMINAL="0"
|
export PW_USE_TERMINAL="0"
|
||||||
export PW_WINDOWS_VER="10"
|
export PW_WINDOWS_VER="10"
|
||||||
export WINEARCH="win64"
|
export WINEARCH="win64"
|
||||||
@ -49,6 +48,7 @@ export PW_PLUGINS_VER="_v20"
|
|||||||
export PW_FAKE_DLSS_VER="230506"
|
export PW_FAKE_DLSS_VER="230506"
|
||||||
export PW_FAKE_DLSS_3_VER="0.9.1-plus"
|
export PW_FAKE_DLSS_3_VER="0.9.1-plus"
|
||||||
export PW_GALLIUM_NINE_VER="0.10"
|
export PW_GALLIUM_NINE_VER="0.10"
|
||||||
|
export PW_LSFG_VK_VER="2.13"
|
||||||
###WINE_AND_PROTON_LG###
|
###WINE_AND_PROTON_LG###
|
||||||
export PW_PROTON_LG_VER="PROTON_LG_10-8"
|
export PW_PROTON_LG_VER="PROTON_LG_10-8"
|
||||||
export PW_WINE_LG_VER="WINE_LG_10-11"
|
export PW_WINE_LG_VER="WINE_LG_10-11"
|
||||||
|
Reference in New Issue
Block a user