Unity Editor keyboard input broken under Niri — xwayland-satellite architectural incompatibility #4232
Jurgencotting
started this conversation in
General
Replies: 1 comment
|
I've done a quick search and there are related issues: Supreeeme/xwayland-satellite#278
Hm sadly no. From the wiki
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
Unity Editor (and the Unity Hub launcher) have persistent keyboard input issues when
running under Niri via xwayland-satellite. After extensive testing and investigation,
the root cause appears to be an architectural incompatibility between xwayland-satellite's
external XWayland approach and how Unity handles window focus and absolute screen
coordinates.
Environment
Symptoms
The following issues were consistently reproducible:
"Add Component" search box — typing anything in this field produces no input.
The popup opens but the keyboard is completely unresponsive.
Asset renaming in the Project panel — double-clicking to rename an asset shows
the text field but keyboard input does not register.
Unity Hub — occasional focus and input issues in the launcher itself.
These issues do not occur on:
Investigation & Testing
xwayland-satellite PR #397 (
WM_TAKE_FOCUSfix)I tested xwayland-satellite PR #397,
which addresses popup focus logic for
WM_TAKE_FOCUSwindows.Result of A/B testing:
The PR fixes one input path but introduces regressions in other XWayland applications
(specifically Steam). This suggests the
WM_TAKE_FOCUShandling is genuinely complexand a single fix cannot satisfy all applications simultaneously.
Workarounds attempted
startx)cagenested compositor (XWayland inside Wayland)DISPLAYpointed to satellite_NET_WMand focus hint overridesAll Wayland-based workarounds were eventually reverted.
Root Cause Analysis
The core problem seems to be how Unity uses absolute screen coordinates and focus
protocols that conflict with xwayland-satellite's external/satellite architecture.
Niri delegates XWayland support to xwayland-satellite as an external process,
which means it does not have the same level of integration with the compositor's
internal window tree and focus management that native wlroots-based compositors
(like Hyprland or MangoWM) have.
Unity appears to rely on:
WM_TAKE_FOCUS(ICCCM protocol) for certain popup/modal inputsxwayland-satellite's external model seems unable to correctly relay these focus
events in all cases, particularly when Unity opens transient windows (like the
"Add Component" search or the rename field) that expect to inherit keyboard focus
from the parent editor window.
Comparison with other Wayland compositors
This strongly suggests the issue is specific to the satellite architecture rather
than Niri itself or the user's hardware/drivers.
Request / Question
Is there any known path toward fixing this in xwayland-satellite, or would this
require changes on Niri's side? Is there any plan to support a more integrated
XWayland model in the future, or is the satellite approach a fundamental design
decision for Niri?
I'm happy to provide any additional logs,
WAYLAND_DEBUGoutput, or test specificpatches if that would help. I just want Niri and Unity to get along — it's my
favorite compositor and I'd love to not have to switch! 💙
Thank you for your time and for the amazing work on Niri.
All reactions