Unverified Commit e7691375 authored by Htylol's avatar Htylol Committed by GitHub

gallium zink move to 3D api

parent d4bba69a
...@@ -1752,10 +1752,6 @@ start_portwine () { ...@@ -1752,10 +1752,6 @@ start_portwine () {
var_winedlloverride_update "nvngx,_nvngx=" var_winedlloverride_update "nvngx,_nvngx="
fi fi
if [[ "${PW_USE_GALLIUM_ZINK}" == 1 ]]
then export PW_VULKAN_USE=5
fi
if [[ "${PW_HEAP_DELAY_FREE}" == 1 ]] if [[ "${PW_HEAP_DELAY_FREE}" == 1 ]]
then export WINE_HEAP_DELAY_FREE="1" then export WINE_HEAP_DELAY_FREE="1"
else export WINE_HEAP_DELAY_FREE="0" else export WINE_HEAP_DELAY_FREE="0"
...@@ -1926,17 +1922,6 @@ start_portwine () { ...@@ -1926,17 +1922,6 @@ start_portwine () {
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'
elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then
print_info "Use OpenGL Zink"
export GL_YIELD="NOTHING"
export mesa_glthread=true
export WINE_D3D_CONFIG='renderer=gl'
export __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=zink
export GALLIUM_DRIVER=zink
if [[ "${XDG_SESSION_TYPE}" != "wayland" ]] || [[ "${PW_USE_GAMESCOPE}" != 1 ]] ; then
export LIBGL_KOPPER_DRI2=1
fi
elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then elif [[ "${PW_VULKAN_USE}" == "3" ]] ; then
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)" print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
export PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}" export PW_GALLIUM_NINE_PATH="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
...@@ -1972,6 +1957,16 @@ start_portwine () { ...@@ -1972,6 +1957,16 @@ start_portwine () {
export PW_MANGOHUD=0 export PW_MANGOHUD=0
export WINE_FULLSCREEN_FSR=0 export WINE_FULLSCREEN_FSR=0
elif [[ "${PW_VULKAN_USE}" == "4" ]] ; then elif [[ "${PW_VULKAN_USE}" == "4" ]] ; then
print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)"
export GL_YIELD="NOTHING"
export mesa_glthread=true
export WINE_D3D_CONFIG='renderer=gl'
export __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=zink
if [[ "${XDG_SESSION_TYPE}" != "wayland" ]] || [[ "${PW_USE_GAMESCOPE}" != 1 ]] ; then
export LIBGL_KOPPER_DRI2=1
fi
elif [[ "${PW_VULKAN_USE}" == "5" ]] ; then
print_info "Use DAMAVAND (DirectX to wined3d vulkan)" print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
export WINE_D3D_CONFIG='renderer=vulkan' export WINE_D3D_CONFIG='renderer=vulkan'
else else
...@@ -2632,7 +2627,6 @@ pw_gui_for_edit_db () { ...@@ -2632,7 +2627,6 @@ pw_gui_for_edit_db () {
PW_RESTORE_RESOLUTION_INFO=$(eval_gettext 'Remember the screen resolution when starting the game and return it when closing (useful for games that change the screen resolution when closing)') PW_RESTORE_RESOLUTION_INFO=$(eval_gettext 'Remember the screen resolution when starting the game and return it when closing (useful for games that change the screen resolution when closing)')
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_USE_GALLIUM_ZINK_INFO=$(eval_gettext 'Use the zink driver (OpenGL on top of Vulkan), allows you to use vkBasalt in OpenGL games (ATTENTION: vulkan support is required, wined3d (opengl) is used instead of dxvk, suitable for games on OpenGL and older versions of DirectX, artifacts are possible on newer versions of DirectX)')
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
...@@ -3581,6 +3575,8 @@ portwine_start_debug () { ...@@ -3581,6 +3575,8 @@ portwine_start_debug () {
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"
elif [[ "${PW_VULKAN_USE}" = "5" ]] ; 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"
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"
...@@ -3762,14 +3758,14 @@ pw_edit_db () { ...@@ -3762,14 +3758,14 @@ pw_edit_db () {
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_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_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY \
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_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_GALLIUM_ZINK PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_USE_OBS_VKCAPTURE PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME
else else
pw_gui_for_edit_db \ pw_gui_for_edit_db \
PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_VKBASALT_USER_CONF PW_NO_ESYNC PW_NO_FSYNC PW_USE_RAY_TRACING \ 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_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_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_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_GALLIUM_ZINK PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_USE_GAMESCOPE PW_DISABLE_COMPOSITING PW_USE_RUNTIME
fi fi
# PW_FORCE_USE_VSYNC HEAP_DELAY_FREE # PW_FORCE_USE_VSYNC HEAP_DELAY_FREE
} }
......
...@@ -323,13 +323,15 @@ check_nvidia_rtx && check_variables PW_VULKAN_USE "2" ...@@ -323,13 +323,15 @@ check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
SORT_OPENGL="$(eval_gettext "OPENGL (For video cards without VULKAN)")" SORT_OPENGL="$(eval_gettext "OPENGL (For video cards without VULKAN)")"
SORT_STABLE="$(eval_gettext "Stable") DXVK ${DXVK_STABLE_VER}, VKD3D ${VKD3D_STABLE_VER}" SORT_STABLE="$(eval_gettext "Stable") DXVK ${DXVK_STABLE_VER}, VKD3D ${VKD3D_STABLE_VER}"
SORT_NEWEST="$(eval_gettext "Newest") DXVK ${DXVK_GIT_VER}, VKD3D ${VKD3D_GIT_VER}" SORT_NEWEST="$(eval_gettext "Newest") DXVK ${DXVK_GIT_VER}, VKD3D ${VKD3D_GIT_VER}"
SORT_GALLIUM="$(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)")"
case "${PW_VULKAN_USE}" in case "${PW_VULKAN_USE}" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_STABLE!$SORT_NEWEST!$SORT_GALLIUM" ;; 0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_STABLE!$SORT_NEWEST!$SORT_G_NINE!$SORT_G_ZINK" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_GALLIUM" ;; 1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;;
3) PW_DEFAULT_VULKAN_USE="$SORT_GALLIUM!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL" ;; 3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_STABLE!$SORT_NEWEST!$SORT_OPENGL!$SORT_G_ZINK" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL!$SORT_GALLIUM" ;; 4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_OPENGL!$SORT_STABLE!$SORT_NEWEST!$SORT_G_NINE" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL!$SORT_G_NINE!$SORT_G_ZINK" ;;
esac esac
if [[ ! -z "${PORTWINE_DB_FILE}" ]] ; then if [[ ! -z "${PORTWINE_DB_FILE}" ]] ; then
...@@ -568,7 +570,8 @@ case "${VULKAN_MOD}" in ...@@ -568,7 +570,8 @@ case "${VULKAN_MOD}" in
"$SORT_OPENGL" ) export PW_VULKAN_USE="0" ;; "$SORT_OPENGL" ) export PW_VULKAN_USE="0" ;;
"$SORT_STABLE" ) export PW_VULKAN_USE="1" ;; "$SORT_STABLE" ) export PW_VULKAN_USE="1" ;;
"$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;; "$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;;
"$SORT_GALLIUM" ) export PW_VULKAN_USE="3" ;; "$SORT_G_NINE" ) export PW_VULKAN_USE="3" ;;
"$SORT_G_ZINK" ) export PW_VULKAN_USE="4" ;;
esac esac
init_wine_ver init_wine_ver
......
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