From 50f2c3181ef1c6f3bacbadd093d2a2e45f4f6e96 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Tue, 18 Nov 2025 15:30:58 +0300 Subject: [PATCH] added native wayland support --- winehelper | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/winehelper b/winehelper index 896d816..202a08d 100755 --- a/winehelper +++ b/winehelper @@ -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 сессии