Hyprland: [XWAYLAND] Cannot drag anything in Unreal Engine
NOTE: Krita is fixed now, thanks! This still applies for Unreal Engine, so I am keeping the issue open. Expand to view the original issue including Krita
Krita does not support Wayland, and Unreal Engine does not respond to mouse input on Wayland, so I unfortunately have to run both under Xwayland. Both apps seem to exhibit the same bug, which is why I am grouping them in this issue.
In Krita, the primary way to manage layers is by dragging one up/down. When I do this in Hyprland, Krita appears to be unfocused for one frame, then focus is brought back to Krita and the drag-and-drop is instantly “dropped”. If, within that frame, I was able to move my mouse to the desired destination, the layer does move, indicating that a drag and drop did indeed happen, but was ended nearly instantly.
Logs for doing this in Krita
[LOG] Set keyboard focus to surface 564cb5d59320, with window name: [Not Saved] (16.0 MiB) * — Krita
[LOG] New XWayland Surface created (class krita).
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6bee8 -> 564cb6246e68 (owner: XWayland Window)
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6be68 -> 564cb6246f38 (owner: XWayland Window)
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6bfa8 -> 564cb62474e8 (owner: XWayland Window)
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6be78 -> 564cb6247348 (owner: XWayland Window)
[LOG] Registered signal for owner 564cb6247550: 564cb6252468 -> 564cb6247558 (owner: CWLSurface)
[LOG] CWLSurface 564cb6247550 called init()
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6bef8 -> 564cb6246ed0 (owner: CWindow)
[LOG] Searching for matching rules for krita (title: Krita)
[LOG] Window rule rounding 0 -> title:^(Krita)$ matched 564cb6246e00 [Krita]
[LOG] Window rule noblur -> title:^(Krita)$ matched 564cb6246e00 [Krita]
[LOG] Window rule opaque -> title:^(Krita)$ matched 564cb6246e00 [Krita]
[LOG] Set keyboard focus to surface 564cb6252180, with window name: Krita
[LOG] Window got assigned a surfaceTreeNode 0
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6bec8 -> 564cb6247070 (owner: XWayland Window Late)
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6bed8 -> 564cb62472e0 (owner: XWayland Window Late)
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6bf08 -> 564cb6246fa0 (owner: XWayland Window Late)
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6bea8 -> 564cb62471a8 (owner: Xwayland Window Late)
[ERR] Tried to connect a listener twice?!
[LOG] Registered signal for owner 564cb6246e00: 564cb5d6bfb8 -> 564cb6247008 (owner: XWayland Window Late)
[LOG] Registered signal for owner 564cb6243150: 564cb6252458 -> 564cb62431c8 (owner: SurfaceTreeNode)
[LOG] Registered signal for owner 564cb6243150: 564cb6252448 -> 564cb6243230 (owner: SurfaceTreeNode)
[LOG] Registered signal for owner 564cb6243150: 564cb6252468 -> 564cb6243298 (owner: SurfaceTreeNode)
[LOG] Creating a surfaceTree Root! (pWindow: 564cb6246e00)
[LOG] Map request dispatched, monitor eDP-2, xywh: 1579.000000 254.000000 232.000000 27.000000
[LOG] Unmanaged window 564cb6246e00 requests geometry update to 1579 250 232 27
[LOG] Unmanaged window 564cb6246e00 requests geometry update to 1580 246 232 27
[LOG] Window 564cb6246e00 unmapped (class krita)
[LOG] Unregistered late callbacks XWL
[LOG] Callback 564cb6247098 -> 564cb6247090, XWayland Window Late removed.
[LOG] Callback 564cb6247308 -> 564cb6247300, XWayland Window Late removed.
[LOG] Callback 564cb6246fc8 -> 564cb6246fc0, XWayland Window Late removed.
[LOG] Callback 564cb6247030 -> 564cb6247028, XWayland Window Late removed.
[LOG] Callback 564cb62471d0 -> 564cb62471c8, Xwayland Window Late removed.
[LOG] Framebuffer created, status 36053
[LOG] On closed window, new focused candidate is 564cb6259820
[LOG] Set keyboard focus to surface 564cb5d59320, with window name: [Not Saved] (16.0 MiB) * — Krita
[LOG] Destroying the SubSurface tree of unmapped window 564cb6246e00
[LOG] Callback 564cb6243258 -> 564cb6243250, SurfaceTreeNode removed.
[LOG] Callback 564cb62432c0 -> 564cb62432b8, SurfaceTreeNode removed.
[LOG] Callback 564cb62431f0 -> 564cb62431e8, SurfaceTreeNode removed.
[LOG] SurfaceTree Node removed
[LOG] Callback 564cb6247580 -> 564cb6247578, CWLSurface removed.
[LOG] CWLSurface 564cb6247550 called destroy()
[LOG] Callback 564cb6246ef8 -> 564cb6246ef0, CWindow removed.
[LOG] Window 564cb6246e00 destroyed, queueing. (class )
[LOG] XWayland class raw: krita
[LOG] Callback 564cb6246e90 -> 564cb6246e88, XWayland Window removed.
[LOG] Callback 564cb6246f60 -> 564cb6246f58, XWayland Window removed.
[LOG] Callback 564cb6247370 -> 564cb6247368, XWayland Window removed.
[LOG] Callback 564cb6247510 -> 564cb6247508, XWayland Window removed.
[LOG] Cleanup: destroyed a window
In Unreal Engine, to interact with the “Blueprints” language, you drag links off of nodes (similar to Blender’s shader editor).
Here is a video of the issue in Unreal Engine: https://user-images.githubusercontent.com/44881120/233791623-f872688b-a7ac-4b35-b618-a0bc364a3280.mp4
Additionally, focus as a whole is majorly broken on UE. If you open a right click menu and move your mouse over the options (especially to a sub-menu), the menu will close and put UE in a strange “unfocused” state, where the framerate is limited to 1fps and all menus instantly close when they are opened. Refocusing UE usually fixes this.
These two issues together make UE nearly impossible to use on Hyprland.
Hyprland version: 254c680bda9365b74472f066c1e6ee994a0d0a67dirty Let me know if I can provide anything else!
About this issue
- Original URL
- State: open
- Created a year ago
- Reactions: 1
- Comments: 51 (14 by maintainers)
That’s not how programming works. If a program has issues, you should learn from them and make a better product. Comparing the number of issues is pathetic and lame. And for the dude above me, the issue is with Hyprland and not with Unreal or Wayland. I tried five other managers, and none of them had this issue.
PS: Saying that a repo is a buggy mess is not bitching; it’s just stating facts. This is what’s wrong with programmers in this day and age: they think they can release a shit product and want people to thank them for it and be grateful.
Hyprland has 1,701 closed issues and the fastest developer response and fixes I’ve ever seen. This issue sucks because X11 and it affects a 50GiB program that supposedly shouldn’t even require X11 (it works on Wayland according to Google, but not on my machine). I don’t think that makes Hyprland a buggy mess.
I do think the solution to this should be getting UE to run natively on Wayland as it claims to do, rather than fixing the legacy X11 version. I’ll give it another shot later.
Yeah this issue will never be fixed 450 opened cases what a buggy mess
well i suppose this never getting fixed like this, why doesnt no focus rule do anything, why does hyprland focus on the sub window anyways?
Steps to reproduce the issue Did you even read what the issue is? All he has to do is literally download UE5 or UE4, and he will get this issue. It’s a Hyprland issue, and whether it’s AMD or Nvidia hardware does not matter; it happens.
I have managed to get the same issue, with prebuilt unreal engine 5.2 and Gentoo.
I tried running it by using
LD_PRELOAD=/usr/lib64/libSDL2.so SDL_VIDEODRIVER=wayland ./Engine/Binaries/Linux/UnrealEditor
- but as mentioned earlier in this thread mouse input does not work and therefore I cannot create a project.When I use tab and tab over to a dropdown and hit enter the window closes with the following in the logs:
Edit: If I use XWayland with SDL_VIDEODRIVER=x11 it crashes saying it can’t create a vulkan window. However both vulkaninfo and vkcube work fine on my system.
krita should be working with the retarded fix 97b03687657ba141f11128d25aa345d92892bd2d
Because X11 is such a fucking horrible protocol it’s genuinely fucking baffling people still consider it “the standard”
After toying with it a lot, I seem to have a functional setup!!
Window rules:
In my short testing, I was able to drag nodes, open menus (WITHOUT going into the glitched focus mode), and drag and drop objects onto the scene. Could someone else please confirm this works?
Yep I have, sadly no luck with it. Same issues as before, and works perfectly on GNOME like w/o EAM.
or just
hyprctl clients
and checking thexwayland
flagHaving this issue as well Unreal Engine is not usable on Hyprland at all 😢 i have to jump from hyprland to i3 when i want to work on my project, not only that when for example i open the project settings window and close it and come back to the unreal engine viewport the engine lags and stutters with the fps acting like crazy until i open a terminal or a anything else and focus on that and when i refocus the engine again it work until i start doing something t
right click menu makes the engine have a fps seizure rendering it unusable until i focus another windows that is not unreal engine related and refocus the engine again it works great until i start using it
ye
patch.txt
Will print all atoms in the beginning and then window’s atoms on window open