hyprland-plugins icon indicating copy to clipboard operation
hyprland-plugins copied to clipboard

Screen just going black, whenever we use gestures fast

Open m-cnan opened this issue 1 month ago • 8 comments

Screen is going black dont know what it is, whenever we use gestures fast, but gestures work, but when i do it fast just freezes and goes black, then i have to force shutdown and restart. I think nobody else has this problem idk why The plugin works alright just when i implement the gestures there's this issue. Right now i'm using with keybind only and works perfectly.

Archlinux(Omarchy)

thanks

m-cnan avatar Nov 23 '25 09:11 m-cnan

i have this problem with almost all plugin that has gestures, so it might be my problem, does any body know anything about it?

m-cnan avatar Nov 23 '25 11:11 m-cnan

Can you post the relevant part of your config + steps to replicate this?

mwahstache avatar Nov 23 '25 11:11 mwahstache

i dont really know what are the steps, for me i havent turned on any other plugin at the time, can you point me to what i should give as info? or should i check some sort of logs while this happening for it will happen for any plugin that has gestures

m-cnan avatar Nov 23 '25 11:11 m-cnan

Well, this repo contains multiple plugins so I don't know which plugin you are talking about. Also, it would be helpful to see the specific lines in your config you are talking about, I'm not completely sure what you mean by "implement the gestures"

In terms of logs, you can check the wiki for how to to get crashlogs, though in this case i'm guessing that hyprland isn't going to clean up nice enough to give you those.

Instead, you can enable debug logs by adding debug:disable_logs=false to your config (related link to the wiki). To view these after a crash (this has to be before you restart and when you're on a black screen), hit ctrl+alt+f3 to switch to tty (tty3 should probably be free, though you can try f4 or f5 if it's not). then login and run this:

cat $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 1)/hyprland.log

if you want to save this file somewhere, you can instead run

cp $XDG_RUNTIME_DIR/hypr/$(ls -t $XDG_RUNTIME_DIR/hypr/ | head -n 1)/hyprland.log ~/hyprland.log

and then reboot. then, you can run something like tail -n 40 ~/hyprland.log to see what was happening right before it crashed. this probably wont be that useful either, though.

mwahstache avatar Nov 23 '25 12:11 mwahstache

the plugin im taking about is hyprexpo the error comes when i use gestures that are of plugins so i turn them off now ill try the debugging ig thanks

m-cnan avatar Nov 24 '25 15:11 m-cnan

i got this at hyprlandCrashReport1496.txt

Hyprland Crash Report

Maybe you should try dusting your PC in the meantime?

Hyprland received signal 11(SEGV) Version: 06b37c390715e05f852076a8d1160e27c5cd291c Tag: v0.52.0-2-g06b37c39 Date: Sun Nov 9 05:15:53 2025 Flags:

Hyprland seems to be running with plugins. This crash might not be Hyprland's fault. Plugins: hyprexpo (Vaxry) 1.0

System info: System name: Linux Node name: disciple Release: 6.17.8-arch1-1 Version: #1 SMP PREEMPT_DYNAMIC Fri, 14 Nov 2025 06:54:20 +0000

GPU: 04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Barcelo [1002:15e7] (rev c4) (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

Libraries: Hyprgraphics: built against 0.3.0, system has 0.3.0 Hyprutils: built against 0.10.1, system has 0.10.2 Hyprcursor: built against 0.1.13, system has 0.1.13 Hyprlang: built against 0.6.3, system has 0.6.6 Aquamarine: built against 0.9.5, system has 0.9.5

Backtrace: # | Hyprland(_Z12getBacktracev+0x46) [0x55618b097066] getBacktrace() ??:? #1 | Hyprland(_ZN14NCrashReporter18createAndSaveCrashEi+0xc6a) [0x55618afc903a] NCrashReporter::createAndSaveCrash(int) ??:? #2 | Hyprland(+0x35ccf0) [0x55618af30cf0] handleUnrecoverableSignal(int) Compositor.cpp:? #3 | /usr/lib/libc.so.6(+0x3e4d0) [0x7fe63703e4d0] ?? ??:0 #4 | /var/cache/hyprpm/sinan/hyprland-plugins/hyprexpo.so(ZN9Hyprutils9Animation24CGenericAnimatedVariableINS_4Math8Vector2DE17SAnimationContextE15setValueAndWarpERKS3+0x1f) [0x7fe61ab04c9d] ?? ??:0 #5 | /var/cache/hyprpm/sinan/hyprland-plugins/hyprexpo.so(_ZN9COverview13onSwipeUpdateEd+0x55d) [0x7fe61aaf949d] ?? ??:0 #6 | /var/cache/hyprpm/sinan/hyprland-plugins/hyprexpo.so(_ZN12CExpoGesture6updateERKN16ITrackpadGesture22STrackpadGestureUpdateE+0xc2) [0x7fe61ab09d32] ?? ??:0 #7 | Hyprland(_ZN17CTrackpadGestures13gestureUpdateERKN8IPointer17SSwipeUpdateEventE+0x9c) [0x55618b172e0c] CTrackpadGestures::gestureUpdate(IPointer::SSwipeUpdateEvent const&) ??:? #8 | Hyprland(_ZN13CInputManager13onSwipeUpdateEN8IPointer17SSwipeUpdateEventE+0xba) [0x55618b12c18a] CInputManager::onSwipeUpdate(IPointer::SSwipeUpdateEvent) ??:? #9 | Hyprland(+0x5e07de) [0x55618b1b47de] std::_Function_handler<void (IPointer::SSwipeUpdateEvent const&), CPointerManager::attachPointer(Hyprutils::Memory::CSharedPointer<IPointer>)::{lambda(IPointer::SSwipeUpdateEvent const&)#1}>::_M_invoke(std::_Any_data const&, IPointer::SSwipeUpdateEvent const&) PointerManager.cpp:? #1 | /usr/lib/libhyprutils.so.9(_ZN9Hyprutils6Signal15CSignalListener12emitInternalEPv+0x2d) [0x7fe637ea16ad] ?? ??:0 #11 | /usr/lib/libhyprutils.so.9(_ZN9Hyprutils6Signal11CSignalBase12emitInternalEPv+0x1aa) [0x7fe637ea191a] ?? ??:0 #12 | Hyprland(+0x489677) [0x55618b05d677] std::_Function_handler<void (Aquamarine::IPointer::SSwipeUpdateEvent const&), CMouse::CMouse(Hyprutils::Memory::CSharedPointerAquamarine::IPointer)::{lambda(Aquamarine::IPointer::SSwipeUpdateEvent const&)#1}>::_M_invoke(std::_Any_data const&, Aquamarine::IPointer::SSwipeUpdateEvent const&) Mouse.cpp:? #13 | /usr/lib/libhyprutils.so.9(_ZN9Hyprutils6Signal15CSignalListener12emitInternalEPv+0x2d) [0x7fe637ea16ad] ?? ??:0 #14 | /usr/lib/libhyprutils.so.9(_ZN9Hyprutils6Signal11CSignalBase12emitInternalEPv+0x1aa) [0x7fe637ea191a] ?? ??:0 #15 | /usr/lib/libaquamarine.so.8(_ZN10Aquamarine8CSession19handleLibinputEventEP14libinput_event+0xff1) [0x7fe638007fe1] ?? ??:0 #16 | /usr/lib/libaquamarine.so.8(_ZN10Aquamarine8CSession22dispatchLibinputEventsEv+0x1bc) [0x7fe638008e2c] ?? ??:0 #17 | Hyprland(+0x549996) [0x55618b11d996] aquamarineFDWrite(int, unsigned int, void*) EventLoopManager.cpp:? #18 | /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0x1d2) [0x7fe637e57182] ?? ??:0 #19 | /usr/lib/libwayland-server.so.0(wl_display_run+0x37) [0x7fe637e59297] ?? ??:0 #2 | Hyprland(_ZN17CEventLoopManager9enterLoopEv+0x273) [0x55618b120493] CEventLoopManager::enterLoop() ??:? #21 | Hyprland(main+0x1111) [0x55618ae61a61] main ??:? #22 | /usr/lib/libc.so.6(+0x27635) [0x7fe637027635] ?? ??:0 #23 | /usr/lib/libc.so.6(__libc_start_main+0x89) [0x7fe6370276e9] ?? ??:0 #24 | Hyprland(_start+0x25) [0x55618aee4185] _start ??:?

Log tail:

[LOG] [AQ] [libinput] event8 - gesture: [4fg] event GESTURE_STATE_UNKNOWN → GESTURE_EVENT_RESET → GESTURE_STATE_NONE

[LOG] [AQ] [libinput] event8 - tap: touch 3 (TOUCH_BEGIN), tap state TAP_STATE_TOUCH_3 → TAP_EVENT_TOUCH → TAP_STATE_DEAD

[LOG] [AQ] [libinput] event8 - gesture: [4fg] event GESTURE_STATE_NONE → GESTURE_EVENT_FINGER_DETECTED → GESTURE_STATE_UNKNOWN

[LOG] [AQ] [libinput] event8 - gesture: [4fg] state GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN

[LOG] [AQ] [libinput] event8 - gesture: [4fg] event GESTURE_STATE_UNKNOWN → GESTURE_EVENT_SWIPE_START → GESTURE_STATE_SWIPE_START

[LOG] [AQ] [libinput] event8 - gesture: [4fg] state GESTURE_STATE_UNKNOWN → GESTURE_STATE_SWIPE_START → GESTURE_STATE_SWIPE

[LOG] Framebuffer created, status 36053 [LOG] Framebuffer created, status 36053 [LOG] Framebuffer created, status 36053 [LOG] Framebuffer created, status 36053 [LOG] [AQ] drm: Cursor buffer imported into KMS with id 131 [LOG] [AQ] [libinput] event8 - button state: touch 0 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE

[LOG] [AQ] [libinput] event8 - button state: touch 1 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE

[LOG] [AQ] [libinput] event8 - button state: touch 2 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE

[LOG] [AQ] [libinput] event8 - button state: touch 3 from BUTTON_STATE_AREA event BUTTON_EVENT_UP to BUTTON_STATE_NONE

[LOG] [AQ] [libinput] event8 - gesture: [4fg] event GESTURE_STATE_SWIPE → GESTURE_EVENT_END → GESTURE_STATE_NONE

[LOG] [AQ] [libinput] event8 - tap: touch 3 (TOUCH_END), tap state TAP_STATE_DEAD → TAP_EVENT_RELEASE → TAP_STATE_IDLE

[LOG] [AQ] [libinput] event8 - button state: touch 0 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA

[LOG] [AQ] [libinput] event8 - tap: touch 0 (TOUCH_BEGIN), tap state TAP_STATE_IDLE → TAP_EVENT_TOUCH → TAP_STATE_TOUCH

[LOG] [AQ] [libinput] event8 - gesture: [1fg] event GESTURE_STATE_NONE → GESTURE_EVENT_FINGER_DETECTED → GESTURE_STATE_UNKNOWN

[LOG] [AQ] [libinput] event8 - gesture: [1fg] state GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN

[LOG] [AQ] [libinput] event8 - button state: touch 1 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA

[LOG] [AQ] [libinput] event8 - button state: touch 2 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA

[LOG] [AQ] [libinput] event8 - gesture: [3fg] event GESTURE_STATE_UNKNOWN → GESTURE_EVENT_RESET → GESTURE_STATE_NONE

[LOG] [AQ] [libinput] event8 - tap: touch 1 (TOUCH_BEGIN), tap state TAP_STATE_TOUCH → TAP_EVENT_TOUCH → TAP_STATE_TOUCH_2

[LOG] [AQ] [libinput] event8 - tap: touch 2 (TOUCH_BEGIN), tap state TAP_STATE_TOUCH_2 → TAP_EVENT_TOUCH → TAP_STATE_TOUCH_3

[LOG] [AQ] [libinput] event8 - gesture: [3fg] event GESTURE_STATE_NONE → GESTURE_EVENT_FINGER_DETECTED → GESTURE_STATE_UNKNOWN

[LOG] [AQ] [libinput] event8 - gesture: [3fg] state GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN

[LOG] [AQ] [libinput] event8 - button state: touch 3 from BUTTON_STATE_NONE event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA

[LOG] [AQ] [libinput] event8 - gesture: [4fg] event GESTURE_STATE_UNKNOWN → GESTURE_EVENT_RESET → GESTURE_STATE_NONE

[LOG] [AQ] [libinput] event8 - tap: touch 3 (TOUCH_BEGIN), tap state TAP_STATE_TOUCH_3 → TAP_EVENT_TOUCH → TAP_STATE_DEAD

[LOG] [AQ] [libinput] event8 - gesture: [4fg] event GESTURE_STATE_NONE → GESTURE_EVENT_FINGER_DETECTED → GESTURE_STATE_UNKNOWN

[LOG] [AQ] [libinput] event8 - gesture: [4fg] state GESTURE_STATE_NONE → GESTURE_STATE_UNKNOWN

[LOG] [AQ] [libinput] event8 - gesture: [4fg] event GESTURE_STATE_UNKNOWN → GESTURE_EVENT_SWIPE_START → GESTURE_STATE_SWIPE_START

[LOG] [AQ] [libinput] event8 - gesture: [4fg] state GESTURE_STATE_UNKNOWN → GESTURE_STATE_SWIPE_START → GESTURE_STATE_SWIPE

[LOG] [AQ] drm: Cursor buffer imported into KMS with id 141

i think it is abi mismatch between hyprland and the plugins idk

m-cnan avatar Nov 24 '25 16:11 m-cnan

This is helpful, though I need to see the part of your configuration where you map these gestures (so I can replicate it on my machine).

mwahstache avatar Nov 24 '25 17:11 mwahstache

hyprexpo-gesture = 4, vertical , expo this is how it is. from the errors i think there was a version mismatch between hyprland and some hyprstuffs like backend idk

~ ❯ hyprland -v Hyprland 0.52.0 built from branch main at commit 06b37c390715e05f852076a8d1160e27c5cd291c clean (protocols/outputMgmt: fix wlr-randr by defering success event until monitor reloads ( 12236)). Date: Sun Nov 9 05:15:53 2025 Tag: v0.52.0-2-g06b37c39, commits: 6561

Libraries: Hyprgraphics: built against 0.3.0, system has 0.3.0 Hyprutils: built against 0.10.1, system has 0.10.2 Hyprcursor: built against 0.1.13, system has 0.1.13 Hyprlang: built against 0.6.3, system has 0.6.6 Aquamarine: built against 0.9.5, system has 0.9.5

no flags were set

i tried many things uninstalling and reinstalling hyprland and all the hyprstuffs that did no change

i heard that hyprland-git will have less issue with plugins so i tried doing that using paru it took some time and then it didnt open, the hyprland was not openign because of some libaqua did not exist i tried some stuff to bring it back, then i fall back to normall hyprland and came back to where i was.

The crash happens when i just jitter the gesture in the given direction not even very fast, and also there is no issue with hyprland builtin gestures for changing workspace it does not crash anytime.

One other thing is when i install allthe plugins( i only need hyprexpo) others like border-pluplus, csgo-vulkan-fix, hyprbars are not being installed and shows "failed to build, this likely mean that the plugin is outdated, not yet available for your version, or broken, if you are on -git update first", idk if that helpful

Thanks

m-cnan avatar Nov 25 '25 03:11 m-cnan