hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
19.76k stars 840 forks source link

Display Freeze When Fullscreening Vulkan Applications with `allow_tearing` Enabled #6153

Closed YourSandwich closed 4 months ago

YourSandwich commented 4 months ago

Hyprland Version

System/Version info ```sh Hyprland, built from branch at commit cba1ade848feac44b2eda677503900639581c3f4 (props: bump version to 0.40.0). Date: Sat May 4 15:42:32 2024 Tag: v0.40.0, commits: 4606 flags: (if any) System Information: System name: Linux Node name: BORKEN Release: 6.9.1-273-tkg-eevdf Version: #1 SMP PREEMPT_DYNAMIC TKG Sun, 19 May 2024 00:31:43 +0000 GPU information: 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8) (prog-if 00 [VGA controller]) 18:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c1) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ```

Bug or Regression?

Bug

Description

Hello Vaxry,

I'm experiencing a display freeze issue with Hyprland when I fullscreen a Vulkan application or game. Here's a bit about my setup:

Hyprland Config ```sh # Include configuration files (Order is important!) source=~/.config/hypr/latte.conf source=~/.config/hypr/configs/env.conf source=~/.config/hypr/configs/variables.conf source=~/.config/hypr/configs/input.conf source=~/.config/hypr/configs/monitors.conf source=~/.config/hypr/configs/keybinds.conf source=~/.config/hypr/configs/autostart.conf source=~/.config/hypr/configs/window_rules.conf # General settings for layout, borders, and gaps general { gaps_in = 5 # Inner gaps between windows gaps_out = 20 # Outer gaps between windows and screen edge border_size = 2 # Border thickness around windows col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg # Color gradient for active borders col.inactive_border = rgba(595959aa) # Color for inactive borders layout = dwindle # Default window layout allow_tearing = false # Allow tearing } # Decoration settings for window rounding, blur, and shadows decoration { rounding = 10 # Corner rounding for windows blur { enabled = true # Enable window blur size = 3 # Blur size passes = 1 # Number of blur passes } drop_shadow = yes # Enable drop shadows shadow_range = 4 # Shadow range shadow_render_power = 3 # Shadow intensity col.shadow = rgba(1a1a1aee) # Shadow color } # Animation settings animations { enabled = yes # Enable animations # Define custom Bezier curve bezier = myBezier, 0.05, 0.9, 0.1, 1.05 # Animations for windows, borders, fading, and workspaces animation = windows, 1, 5, myBezier animation = windowsOut, 1, 5, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 5, default animation = workspaces, 1, 4, default } # Dwindle layout-specific settings dwindle { pseudotile = yes # Enable pseudotiling, bound to mainMod + P preserve_split = yes # Keep window splits as-is (recommended) } # Master layout-specific settings master { new_is_master = true # New windows become the master } # Xwayland-specific settings xwayland { force_zero_scaling = true # Force zero scaling in Xwayland } # Miscellaneous settings for additional configurations misc { disable_hyprland_logo = true #vrr = 2 mouse_move_enables_dpms = true key_press_enables_dpms = true enable_swallow = true swallow_regex = ^(Alacritty|kitty|konsole)$ } ```

The issue only occurs when I enable allow_tearing. OpenGL applications don't seem to be affected by this problem.

Debug info doesn't seem to output anything related to this issue. Please let me know if I can provide more information to help diagnose the problem.

Thanks!

How to reproduce

  1. Ensure allow_traring is enabled in the Hyprland configuration.
  2. Launch any Vulkan application or game.
  3. Switch the application to fullscreen mode.
  4. The display should freeze at this point.

Crash reports, logs, images, videos

No response

YourSandwich commented 4 months ago

This issue exists at least since Hyprland 38.1

zakk4223 commented 4 months ago

probably related to this: https://github.com/hyprwm/Hyprland/issues/4601

vaxerski commented 4 months ago

means your gpu driver doesnt support tearing in the current configuration.

calebaden commented 4 months ago

Make sure you have WLR_DRM_NO_ATOMIC=1 environment variable set as per the wiki