Hyprland: Monitor auto-positioning appears broken with new monitor system

Hyprland Version

Hyprland, built from branch main at commit e5fb9b1b026904a2832e6134dffac3af06a33c67 dirty (CI: update auto commit author & committer). Tag: v0.28.0-51-ge5fb9b1b

Bug or Regression?

Bug

Description

Monitor config has for a long time looks as follows:

monitor = desc:LG Electronics 34GN850 004NTBK70749, preferred, auto, 1
monitor = desc:Dell Inc. DELL U2715H GH85D69U092S, preferred, auto, 1, transform, 3

This has always worked great, with the LG being the main monitor with my Dell to the right side, rotated 90 degrees. The “auto” positioning set the Dell with an x offset of 3440, which is the width of the LG.

This broke when I updated today, with auto positioning resulting in both monitors at 0x0.

Monitor DP-1 (ID 0):
        3440x1440@143.923004 at 0x0
        description: LG Electronics 34GN850 004NTBK70749 (DP-1)
        make: LG Electronics
        model: 34GN850
        serial: 004NTBK70749
        active workspace: 1 (1)
        special workspace: 0 ()
        reserved: 0 32 0 0
        scale: 1.00
        transform: 0
        focused: yes
        dpmsStatus: 1
        vrr: 0

Monitor HDMI-A-1 (ID 1):
        2560x1440@59.951000 at 0x0
        description: Dell Inc. DELL U2715H GH85D69U092S (HDMI-A-1)
        make: Dell Inc.
        model: DELL U2715H
        serial: GH85D69U092S
        active workspace: 9 (9)
        special workspace: 0 ()
        reserved: 0 32 0 0
        scale: 1.00
        transform: 3
        focused: no
        dpmsStatus: 1
        vrr: 0

I haven’t done a proper git bisect, but looking through the history since my last update (4 days ago) the most likely culprit is 13886a2, which introduces a new monitor handling system. According to the documentation the “auto” positioning should still work the same, so I’m assuming this is a bug. Explicitly setting the position of both monitors in config resolves the issue as a temporary fix.

How to reproduce

Start hyprland with two monitors set for auto positioning. The expected outcome is the first monitor at 0x0 and the second at (width of first monitor)x0. The actual outcome is both at 0x0.

Crash reports, logs, images, videos

No response

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 15 (6 by maintainers)

Most upvoted comments

Same here though in my case it seems that removing the line specifying DP-1 solves it for me. It seems like setting DP-1 causes Hyprland to forget the DP-2 line.

patch.txt try this

Manual positioning still isn’t respected, I get same output from hyprctl monitors.

But auto positioning seems like it works properly.
Monitor DP-1 (ID 0):
	2560x1440@59.951000 at 0x0
	description: Dell Inc. DELL U2722DE 8YZV9H3 (DP-1)
	make: Dell Inc.
	model: DELL U2722DE
	serial: 8YZV9H3
	active workspace: 1 (1)
	special workspace: 0 ()
	reserved: 0 70 0 0
	scale: 1.00
	transform: 0
	focused: yes
	dpmsStatus: 1
	vrr: 0

Monitor DP-2 (ID 1):
	2560x1440@59.951000 at 2560x0
	description: ASUSTek COMPUTER INC VG27AQ1A 71LB06600000 (DP-2)
	make: ASUSTek COMPUTER INC
	model: VG27AQ1A
	serial: 71LB06600000
	active workspace: 2 (2)
	special workspace: 0 ()
	reserved: 0 70 0 0
	scale: 1.00
	transform: 0
	focused: no
	dpmsStatus: 1
	vrr: 0

I can verify that 2110dc1 resolved the issue, thanks!