Commit 26863220 authored by Vladislav's avatar Vladislav

Fix zink with gamescope,fix wined3d with proton 9+,d8vk on stable not…

Fix zink with gamescope,fix wined3d with proton 9+,d8vk on stable not working,new dgvoodoo2 with d3d8,add wined3d vulkan
parent 304568c8
...@@ -701,7 +701,7 @@ pw_mangohud_check () { ...@@ -701,7 +701,7 @@ pw_mangohud_check () {
} }
pw_vkbasalt_check () { pw_vkbasalt_check () {
if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then if [[ "${ENABLE_VKBASALT}" == "1" ]] ; then
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf" export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
if ! grep "${PW_PLUGINS_PATH}/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null if ! grep "${PW_PLUGINS_PATH}/reshade" "${VKBASALT_CONFIG_FILE}" &>/dev/null
then sed -ri "s|= .*/reshade|= \"${PW_PLUGINS_PATH}\"/reshade|g" "${VKBASALT_CONFIG_FILE}" then sed -ri "s|= .*/reshade|= \"${PW_PLUGINS_PATH}\"/reshade|g" "${VKBASALT_CONFIG_FILE}"
...@@ -1003,16 +1003,24 @@ pw_check_and_download_dxvk_and_vkd3d () { ...@@ -1003,16 +1003,24 @@ pw_check_and_download_dxvk_and_vkd3d () {
fi fi
#Download DGVOODOO2 #Download DGVOODOO2
if [ ! -d "${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}" ] ; then if [ ! -d "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}" ] ; then
print_info "Download and install DGVOODOO2 v.${DGV2_VER}" print_info "Download and install DGVOODOO2 v.${DGV2_VER}"
if try_download "https://github.com/lutris/dgvoodoo2/releases/download/v${DGV2_VER}/dgvoodoo2-v${DGV2_VER}.tar.xz" \ DGV2_DOWNLOAD=$(echo ${DGV2_VER} | tr '.' '_')
"${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}.tar.xz" if try_download "https://github.com/dege-diosg/dgVoodoo2/releases/download/v${DGV2_VER}/dgVoodoo${DGV2_DOWNLOAD}.zip" \
"${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.zip"
then then
if unpack "${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then if "$pw_7z" x -y "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.zip" -o"${PW_VULKAN_DIR}/dgvoodoo2-tmp" ; then
try_remove_file "${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}.tar.xz" try_remove_file "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.zip"
mkdir -p "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}/x32"
for DGV2_DLL in Glide Glide2x Glide3x D3D8 D3D9 D3DImm DDraw ; do
mv -f "${PW_VULKAN_DIR}/dgvoodoo2-tmp/3Dfx/x86/${DGV2_DLL}.dll" "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}/x32/${DGV2_DLL,,}.dll"
mv -f "${PW_VULKAN_DIR}/dgvoodoo2-tmp/MS/x86/${DGV2_DLL}.dll" "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}/x32/${DGV2_DLL,,}.dll"
done
try_remove_dir "${PW_VULKAN_DIR}/dgvoodoo2-tmp"
else else
try_remove_file "${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}.tar.xz" try_remove_file "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.zip"
try_remove_dir "${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}" try_remove_dir "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}"
try_remove_dir "${PW_VULKAN_DIR}/dgvoodoo2-tmp"
yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1 yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
fi fi
...@@ -1932,44 +1940,60 @@ start_portwine () { ...@@ -1932,44 +1940,60 @@ start_portwine () {
try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_force_link_file "${PHYSX_PATH}/cudart32_65.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/"
unset CP_VKD3D_FILES CP_DXVK_FILES CP_D8VK_FILES CP_WINE_FILES PATH_TO_VKD3D_FILES PATH_TO_DXVK_FILES unset CP_VKD3D_FILES CP_DXVK_FILES CP_D8VK_FILES CP_DGV2_FILES CP_WINE_FILES
unset PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES PATH_TO_GALLIUM_NINE_FILES
case "${PW_VULKAN_USE}" in case "${PW_VULKAN_USE}" in
0) # WINED3D OPENGL 0) # WINED3D OPENGL
print_info "Use WINED3D OpenGL" print_info "Use WINED3D OpenGL"
export GL_YIELD="NOTHING" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
export mesa_glthread=true CP_DGV2_FILES="glide glide2x glide3x"
export WINE_D3D_CONFIG='renderer=gl' CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core"
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export WINE_D3D_CONFIG="renderer=gl"
export ENABLE_VKBASALT="0"
;; ;;
1) # STABLE DXVK AND VKD3D 1) # STABLE DXVK AND VKD3D
print_info "DGVOODOO2 v.${DGV2_VER} in use"
print_info "DXVK v.${DXVK_STABLE_VER} in use" print_info "DXVK v.${DXVK_STABLE_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use" print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1" CP_DGV2_FILES="ddraw d3dimm d3d8 glide glide2x glide3x"
CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi openvr_api_dxvk" CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi openvr_api_dxvk"
CP_D8VK_FILES="d3d8" CP_VKD3D_FILES="d3d12 libvkd3d-shader-1"
CP_WINE_FILES="ddraw d3d10_1 d3d10" CP_WINE_FILES="d3d10_1 d3d10"
;; ;;
2) # NEWEST DXVK AND VKD3D 2) # NEWEST DXVK AND VKD3D
print_info "DGVOODOO2 v.${DGV2_VER} in use"
print_info "D8VK v.${D8VK_VER} in use"
print_info "DXVK v.${DXVK_GIT_VER} in use" print_info "DXVK v.${DXVK_GIT_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use" print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1" CP_DGV2_FILES="ddraw d3dimm glide glide2x glide3x"
CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi openvr_api_dxvk"
CP_D8VK_FILES="d3d8" CP_D8VK_FILES="d3d8"
CP_WINE_FILES="ddraw d3d10_1 d3d10" CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi openvr_api_dxvk"
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d10_1 d3d10"
;; ;;
3) # GALLIUM NINE 3) # GALLIUM NINE
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)" print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
PATH_TO_GALLIUM_NINE_FILES="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
try_copy_file "${PATH_TO_GALLIUM_NINE_FILES}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll"
try_copy_file "${PATH_TO_GALLIUM_NINE_FILES}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
CP_DGV2_FILES="glide glide2x glide3x"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 dxgi d3d12 d3d12core" CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 dxgi d3d12 d3d12core"
PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}" export __GL_YIELD="NOTHING"
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll" export mesa_glthread="true"
try_force_link_file "${PW_GALLIUM_NINE_PATH}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll" export WINE_D3D_CONFIG="renderer=gl"
var_winedlloverride_update "d3d9=n" export ENABLE_VKBASALT="0"
export PW_MANGOHUD="0"
export PW_WINE_FULLSCREEN_FSR="0"
unset FIND_D3D_MODULE D3D_MODULE_PATH unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then if ! check_flatpak ; then
FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null) FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null)
if [[ ! -z "$FIND_D3D_MODULE" ]] ; then if [[ ! -z "$FIND_D3D_MODULE" ]] ; then
...@@ -1977,8 +2001,8 @@ start_portwine () { ...@@ -1977,8 +2001,8 @@ start_portwine () {
IFS=$'\n' IFS=$'\n'
for D3D_MP in $FIND_D3D_MODULE ; do for D3D_MP in $FIND_D3D_MODULE ; do
if [[ ! -z "$D3D_MODULE_PATH" ]] if [[ ! -z "$D3D_MODULE_PATH" ]]
then D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}" then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
else D3D_MODULE_PATH="/run/host${D3D_MP}" else export D3D_MODULE_PATH="/run/host${D3D_MP}"
fi fi
done done
IFS=$old_IFS IFS=$old_IFS
...@@ -1992,43 +2016,41 @@ start_portwine () { ...@@ -1992,43 +2016,41 @@ start_portwine () {
export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d" export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}" print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
fi fi
export mesa_glthread=true var_winedlloverride_update "d3d9=n"
export ENABLE_VKBASALT=0
export PW_MANGOHUD=0
export WINE_FULLSCREEN_FSR=0
;; ;;
4) # GALLIUM ZINK 4) # GALLIUM ZINK
print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)" print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DGV2_FILES="glide glide2x glide3x"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core"
export GL_YIELD="NOTHING" export __GL_YIELD="NOTHING"
export mesa_glthread=true export mesa_glthread="true"
export WINE_D3D_CONFIG='renderer=gl' export WINE_D3D_CONFIG="renderer=gl"
export __GLX_VENDOR_LIBRARY_NAME=mesa export __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=zink export MESA_LOADER_DRIVER_OVERRIDE=zink
if ! check_wayland_session \ if ! check_wayland_session && [[ "${PW_USE_GAMESCOPE}" != "1" ]] ; then
|| [[ "${PW_USE_GAMESCOPE}" != "1" ]]
then
export LIBGL_KOPPER_DRI2="1" export LIBGL_KOPPER_DRI2="1"
fi fi
;; ;;
5) # LEGACY DXVK AND DGVOODOO2 5) # LEGACY DXVK
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
print_info "DGVOODOO2 v.${DGV2_VER} in use" print_info "DGVOODOO2 v.${DGV2_VER} in use"
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DGV2_FILES="ddraw d3dimm glide glide2x glide3x" CP_DGV2_FILES="ddraw d3dimm d3d8 glide glide2x glide3x"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi" CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
CP_WINE_FILES="d3d8 d3d12 d3d12core" CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core"
;; ;;
6) # WINED3D VULKAN (DAMAVAND) 6) # WINED3D VULKAN (DAMAVAND)
print_info "DGVOODOO2 v.${DGV2_VER} in use"
print_info "Use DAMAVAND (DirectX to wined3d vulkan)" print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
CP_WINE_FILES="ddraw d3d8 d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi d3d12 d3d12core" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
export WINE_D3D_CONFIG='renderer=vulkan' CP_DGV2_FILES="ddraw d3dimm d3d8 d3d9 glide glide2x glide3x"
;; CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
7) # LEGACY DXVK CP_WINE_FILES="d3d11 d3d10core d3d10_1 d3d10 dxgi d3d12 d3d12core"
print_info "DXVK v.${DXVK_LEGACY_VER} in use" export WINE_D3D_CONFIG="renderer=vulkan"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
;; ;;
esac esac
...@@ -2082,22 +2104,22 @@ start_portwine () { ...@@ -2082,22 +2104,22 @@ start_portwine () {
fi fi
if [[ ! -z "$CP_D8VK_FILES" ]] ; then if [[ ! -z "$CP_D8VK_FILES" ]] ; then
print_info "Try link native D8VK file..." print_info "Try copy native D8VK files..."
PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}" PATH_TO_D8VK_FILES="${PW_VULKAN_DIR}/d8vk-${D8VK_VER}"
for wine_d8vk_dll in $CP_D8VK_FILES ; do for wine_d8vk_dll in $CP_D8VK_FILES ; do
try_force_link_file "${PATH_TO_D8VK_FILES}/x32/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_copy_file "${PATH_TO_D8VK_FILES}/x32/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
try_force_link_file "${PATH_TO_D8VK_FILES}/x64/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/" try_copy_file "${PATH_TO_D8VK_FILES}/x64/${wine_d8vk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/"
var_winedlloverride_update "${wine_d8vk_dll}=n" var_winedlloverride_update "${wine_d8vk_dll}=n"
done done
fi fi
if [[ ! -z "$CP_DGV2_FILES" ]] ; then if [[ ! -z "$CP_DGV2_FILES" ]] ; then
print_info "Try copy native DGVOODOO2 file..." print_info "Try copy native DGVOODOO2 files..."
PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-v${DGV2_VER}" PATH_TO_DGV2_FILES="${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}"
for wine_dgv2_dll in $CP_DGV2_FILES ; do for wine_dgv2_dll in $CP_DGV2_FILES ; do
try_copy_file "${PATH_TO_DGV2_FILES}/x32/${wine_dgv2_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/" try_copy_file "${PATH_TO_DGV2_FILES}/x32/${wine_dgv2_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/"
var_winedlloverride_update "${wine_dgv2_dll}=n"
done done
if [[ ! -f "${WINEPREFIX}/drive_c/windows/syswow64/dgVoodoo.conf" ]] ; then if [[ ! -f "${WINEPREFIX}/drive_c/windows/syswow64/dgVoodoo.conf" ]] ; then
echo "[General] echo "[General]
OutputAPI = d3d11_fl11_0 OutputAPI = d3d11_fl11_0
...@@ -2107,7 +2129,6 @@ OutputAPI = d3d11_fl11_0 ...@@ -2107,7 +2129,6 @@ OutputAPI = d3d11_fl11_0
[DirectX] [DirectX]
dgVoodooWatermark = false" > "${WINEPREFIX}/drive_c/windows/syswow64/dgVoodoo.conf" dgVoodooWatermark = false" > "${WINEPREFIX}/drive_c/windows/syswow64/dgVoodoo.conf"
fi fi
var_winedlloverride_update "ddraw=n"
fi fi
if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then
...@@ -2703,8 +2724,7 @@ pw_gui_for_edit_db () { ...@@ -2703,8 +2724,7 @@ pw_gui_for_edit_db () {
PW_USE_SYSTEM_VK_LAYERS_INFO=$(eval_gettext 'Use system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers') PW_USE_SYSTEM_VK_LAYERS_INFO=$(eval_gettext 'Use system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers')
PW_USE_OBS_VKCAPTURE_INFO=$(eval_gettext 'Enable the ability to write to OBS Studio using obs-vkcapture (ATTENTION: the forced use of system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers will be enabled)') PW_USE_OBS_VKCAPTURE_INFO=$(eval_gettext 'Enable the ability to write to OBS Studio using obs-vkcapture (ATTENTION: the forced use of system mangohud, vkBasalt, obs-vkcapture and other applications using vulkan layers will be enabled)')
PW_DISABLE_COMPOSITING_INFO=$(eval_gettext 'Disable desktop compositing (effects). It often improves performance.') PW_DISABLE_COMPOSITING_INFO=$(eval_gettext 'Disable desktop compositing (effects). It often improves performance.')
PW_USE_GAMESCOPE_INFO=$(eval_gettext " PW_USE_GAMESCOPE_INFO=$(eval_gettext '<b>Super + F :</b> Toggle fullscreen
<b>Super + F :</b> Toggle fullscreen
<b>Super + N :</b> Toggle nearest neighbour filtering <b>Super + N :</b> Toggle nearest neighbour filtering
<b>Super + U :</b> Toggle FSR upscaling <b>Super + U :</b> Toggle FSR upscaling
<b>Super + Y :</b> Toggle NIS upscaling <b>Super + Y :</b> Toggle NIS upscaling
...@@ -2712,7 +2732,7 @@ pw_gui_for_edit_db () { ...@@ -2712,7 +2732,7 @@ pw_gui_for_edit_db () {
<b>Super + O :</b> Decrease FSR sharpness by 1 <b>Super + O :</b> Decrease FSR sharpness by 1
<b>Super + S :</b> Take screenshot (currently goes to /tmp/gamescope_DATE.png) <b>Super + S :</b> Take screenshot (currently goes to /tmp/gamescope_DATE.png)
<b>Super + G :</b> Toggle keyboard grab <b>Super + G :</b> Toggle keyboard grab
<b>Super + C :</b> Update clipboard") <b>Super + C :</b> Update clipboard')
edit_db_field_add () { edit_db_field_add () {
for int_to_boole in $@ ; do for int_to_boole in $@ ; do
...@@ -3646,19 +3666,17 @@ portwine_start_debug () { ...@@ -3646,19 +3666,17 @@ portwine_start_debug () {
if [[ "${PW_VULKAN_USE}" = "0" ]] ; then if [[ "${PW_VULKAN_USE}" = "0" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d opengl" >> "${PORT_WINE_PATH}/PortProton.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d opengl" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "1" ]] ; then elif [[ "${PW_VULKAN_USE}" = "1" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER} and VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/PortProton.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER}, VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "2" ]] ; then elif [[ "${PW_VULKAN_USE}" = "2" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER} and VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/PortProton.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER}, VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "3" ]] ; then elif [[ "${PW_VULKAN_USE}" = "3" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - Native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE} - Native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "4" ]] ; then elif [[ "${PW_VULKAN_USE}" = "4" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - OpenGL on MESA vulkan drivers" >> "${PORT_WINE_PATH}/PortProton.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE} - OpenGL on MESA vulkan drivers" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "5" ]] ; then elif [[ "${PW_VULKAN_USE}" = "5" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER} and DGVOODOO2 v.${DGV2_VER}" >> "${PORT_WINE_PATH}/PortProton.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "6" ]] ; then elif [[ "${PW_VULKAN_USE}" = "6" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d vulkan" >> "${PORT_WINE_PATH}/PortProton.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d vulkan" >> "${PORT_WINE_PATH}/PortProton.log"
elif [[ "${PW_VULKAN_USE}" = "7" ]] ; then
echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER}" >> "${PORT_WINE_PATH}/PortProton.log"
else else
echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/PortProton.log" echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/PortProton.log"
fi fi
...@@ -3833,16 +3851,19 @@ EOF ...@@ -3833,16 +3851,19 @@ EOF
} }
pw_edit_db () { pw_edit_db () {
PW_EDIT_DB_LIST="PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF 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_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_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME" PW_EDIT_DB_LIST="PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF 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_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_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE
PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING
PW_USE_RUNTIME
"
if check_wayland_session ; then if check_wayland_session ; then
rm_from_var PW_EDIT_DB_LIST "PW_USE_US_LAYOUT" rm_from_var PW_EDIT_DB_LIST "PW_USE_US_LAYOUT"
fi fi
if check_flatpak ; then if check_flatpak ; then
rm_from_var PW_EDIT_DB_LIST "PW_USE_RUNTIME" rm_from_var PW_EDIT_DB_LIST "PW_USE_RUNTIME"
fi fi
pw_gui_for_edit_db $PW_EDIT_DB_LIST pw_gui_for_edit_db $PW_EDIT_DB_LIST
# PW_FORCE_USE_VSYNC HEAP_DELAY_FREE # PW_FORCE_USE_VSYNC HEAP_DELAY_FREE
......
...@@ -347,20 +347,22 @@ popd 1>/dev/null || fatal ...@@ -347,20 +347,22 @@ popd 1>/dev/null || fatal
check_nvidia_rtx && check_variables PW_VULKAN_USE "2" check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
SORT_OPENGL="$(eval_gettext "OPENGL (For video cards without VULKAN)")" SORT_OPENGL="$(eval_gettext "WINED3D OPENGL (For video cards without VULKAN)")"
SORT_LEGACY="$(eval_gettext "Legacy") DXVK ${DXVK_LEGACY_VER}, DGVOODOO2 ${DGV2_VER} (Vulkan v1.1)" SORT_VULKAN="$(eval_gettext "WINED3D VULKAN (DAMAVAND)")"
SORT_LEGACY="$(eval_gettext "Legacy") DXVK ${DXVK_LEGACY_VER} (Vulkan v1.1)"
SORT_STABLE="$(eval_gettext "Stable") DXVK ${DXVK_STABLE_VER}, VKD3D ${VKD3D_STABLE_VER} (Vulkan v1.2)" SORT_STABLE="$(eval_gettext "Stable") DXVK ${DXVK_STABLE_VER}, VKD3D ${VKD3D_STABLE_VER} (Vulkan v1.2)"
SORT_NEWEST="$(eval_gettext "Newest") DXVK ${DXVK_GIT_VER}, VKD3D ${VKD3D_GIT_VER} (Vulkan v1.3)" SORT_NEWEST="$(eval_gettext "Newest") DXVK ${DXVK_GIT_VER}, VKD3D ${VKD3D_GIT_VER} (Vulkan v1.3)"
SORT_G_NINE="$(eval_gettext "GALLIUM_NINE (DX9 for MESA)")" SORT_G_NINE="$(eval_gettext "GALLIUM_NINE (DX9 for MESA)")"
SORT_G_ZINK="$(eval_gettext "GALLIUM_ZINK (OpenGL for VULKAN)")" SORT_G_ZINK="$(eval_gettext "GALLIUM_ZINK (OpenGL for VULKAN)")"
case "${PW_VULKAN_USE}" in case "${PW_VULKAN_USE}" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE" ;; 0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_VULKAN" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;; 6) PW_DEFAULT_VULKAN_USE="$SORT_VULKAN!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;;
5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;; 1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;;
4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_NINE!$SORT_OPENGL" ;; 5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;;
3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL" ;; 4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;; 3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL!$SORT_VULKAN" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;;
esac esac
if [[ ! -z "${PORTWINE_DB_FILE}" ]] ; then if [[ ! -z "${PORTWINE_DB_FILE}" ]] ; then
...@@ -604,6 +606,7 @@ case "${VULKAN_MOD}" in ...@@ -604,6 +606,7 @@ case "${VULKAN_MOD}" in
"$SORT_G_NINE" ) export PW_VULKAN_USE="3" ;; "$SORT_G_NINE" ) export PW_VULKAN_USE="3" ;;
"$SORT_G_ZINK" ) export PW_VULKAN_USE="4" ;; "$SORT_G_ZINK" ) export PW_VULKAN_USE="4" ;;
"$SORT_LEGACY" ) export PW_VULKAN_USE="5" ;; "$SORT_LEGACY" ) export PW_VULKAN_USE="5" ;;
"$SORT_VULKAN" ) export PW_VULKAN_USE="6" ;;
esac esac
init_wine_ver init_wine_ver
......
...@@ -50,7 +50,7 @@ export PW_WINE_FULLSCREEN_FSR="1" ...@@ -50,7 +50,7 @@ export PW_WINE_FULLSCREEN_FSR="1"
###DXVK_AND_VKD3D### ###DXVK_AND_VKD3D###
export VKD3D_LIMIT_TESS_FACTORS="64" export VKD3D_LIMIT_TESS_FACTORS="64"
export D8VK_VER="1.7.1-2367" export D8VK_VER="1.7.1-2367"
export DGV2_VER="2.8.2" export DGV2_VER="2.81.3"
export DXVK_LEGACY_VER="1.6.1" export DXVK_LEGACY_VER="1.6.1"
export DXVK_STABLE_VER="1.10.3-28" export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.3.1-9" export DXVK_GIT_VER="2.3.1-9"
......
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