Fix gamescope with gallium nine on amd (and steamdeck), allow use vkbasalt with gamescope and steamdeck on Wined3d opengl and Gallium nine
This commit is contained in:
parent
cd895d5e19
commit
a6775ae48e
@ -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,19 +311,6 @@ check_start_from_steam () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
check_gamescope_session () {
|
|
||||||
if [[ ! -z "$GAMESCOPE_IN_USE" ]]
|
|
||||||
then [[ "$GAMESCOPE_IN_USE" == 1 ]] && return 0 || return 1
|
|
||||||
fi
|
|
||||||
if echo "${DESKTOP_SESSION}" | grep -i "gamescope" &>/dev/null ; then
|
|
||||||
export GAMESCOPE_IN_USE=1
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
export GAMESCOPE_IN_USE=0
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
check_wayland_session () {
|
check_wayland_session () {
|
||||||
if [[ ! -z "$WAYLAND_IN_USE" ]]
|
if [[ ! -z "$WAYLAND_IN_USE" ]]
|
||||||
then [[ "$WAYLAND_IN_USE" == 1 ]] && return 0 || return 1
|
then [[ "$WAYLAND_IN_USE" == 1 ]] && return 0 || return 1
|
||||||
@ -337,6 +324,34 @@ check_wayland_session () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# steamdeck game session
|
||||||
|
check_gamescope_session () {
|
||||||
|
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_SESSION_IN_USE=1
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
export GAMESCOPE_SESSION_IN_USE=0
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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 [[ "${PW_USE_GAMESCOPE}" = "1" ]] ; then
|
||||||
|
export GAMESCOPE_USE_IN_USE=1
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
export GAMESCOPE_USE_IN_USE=0
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
check_flatpak () {
|
check_flatpak () {
|
||||||
if [[ ! -z "$FLATPAK_IN_USE" ]]
|
if [[ ! -z "$FLATPAK_IN_USE" ]]
|
||||||
then [[ "$FLATPAK_IN_USE" == 1 ]] && return 0 || return 1
|
then [[ "$FLATPAK_IN_USE" == 1 ]] && return 0 || return 1
|
||||||
@ -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 () {
|
|||||||
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"
|
||||||
@ -1832,7 +1852,7 @@ start_portwine () {
|
|||||||
|
|
||||||
case "$PW_FORCE_USE_VSYNC" in # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
|
case "$PW_FORCE_USE_VSYNC" in # 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT
|
||||||
0)
|
0)
|
||||||
export vblank_mode=0
|
export vblank_mode=0
|
||||||
export __GL_SYNC_TO_VBLANK=0
|
export __GL_SYNC_TO_VBLANK=0
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
@ -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"
|
||||||
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)
|
1)
|
||||||
# STABLE DXVK AND VKD3D
|
# STABLE DXVK AND VKD3D
|
||||||
@ -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 () {
|
|||||||
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 () {
|
|||||||
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 () {
|
|||||||
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 () {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user