Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash in CHyprOpenGLImpl::begin During Monitor Frame Rendering #8945

Open
5 of 6 tasks
blvck-666 opened this issue Jan 3, 2025 · 3 comments
Open
5 of 6 tasks

Crash in CHyprOpenGLImpl::begin During Monitor Frame Rendering #8945

blvck-666 opened this issue Jan 3, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@blvck-666
Copy link

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

Probably not a regression / I don't remember it happening before

System Info and Hyprland Version

System/Version info
Hyprland 0.46.2 built from branch v0.46.2-b at commit 0bd541f2fd902dbfa04c3ea2ccf679395e316887  (version: bump to 0.46.2).
Date: 2024-12-19
Tag: v0.46.2, commits: 0bd541f2fd902dbfa04c3ea2ccf679395e316887
built against:
 aquamarine 0.5.1
 hyprlang 0.6.0
 hyprutils 0.2.6
 hyprcursor 0.1.11
 hyprgraphics 0.1.1


flags set:
debug


System Information:
System name: Linux
Node name: villain
Release: 6.12.6-xanmod1
Version: #1-NixOS SMP PREEMPT_DYNAMIC Tue Jan  1 00:00:00 UTC 1980


GPU information: 
00:02.0 VGA compatible controller [0300]: Intel Corporation Skylake GT2 [HD Graphics 520] [8086:1916] (rev 07) (prog-if 00 [VGA controller])


os-release: ANSI_COLOR="0;38;2;126;186;228"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="25.05.20241229.88195a9"
CPE_NAME="cpe:/o:nixos:nixos:25.05"
DEFAULT_HOSTNAME=nixos
DOCUMENTATION_URL="https://nixos.org/learn.html"
HOME_URL="https://nixos.org/"
ID=nixos
ID_LIKE=""
IMAGE_ID=""
IMAGE_VERSION=""
LOGO="nix-snowflake"
NAME=NixOS
PRETTY_NAME="NixOS 25.05 (Warbler)"
SUPPORT_URL="https://nixos.org/community.html"
VARIANT=""
VARIANT_ID=""
VENDOR_NAME=NixOS
VENDOR_URL="https://nixos.org/"
VERSION="25.05 (Warbler)"
VERSION_CODENAME=warbler
VERSION_ID="25.05"


plugins:

======Config-Start======


Config File: /home/villain/.config/hypr/hyprland.conf: Read Succeeded
# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄
# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█
# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░

# Defaults
source=~/.config/hypr/hyprland/env.conf
source=~/.config/hypr/hyprland/execs.conf
source=~/.config/hypr/hyprland/general.conf
source=~/.config/hypr/hyprland/rules.conf
source=~/.config/hypr/hyprland/colors.conf
source=~/.config/hypr/hyprland/keybinds.conf
source=~/.config/hypr/hyprland/plugins.conf


Config File: /home/villain/.config/hypr/hyprland/env.conf: Read Succeeded
# ░█▀▀░█▀█░█░█
# ░█▀▀░█░█░▀▄▀
# ░▀▀▀░▀░▀░░▀░
#
# NOTE: for NixOS, environment variables are define in configuration files.


Config File: /home/villain/.config/hypr/hyprland/execs.conf: Read Succeeded
# █▀▀ ▀▄▀ █▀▀ █▀▀
# ██▄ █░█ ██▄ █▄▄


exec-once = uwsm finalize
exec-once = uwsm app -- /run/current-system/sw/lib/polkit-1/polkit-agent-helper-1
exec-once = uwsm app -s b -- wl-paste --type text --watch cliphist store
exec-once = uwsm app -s b -- wl-paste --type image --watch cliphist store
exec-once = uwsm app -s b  -- swww init
exec-once = uwsm app -s b -- ulauncher
exec-once = uwsm app -s b -- fileFlow
exec-once = uwsm app -s b -- hyprpanel


Config File: /home/villain/.config/hypr/hyprland/general.conf: Read Succeeded
# ░█▄█░█▀█░█▀█░▀█▀░▀█▀░█▀█░█▀▄
# ░█░█░█░█░█░█░░█░░░█░░█░█░█▀▄
# ░▀░▀░▀▀▀░▀░▀░▀▀▀░░▀░░▀▀▀░▀░▀

monitor = HDMI-A-1, 1600x900@60, 0x0, 1
monitor = DP-1, 1366x768@60, 1600x0, 1

# ░▀█▀░█▀█░█▀█░█░█░▀█▀
# ░░█░░█░█░█▀▀░█░█░░█░
# ░▀▀▀░▀░▀░▀░░░▀▀▀░░▀░

input {
  accel_profile = adaptive
  kb_layout = us # XKB layout
  follow_mouse = 2
  sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
  force_no_accel = 1
  numlock_by_default = false
  repeat_rate = 60
  repeat_delay = 300
  natural_scroll = false

  touchpad {
    natural_scroll = true
    tap-to-click = true
    tap-and-drag = true
  }
}

gestures {
  workspace_swipe = true
  workspace_swipe_fingers = 3
  workspace_swipe_distance = 700
}

# ░█▀▀░█▀▀░█▀█░█▀▀░█▀▄░█▀█░█░░
# ░█░█░█▀▀░█░█░█▀▀░█▀▄░█▀█░█░░
# ░▀▀▀░▀▀▀░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀

general {
  gaps_in = 5
  gaps_out = 2
  border_size = 1
  no_border_on_floating = false # enable border on float window
  layout = dwindle
  allow_tearing = true
}



# ░█▄█░▀█▀░█▀▀░█▀▀
# ░█░█░░█░░▀▀█░█░░
# ░▀░▀░▀▀▀░▀▀▀░▀▀▀

misc {
  disable_hyprland_logo = true
  disable_splash_rendering = true
  mouse_move_enables_dpms = true
  vfr = true
  vrr = 1
  animate_manual_resizes = true
  mouse_move_focuses_monitor = true
  enable_swallow = true
  swallow_regex = ^(kitty|wrap)$
}



# ░█▀▄░█▀▀░█▀▀░█▀█░█▀▄░█▀█░▀█▀░▀█▀░█▀█░█▀█
# ░█░█░█▀▀░█░░░█░█░█▀▄░█▀█░░█░░░█░░█░█░█░█
# ░▀▀░░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀░▀

decoration {
  dim_inactive = true
  dim_strength = 0.1
  dim_special = 0.7

  rounding = 10
  # multisample_edges = true

  inactive_opacity = 0.7

  blur {
    enabled = true
    size = 8
    passes = 5
    new_optimizations = true
    xray = true
    ignore_opacity = true
    contrast = 1.70
    brightness = 1.70
  }

  shadow {
    enabled = false
  }
}




# ░█▀█░█▀█░▀█▀░█▄█░█▀█░▀█▀░▀█▀░█▀█░█▀█
# ░█▀█░█░█░░█░░█░█░█▀█░░█░░░█░░█░█░█░█
# ░▀░▀░▀░▀░▀▀▀░▀░▀░▀░▀░░▀░░▀▀▀░▀▀▀░▀░▀
animations {
  enabled = true
  bezier = wind, 0.05, 0.9, 0.1, 1.05
  bezier = winIn, 0.1, 1.1, 0.1, 1.1
  bezier = winOut, 0.3, -0.3, 0, 1
  bezier = liner, 1, 1, 1, 1

  animation = windows, 1, 6, wind, slide
  animation = windowsIn, 1, 6, winIn, slide
  animation = windowsOut, 1, 5, winOut, slide
  animation = windowsMove, 1, 5, wind, slide
  animation = border, 1, 1, liner
  animation = borderangle, 1, 30, liner, loop
  animation = fade, 1, 10, default
  animation = workspaces, 1, 5, wind
}


xwayland {
  enabled = true
  use_nearest_neighbor = true
  force_zero_scaling = false
}

opengl {
  nvidia_anti_flicker = true
  force_introspection = 1
}

render {
  explicit_sync = 2
  explicit_sync_kms = 1
  direct_scanout = true
  expand_undersized_textures = true
}


Config File: /home/villain/.config/hypr/hyprland/rules.conf: Read Succeeded

# ░█░█░▀█▀░█▀█░█▀▄░█▀█░█░█░░░█▀▄░█░█░█░░░█▀▀░█▀▀
# ░█▄█░░█░░█░█░█░█░█░█░█▄█░░░█▀▄░█░█░█░░░█▀▀░▀▀█
# ░▀░▀░▀▀▀░▀░▀░▀▀░░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀▀░▀▀▀░▀▀▀

# Opacity 
windowrulev2 = opacity 0.90 0.90,class:^(brave-browser)$
windowrulev2 = opacity 0.80 0.80,class:^(Steam)$
windowrulev2 = opacity 0.80 0.80,class:^(steam)$
windowrulev2 = opacity 0.80 0.80,class:^(steamwebhelper)$
windowrulev2 = opacity 0.80 0.80,class:^(Spotify)$
windowrulev2 = opacity 0.80 0.80,class:^(thunar)$
windowrulev2 = opacity 0.80 0.70,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = opacity 0.80 0.70,class:^(org.gnome.polkit-gnome-authentication-agent-1)$
windowrulev2 = opacity 0.80 0.80,class:^(org.telegram.desktop)$
windowrulev2 = opacity 0.90 0.80,class:^(kitty)$
windowrulev2 = opacity 0.90 0.70,class:^(dev.warp.Warp)$
windowrulev2 = opacity 0.90 0.70,class:^(vesktop)$

# Position
windowrulev2 = float,class:^(org.gnome.polkit-gnome-authentication-agent-1)$
windowrulev2 = float,class:^(org.pulseaudio.pavucontrol)$
windowrulev2 = float,class:^(xdg-desktop-portal-gtk)$
windowrulev2 = float,title:^(Media viewer)$
windowrulev2 = float,title:^(Volume Control)$
windowrulev2 = float,title:^(Picture in Picture)$
windowrulev2 = float,class:^(file_progress)$
windowrulev2 = float,class:^(confirm)$
windowrulev2 = float,class:^(dialog)$
windowrulev2 = float,class:^(download)$
windowrulev2 = float,class:^(notification)$
windowrulev2 = float,class:^(error)$
windowrulev2 = float,class:^(confirmreset)$
windowrulev2 = float,title:^(Open File)$
windowrulev2 = float,title:^(branchdialog)$
windowrulev2 = float,title:^(Confirm to replace files)$
windowrulev2 = float,title:^(File Operation Progress)$
windowrulev2 = float,class:^(Pqiv)$
windowrulev2 = float,class:^(imv)$
windowrulev2 = float,title:^(Ulauncher Preferences)$, class:^(ulauncher)$
windowrulev2 = float,title:^(Settings)$, class:^(com.github.Aylur.ags)$
windowrulev2 = float,title:^(Proton VPN)$, class:^(.protonvpn-app-wrapped)$

windowrulev2 = center 1,title:^(Volume Control)$
windowrulev2 = center 1,title:^(All Files)$
windowrulev2 = center 1,title:^(Picture in picture)$
windowrulev2 = center 1,class:^(Pqiv)$
windowrulev2 = center 1,class:^(imv)$
windowrulev2 = center 1,title:^(Ulauncher Preferences)$, class:^(ulauncher)$
windowrulev2 = center 1,title:^(Settings)$, class:^(com.github.Aylur.ags)$
windowrulev2 = center 1,title:^(Proton VPN)$, class:^(.protonvpn-app-wrapped)$

# Workspace 
windowrulev2 = workspace 2, class:^(brave-browser)$
windowrulev2 = workspace 3, class:^(webcord)$

# Size
windowrulev2 = size 800 600,class:^(download)$
windowrulev2 = size 800 600,title:^(Open File)$
windowrulev2 = size 800 600,title:^(Save File)$
windowrulev2 = size 800 600,title:^(Volume Control)$
windowrulev2 = size 800 600,title:^(All Files)$
windowrulev2 = size 800 600,title:^(Picture in picture)$
windowrulev2 = size 800 600,class:^(imv)$
windowrulev2 = size 1040 655,title:^(Ulauncher Preferences)$
windowrulev2 = size 1190 748,title:^(Settings)$, class:^(com.github.Aylur.ags)$
windowrulev2 = size 400 600,title:^(Proton VPN)$, class:^(.protonvpn-app-wrapped)$

windowrulev2 = idleinhibit focus,class:^(mpv)$
windowrulev2 = idleinhibit fullscreen,class:^(brave-browser)$

# Xwaylandvideobridge
windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
windowrulev2 = nofocus,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$

windowrulev2 = noborder, title:^(Ulauncher Preferences)$, class:^(ulauncher)$
windowrulev2 = noblur, title:^(Ulauncher Preferences)$, class:^(ulauncher)$
windowrulev2 = noshadow, title:^(Ulauncher Preferences)$, class:^(ulauncher)$
windowrulev2 = noborder, title:^(Ulauncher - Application Launcher)$, class:^(ulauncher)$
windowrulev2 = noblur, title:^(Ulauncher - Application Launcher)$, class:^(ulauncher)$
windowrulev2 = noshadow, title:^(Ulauncher - Application Launcher)$, class:^(ulauncher)$

# windowrulev2 = noborder, title:^(Proton VPN)$, class:^(.protonvpn-app-wrapped)$
windowrulev2 = noblur, title:^(Proton VPN)$, class:^(.protonvpn-app-wrapped)$
windowrulev2 = noshadow, title:^(Proton VPN)$, class:^(.protonvpn-app-wrapped)$
windowrulev2 = opaque, title:^(Proton VPN)$, class:^(.protonvpn-app-wrapped)$


# Smart gaps
workspace = w[tv1], gapsout:0, gapsin:0
workspace = f[1], gapsout:0, gapsin:0
windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]
windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]
windowrulev2 = rounding 0, floating:0, onworkspace:f[1]

# Layer rules
layerrule = blur, bar-0
layerrule = xray 1, bar-0

layerrule = blur, bar-1
layerrule = xray 1, bar-1


Config File: /home/villain/.config/hypr/hyprland/colors.conf: Read Succeeded
# ░█▀▀░█▀█░█░░░█▀█░█▀▄░█▀▀
# ░█░░░█░█░█░░░█░█░█▀▄░▀▀█
# ░▀▀▀░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀

general {
    col.active_border = rgba(ffffffff)
    col.inactive_border = rgba(A58A8D30)
}
windowrulev2 = bordercolor rgba(FFB2BCAA) rgba(FFB2BC77),pinned:1


Config File: /home/villain/.config/hypr/hyprland/keybinds.conf: Read Succeeded
# ░█░█░█▀▀░█░█░█▀▄░▀█▀░█▀█░█▀▄░█▀▀
# ░█▀▄░█▀▀░░█░░█▀▄░░█░░█░█░█░█░▀▀█
# ░▀░▀░▀▀▀░░▀░░▀▀░░▀▀▀░▀░▀░▀▀░░▀▀▀

# See https://wiki.hyprland.org/Configuring/Keywords/
#  &  https://wiki.hyprland.org/Configuring/Binds/


# Variables
$scriptsDir = $HOME/.config/hypr/scripts
$notifycmd = notify-send -h string:x-canonical-private-synchronous:hypr-cfg -u low

$term = ghostty
$volume = $scriptsDir/volume.sh
$brightness = $scriptsDir/brightness.sh
$screenshot = $scriptsDir/screensht
$colorpicker = $scriptsDir/colorpicker
$files = thunar
$browser = brave

# Screenshot
bind = SUPER, v, exec, uwsm app -- wf-recorder -f $(xdg-user-dir VIDEOS)/$(date +'%H:%M:%S_%d-%m-%Y.mp4')
bind = SUPER SHIFT, v, exec, uwsm app -- killall -s SIGINT wf-recorder

# Mischellanous
bind = SUPER SHIFT, X, exec, $colorpicker
bind = SUPER, Return, exec, uwsm app -- $term
bind = SUPER, E, exec, uwsm app -- $files
# bind = SUPER, D, exec, ags --toggle-window applauncher
bind = SUPER, D, exec, uwsm app -- ulauncher-toggle
bind = SUPER ALT, L, exec, hyprpanel --toggle-window powerdropdownmenu
bind = , Print, exec, uwsm app -- hyprpanel --toggle-window screenshot
bind = SUPER, O, exec, uwsm app -- hyprctl dispatch overview:toggle

# Window management
bind = SUPER, Q, killactive,
bind = SUPER SHIFT, Q, exit,
bind = SUPER, F, fullscreen,
bind = SUPER, Space, togglefloating,
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, S, togglesplit, # dwindle

# Change Workspace Mode
bind = SUPER SHIFT, Space, workspaceopt, allfloat
bind = SUPER SHIFT, Space, exec, uwsm app -- $notifycmd 'Toggled All Float Mode'
bind = SUPER SHIFT, P, workspaceopt, allpseudo
bind = SUPER SHIFT, P, exec, uwsm app -- $notifycmd 'Toggled All Pseudo Mode'

bind = SUPER, Tab, cyclenext,
bind = SUPER, Tab, bringactivetotop,

# Move Focus
bind = SUPER, h, movefocus, l
bind = SUPER, l, movefocus, r
bind = SUPER, k, movefocus, u
bind = SUPER, j, movefocus, d

# Move Window
bind = SUPER SHIFT, h, movewindow, l
bind = SUPER SHIFT, l, movewindow, r
bind = SUPER SHIFT, k, movewindow, u
bind = SUPER SHIFT, j, movewindow, d

# Resize
bind = SUPER CTRL, left, resizeactive, -20 0
bind = SUPER CTRL, right, resizeactive, 20 0
bind = SUPER CTRL, up, resizeactive, 0 -20
bind = SUPER CTRL, down, resizeactive, 0 20

# Group
bind = SUPER, g, togglegroup
bind = SUPER, tab, changegroupactive
bind = SUPER, G, exec, uwsm app -- $notifycmd 'Toggled Group Mode'

# Workspace
bind = SUPER, a, togglespecialworkspace
bind = SUPERSHIFT, a, movetoworkspace, special
bind = SUPER, a, exec, uwsm app -- $notifycmd 'Toggled Special Workspace'
bind = SUPER, c, exec, hyprctl dispatch centerwindow

bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
bind = SUPER ALT, up, workspace, e+1
bind = SUPER ALT, down, workspace, e-1

# Move to Workspace
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10

# Mouse binds
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1

# Volume binds
bindel = , XF86AudioRaiseVolume, exec, uwsm app -- $volume up
bindel = , XF86AudioLowerVolume, exec, uwsm app -- $volume down
bindl = , XF86AudioMute, exec, uwsm app -- $volume mute

# Brightness binds
bindel = , XF86MonBrightnessUp, exec, uwsm app -- $brightness up
bindel = , XF86MonBrightnessDown, exec, uwsm app -- $brightness down


Config File: /home/villain/.config/hypr/hyprland/plugins.conf: Read Succeeded
plugin {
  overview {
    toggle = true
    gapsIn = 2
    gapsOut = 2
    dragAlpha = 0.5
    
    # layout
    panelHeight = 100
    hideBackgroundLayers = true
    hideOverlayLayers = true
    hideRealLayers = true
    showNewWorkspace = false
  }
}

======Config-End========

Description

A crash occurred while using Hyprland, seemingly related to CHyprOpenGLImpl::begin during monitor frame rendering. Below are the relevant details and a backtrace to aid in debugging the issue.

How to reproduce

  1. Start Hyprland with the current configuration.

  2. Open a browser, play videos, or run graphical benchmarks like glmark2 to trigger the crash.

  3. Observe the crash.

Attach not paste

  • I understand that all text files must be attached, and not pasted directly. If not respected, this issue will likely get closed as spam

Checklist of files to include below

  • Hyprland config - hyprctl systeminfo -c (always include)
  • Crash report (always include in case of crash)
  • Video (always include in case of a visual bug)
  • Logs (might contain useful info such as errors)

Additional info & File uploads

gdb.txt
hyprlandCrashReport35771.txt

@blvck-666 blvck-666 added the bug Something isn't working label Jan 3, 2025
@vaxerski
Copy link
Member

vaxerski commented Jan 3, 2025

we got a gpu reset, that's not great.

There have been some rendering reworks on -git though, I'd test it on git first to see whether it still happens.

Could also be a faulty kernel/mesa update.

@blvck-666
Copy link
Author

Could also be a faulty kernel/mesa update.

I'm a bit skeptical about this, as I've never experienced this issue before. I'll attempt to roll back to the previous update to see if that resolves the problem.

@voneiden
Copy link

voneiden commented Jan 7, 2025

Possibly related, aquamarine version 1.5.1 seems to be a bit flaky in this very area. IF you happen to be running also 1.5.1, do try 1.5.0 or 1.6.0 and see if the issue goes away?

I started experiencing crashes like in the issue above, but I also experienced a few crashes while not having an external monitor attached, so there's probably more to it. So far it seems like rolling back to 1.5.0 has fixed it for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants