Commit a6775ae4 authored by Vladislav's avatar Vladislav

Fix gamescope with gallium nine on amd (and steamdeck), allow use vkbasalt with…

Fix gamescope with gallium nine on amd (and steamdeck), allow use vkbasalt with gamescope and steamdeck on Wined3d opengl and Gallium nine
parent cd895d5e
......@@ -78,7 +78,7 @@ generate_pot () {
for lang in $LANGUAGES_LIST
do
echo "${lang}"
mkdir -p "${PORT_WINE_PATH}/data/locales/${lang}/LC_MESSAGES/"
create_new_dir "${PORT_WINE_PATH}/data/locales/${lang}/LC_MESSAGES/"
LANG_PO="${PORT_WINE_PATH}/data/locales/${lang}/LC_MESSAGES/PortProton.po"
LANG_MO="${PORT_WINE_PATH}/data/locales/${lang}/LC_MESSAGES/PortProton.mo"
TEMPLATE_POT="${PORT_WINE_PATH}/data/locales/PortProton.pot"
......@@ -311,28 +311,43 @@ check_start_from_steam () {
fi
}
check_wayland_session () {
if [[ ! -z "$WAYLAND_IN_USE" ]]
then [[ "$WAYLAND_IN_USE" == 1 ]] && return 0 || return 1
fi
if echo "${XDG_SESSION_TYPE}" | grep -i "wayland" &>/dev/null ; then
export WAYLAND_IN_USE=1
return 0
else
export WAYLAND_IN_USE=0
return 1
fi
}
# steamdeck game session
check_gamescope_session () {
if [[ ! -z "$GAMESCOPE_IN_USE" ]]
then [[ "$GAMESCOPE_IN_USE" == 1 ]] && return 0 || return 1
if [[ ! -z "$GAMESCOPE_SESSION_IN_USE" ]]
then [[ "$GAMESCOPE_SESSION_IN_USE" == 1 ]] && return 0 || return 1
fi
if echo "${DESKTOP_SESSION}" | grep -i "gamescope" &>/dev/null ; then
export GAMESCOPE_IN_USE=1
export GAMESCOPE_SESSION_IN_USE=1
return 0
else
export GAMESCOPE_IN_USE=0
export GAMESCOPE_SESSION_IN_USE=0
return 1
fi
}
check_wayland_session () {
if [[ ! -z "$WAYLAND_IN_USE" ]]
then [[ "$WAYLAND_IN_USE" == 1 ]] && return 0 || return 1
# gamescope use in PortProton
check_gamescope_use () {
if [[ ! -z "$GAMESCOPE_USE_IN_USE" ]]
then [[ "$GAMESCOPE_USE_IN_USE" == 1 ]] && return 0 || return 1
fi
if echo "${XDG_SESSION_TYPE}" | grep -i "wayland" &>/dev/null ; then
export WAYLAND_IN_USE=1
if [[ "${PW_USE_GAMESCOPE}" = "1" ]] ; then
export GAMESCOPE_USE_IN_USE=1
return 0
else
export WAYLAND_IN_USE=0
export GAMESCOPE_USE_IN_USE=0
return 1
fi
}
......@@ -994,7 +1009,7 @@ pw_check_and_download_dxvk_and_vkd3d () {
then
if "$pw_7z" x -y "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.zip" -o"${PW_VULKAN_DIR}/dgvoodoo2-tmp" 1>/dev/null ; then
try_remove_file "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.zip"
mkdir -p "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}/x32"
create_new_dir "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}/x32"
for DGV2_DLL_GLIDE in Glide Glide2x Glide3x ; do
mv -f "${PW_VULKAN_DIR}/dgvoodoo2-tmp/3Dfx/x86/${DGV2_DLL_GLIDE}.dll" "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}/x32/${DGV2_DLL_GLIDE,,}.dll"
done
......@@ -1796,6 +1811,11 @@ start_portwine () {
else export WINE_HEAP_DELAY_FREE="0"
fi
if [[ "${PW_HEAP_ZERO_MEMORY}" == 1 ]]
then export WINE_HEAP_ZERO_MEMORY="1"
else export WINE_HEAP_ZERO_MEMORY="0"
fi
if [[ "${PW_WINE_ALLOW_XIM}" == 1 ]]
then export WINE_ALLOW_XIM="1"
else export WINE_ALLOW_XIM="0"
......@@ -1832,7 +1852,7 @@ start_portwine () {
case "$PW_FORCE_USE_VSYNC" in # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
0)
export vblank_mode=0
export vblank_mode=0
export __GL_SYNC_TO_VBLANK=0
;;
1)
......@@ -1965,7 +1985,11 @@ start_portwine () {
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export WINE_D3D_CONFIG="renderer=gl"
export ENABLE_VKBASALT="0"
if check_gamescope_use || check_gamescope_session && [[ "${ENABLE_VKBASALT}" = "1" ]] ; then
export ENABLE_VKBASALT="1"
else
export ENABLE_VKBASALT="0"
fi
;;
1)
# STABLE DXVK AND VKD3D
......@@ -2004,9 +2028,6 @@ start_portwine () {
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export WINE_D3D_CONFIG="renderer=gl"
export ENABLE_VKBASALT="0"
export PW_MANGOHUD="0"
export PW_WINE_FULLSCREEN_FSR="0"
unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then
FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null)
......@@ -2031,6 +2052,14 @@ start_portwine () {
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
fi
var_winedlloverride_update "d3d9=n"
if check_gamescope_use || check_gamescope_session && [[ ! -z $(echo "$LSPCI_VGA" | grep -i "AMD") ]] ; then
export AMD_DEBUG="nodcc"
fi
if check_gamescope_use || check_gamescope_session && [[ "${ENABLE_VKBASALT}" = "1" ]] ; then
export ENABLE_VKBASALT="1"
else
export ENABLE_VKBASALT="0"
fi
;;
4)
# GALLIUM ZINK
......@@ -2044,7 +2073,7 @@ start_portwine () {
export WINE_D3D_CONFIG="renderer=gl"
export __GLX_VENDOR_LIBRARY_NAME=mesa
export MESA_LOADER_DRIVER_OVERRIDE=zink
if ! check_wayland_session && [[ "${PW_USE_GAMESCOPE}" != "1" ]] ; then
if ! check_wayland_session && ! check_gamescope_use || ! check_gamescope_session ; then
export LIBGL_KOPPER_DRI2="1"
fi
;;
......@@ -3900,8 +3929,7 @@ pw_edit_db () {
rm_from_var PW_EDIT_DB_LIST "PW_USE_RUNTIME"
fi
pw_gui_for_edit_db $PW_EDIT_DB_LIST
# PW_FORCE_USE_VSYNC HEAP_DELAY_FREE
# PW_HEAP_DELAY_FREE PW_FORCE_USE_VSYNC PW_HEAP_ZERO_MEMORY_FREE
}
pw_autoinstall_from_db () {
......
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