Support workspace binding by monitor position/coordinates to handle identical monitors that swap connector assignments #12290
Unanswered
nlbadia
asked this question in
Bugs - DRM
Replies: 0 comments
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.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
My physical setup includes my laptop and 3 external monitors. My intention is for my virtual layout to match my physical layout, which is roughly like this (laptop display centered beneath the middle external monitor):
Two of my monitors are physically the same (both MSIs are the exact same model), upon login/restart, Hyprland randomly assigns them to different connector names (e.g., DVI-I-1 andDVI-I-3) on each boot/login. This causes workspace bindings and positioning to break because the workspaces are bound to connector names rather than physical monitor positions. I'm unsure as to why my two MSI monitors have identical serial numbers; I tried (with LLM help, as I'm out of my depth here) to play around with different system settings/configs to mitigate this, but wasn't successful (I attempted to generate and modify a
monitor.inffile, so I could differentiate the two MSI monitors in GRUB, but that just broke things and I gave up). 100% admitting I don't really know what I'm doing with this issue; I tried other various fixes I found online to no avail. I also understand that this is likely a Wayland limitation, but I'm not sure.Expected Behavior
Workspaces should remain bound to the same physical monitor position regardless of which connector name gets assigned to that monitor on boot.
Current Behavior
Workspace bindings follow the connector name (DVI-I-1, DVI-I-2, etc.) rather than the physical position. When identical monitors swap connector assignments on reboot, workspaces end up on different physical monitors than intended. This requires reassignment every time I boot up my computer (and even sometimes upon waking from sleep, though this hasn't happened often).
Hardware
0x00000001)Current Configuration
Problem Details
The two MSI monitors report identical information:
On each boot/logout, there's approximately a 50/50 chance that DVI-I-1 and DVI-I-3 will swap their assignments to the two physical MSI monitors. This causes workspace 2 to appear on the right monitor and workspace 4 on the left monitor (or vice versa), requiring manual reconfiguration every time.
Proposed Solution
Thought briefly that adding support for binding workspaces by monitor position coordinates instead of only by connector name could work, but if there's no way of distinguishing displays software-wise, this can't be done. Not sure if maybe the port they're connected to could maybe be used as part of the configuration for
hyprctl? If that'd be possible then, I'm assuming at least, one could be able to differentiate the displays because the physical ports should have IDs that don't change and are thus tied to one monitor? I have no clue what I'm talking about, so please feel free to tell me if this wouldn't work/be possible.Hyprland Version
Additional Context
I've looked everywhere for a fix but couldn't find one. If I just missed something, please show me. None of the discussions tagged with
DRMmatched my issue, and I found no other solutions in other repos, Reddit or on Discord.Beta Was this translation helpful? Give feedback.
All reactions