added native wayland support

This commit is contained in:
Mikhail Tergoev
2025-11-18 15:30:58 +03:00
parent 70bee8c760
commit 50f2c3181e

View File

@@ -526,6 +526,10 @@ var_ld_library_path_update () {
return 0
}
check_wayland_session () {
[[ $XDG_SESSION_TYPE =~ "wayland" ]] && return 0 || return 1
}
find_prefix () {
# Автоматическое определение префикса, если он не задан
if [[ -z "$WINEPREFIX" ]] && [[ "$1" == "$WH_PREFIXES_DIR"* ]]; then
@@ -1190,9 +1194,30 @@ init_wineprefix () {
fi
if [[ $WH_USE_MESA_GL_OVERRIDE == "1" ]] \
&& ! lspci | grep -i nvidia > /dev/null ; then
&& ! lspci | grep -i nvidia > /dev/null
then
export MESA_GL_VERSION_OVERRIDE="3.3"
export MESA_GLSL_VERSION_OVERRIDE="330"
fi
if check_wayland_session ; then
# добаляем возможность запуска в нативном wayland если WH_USE_WAYLAND=1
if [[ $WH_USE_WAYLAND == "1" ]] ; then
export WINE_WAYLAND_HACKS="1"
var_winedlloverride_update "winex11.drv=d;winewayland.drv=b"
get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user"
else
unset WINE_WAYLAND_HACKS
get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics'
fi
# исправляем некорректное отображение выпадающих окон под wayland
if [[ $DXVK_VER == "none" ]] \
|| [[ $VKD3D_VER == "none" ]]
then
check_variables WINE_D3D_CONFIG "renderer=vulkan"
fi
fi
# хак для XRDP сессии