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 () { ...@@ -78,7 +78,7 @@ generate_pot () {
for lang in $LANGUAGES_LIST for lang in $LANGUAGES_LIST
do do
echo "${lang}" 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_PO="${PORT_WINE_PATH}/data/locales/${lang}/LC_MESSAGES/PortProton.po"
LANG_MO="${PORT_WINE_PATH}/data/locales/${lang}/LC_MESSAGES/PortProton.mo" LANG_MO="${PORT_WINE_PATH}/data/locales/${lang}/LC_MESSAGES/PortProton.mo"
TEMPLATE_POT="${PORT_WINE_PATH}/data/locales/PortProton.pot" TEMPLATE_POT="${PORT_WINE_PATH}/data/locales/PortProton.pot"
...@@ -311,28 +311,43 @@ check_start_from_steam () { ...@@ -311,28 +311,43 @@ check_start_from_steam () {
fi 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 () { check_gamescope_session () {
if [[ ! -z "$GAMESCOPE_IN_USE" ]] if [[ ! -z "$GAMESCOPE_SESSION_IN_USE" ]]
then [[ "$GAMESCOPE_IN_USE" == 1 ]] && return 0 || return 1 then [[ "$GAMESCOPE_SESSION_IN_USE" == 1 ]] && return 0 || return 1
fi fi
if echo "${DESKTOP_SESSION}" | grep -i "gamescope" &>/dev/null ; then if echo "${DESKTOP_SESSION}" | grep -i "gamescope" &>/dev/null ; then
export GAMESCOPE_IN_USE=1 export GAMESCOPE_SESSION_IN_USE=1
return 0 return 0
else else
export GAMESCOPE_IN_USE=0 export GAMESCOPE_SESSION_IN_USE=0
return 1 return 1
fi fi
} }
check_wayland_session () { # gamescope use in PortProton
if [[ ! -z "$WAYLAND_IN_USE" ]] check_gamescope_use () {
then [[ "$WAYLAND_IN_USE" == 1 ]] && return 0 || return 1 if [[ ! -z "$GAMESCOPE_USE_IN_USE" ]]
then [[ "$GAMESCOPE_USE_IN_USE" == 1 ]] && return 0 || return 1
fi fi
if echo "${XDG_SESSION_TYPE}" | grep -i "wayland" &>/dev/null ; then if [[ "${PW_USE_GAMESCOPE}" = "1" ]] ; then
export WAYLAND_IN_USE=1 export GAMESCOPE_USE_IN_USE=1
return 0 return 0
else else
export WAYLAND_IN_USE=0 export GAMESCOPE_USE_IN_USE=0
return 1 return 1
fi fi
} }
...@@ -994,7 +1009,7 @@ pw_check_and_download_dxvk_and_vkd3d () { ...@@ -994,7 +1009,7 @@ pw_check_and_download_dxvk_and_vkd3d () {
then then
if "$pw_7z" x -y "${PW_VULKAN_DIR}/dgvoodoo2-${DGV2_VER}.zip" -o"${PW_VULKAN_DIR}/dgvoodoo2-tmp" 1>/dev/null ; 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" 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 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" 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 done
...@@ -1796,6 +1811,11 @@ start_portwine () { ...@@ -1796,6 +1811,11 @@ start_portwine () {
else export WINE_HEAP_DELAY_FREE="0" else export WINE_HEAP_DELAY_FREE="0"
fi 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 ]] if [[ "${PW_WINE_ALLOW_XIM}" == 1 ]]
then export WINE_ALLOW_XIM="1" then export WINE_ALLOW_XIM="1"
else export WINE_ALLOW_XIM="0" else export WINE_ALLOW_XIM="0"
...@@ -1965,7 +1985,11 @@ start_portwine () { ...@@ -1965,7 +1985,11 @@ 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"
if check_gamescope_use || check_gamescope_session && [[ "${ENABLE_VKBASALT}" = "1" ]] ; then
export ENABLE_VKBASALT="1"
else
export ENABLE_VKBASALT="0" export ENABLE_VKBASALT="0"
fi
;; ;;
1) 1)
# STABLE DXVK AND VKD3D # STABLE DXVK AND VKD3D
...@@ -2004,9 +2028,6 @@ start_portwine () { ...@@ -2004,9 +2028,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"
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)
...@@ -2031,6 +2052,14 @@ start_portwine () { ...@@ -2031,6 +2052,14 @@ start_portwine () {
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}" print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
fi fi
var_winedlloverride_update "d3d9=n" 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) 4)
# GALLIUM ZINK # GALLIUM ZINK
...@@ -2044,7 +2073,7 @@ start_portwine () { ...@@ -2044,7 +2073,7 @@ start_portwine () {
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 && [[ "${PW_USE_GAMESCOPE}" != "1" ]] ; then if ! check_wayland_session && ! check_gamescope_use || ! check_gamescope_session ; then
export LIBGL_KOPPER_DRI2="1" export LIBGL_KOPPER_DRI2="1"
fi fi
;; ;;
...@@ -3900,8 +3929,7 @@ pw_edit_db () { ...@@ -3900,8 +3929,7 @@ pw_edit_db () {
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_HEAP_DELAY_FREE PW_FORCE_USE_VSYNC PW_HEAP_ZERO_MEMORY_FREE
# PW_FORCE_USE_VSYNC HEAP_DELAY_FREE
} }
pw_autoinstall_from_db () { 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