hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
19.71k stars 836 forks source link

Multi-monitor issues with 3 screens #4468

Open Subbeh opened 8 months ago

Subbeh commented 8 months ago

Hyprland Version

System/Version info ```sh Hyprland, built from branch HEAD at commit 03ebbe18ed8517ee22591eac82cd54322f42cb7d (props: bump ver to 0.34.0). Date: Mon Jan 1 12:03:15 2024 Tag: v0.34.0 ```

Bug or Regression?

Bug

Description

I have a setup of 3 monitors side-by-side. The middle screen is 4K with a scaling of 2, while the right and left monitor have a resolution of 1920x1080 with scaling of 1.

When any 2 monitors are enabled, the layout is fine. When 3 monitors are connected, the middle monitor (4K) only shows the screen in the top-left quarter as shown in the layout below.

Applying these configurations using hyprctl does not work either, and does not even turn on the screens as shown in the reproductive steps below.

EDIT: setting all the screens to 1920x1080 with scaling 1 gives me the same issues. Any combination of 2 screens enabled and 1 disabled works.

3 monitors enabled

Hyprland Config ```ini monitor=desc:Dell Inc. DELL E2720HS 79YBDZ2,1920x1080@60,0x0,1 monitor=desc:LG Electronics LG HDR 4K 308NTTQFK265,3840x2160@60,1920x0,2 monitor=desc:Sharp Corporation 0x14AE,1920x1080@60,3840x0,1 ```
Layout ``` ----------------- ----------------- ----------------- | | | | | | | | | | DP-8 | | | | | DP-7 | |-------| | | eDP-1 | | | | | | | | | | | | | |---------------| |---------------| |---------------| ```
Monitor Info ``` Monitor eDP-1 (ID 0): 1920x1080@59.99900 at 3840x0 description: Sharp Corporation 0x14AE (eDP-1) make: Sharp Corporation model: 0x14AE serial: active workspace: 1 (1) special workspace: 0 () reserved: 0 0 0 0 scale: 1.00 transform: 0 focused: no dpmsStatus: 1 vrr: 0 activelyTearing: false Monitor DP-7 (ID 1): 1920x1080@60.00000 at 0x0 description: Dell Inc. DELL E2720HS 79YBDZ2 (DP-7) make: Dell Inc. model: DELL E2720HS serial: 79YBDZ2 active workspace: 2 (2) special workspace: 0 () reserved: 0 0 0 0 scale: 1.00 transform: 0 focused: yes dpmsStatus: 1 vrr: 0 activelyTearing: false Monitor DP-8 (ID 2): 3840x2160@60.00000 at 1920x0 description: LG Electronics LG HDR 4K 308NTTQFK265 (DP-8) make: LG Electronics model: LG HDR 4K serial: 308NTTQFK265 active workspace: 3 (3) special workspace: 0 () reserved: 0 0 0 0 scale: 2.00 transform: 0 focused: no dpmsStatus: 1 vrr: 0 activelyTearing: false ```

2 monitors enabled / 1 disabled

Hyprland Config ```ini monitor=desc:Dell Inc. DELL E2720HS 79YBDZ2,1920x1080@60,0x0,1 monitor=desc:LG Electronics LG HDR 4K 308NTTQFK265,3840x2160@60,1920x0,2 monitor=desc:Sharp Corporation 0x14AE,disable ```
Layout ``` ----------------- ----------------- | | | | | | | | | DP-7 | | DP-8 | | | | | | | | | |---------------| |---------------| ```

How to reproduce

# disable middle monitor
hyprctl keyword monitor "DP-7,disable"

# disable right monitor
hyprctl keyword monitor "eDP-1,disable"

# enable right monitor (works)
hyprctl keyword monitor "eDP-1,1920x1080@59,3840x0,1"

# enable middle monitor (nothing happens -> black screen)
hyprctl keyword monitor "DP-7,3840x2160@60,1920x0,2"

# disable right monitor
hyprctl keyword monitor "eDP-1,disable"

# enable middle monitor (nothing happens -> black screen)
hyprctl keyword monitor "DP-7,3840x2160@60,1920x0,2"

# disable middle monitor
hyprctl keyword monitor "DP-7,disable"

# enable middle monitor (works)
hyprctl keyword monitor "DP-7,3840x2160@60,1920x0,2"

Crash reports, logs, images, videos

No response

vaxerski commented 8 months ago

huh, does this work on older versions? like e.g. 0.30?

Subbeh commented 8 months ago

@vaxerski I tried every minor version down to 0.24 with the same results.

One thing I do seem to get now compared to before, after downgrading and upgrading back to 0.30, is that the cursor is able to move across the entire screen while the background and applications still only cover a quarter of the screen.

hyprland.log although I don't think there is anything useful in it.

killown commented 8 months ago

can you try

monitor=DP-7, 1920x1080@60, 3840x0, auto #left monitor=DP-8, 3840x2160@60, 0x0, auto #right

do not set eDP-1 just for testing

Subbeh commented 8 months ago

@killown having just these two lines in my config and starting Hyprland turns on all 3 monitors. The middle monitor (DP-8) shows the quarter screen as before but does not seem to be registered (no mouse captured but shows wallpaper), and eDP-1 is enabled -- the cursor goes straight from left (DP-7) to right (eDP-1).

Explicitly disabling eDP-1 gives me DP-8 (left) and DP-7 (right) in working condition.

killown commented 8 months ago

@killown having just these two lines in my config and starting Hyprland turns on all 3 monitors. The middle monitor (DP-8) shows the quarter screen as before but does not seem to be registered (no mouse captured but shows wallpaper), and eDP-1 is enabled -- the cursor goes straight from left (DP-7) to right (eDP-1).

Explicitly disabling eDP-1 gives me DP-8 (left) and DP-7 (right) in working condition.

probably the issue is that your monitor with x2160 is bigger than the third monitor which is x1080, the layout get messed, maybe if you try the x2160 in the first position, could give a hint about the issue, if you confirm that x2160 works well in the left with remaining two monitors in the right, means Hyprland has a bug with x1080, x2160, x1080 layout

Subbeh commented 8 months ago

I tried putting the x2160 screen first and last. No differences unfortunately.

killown commented 8 months ago

I tried putting the x2160 screen first and last. No differences unfortunately.

comment all monitor =.. and try monitor=,highres,auto,1

Subbeh commented 8 months ago

That seems to work, but all monitors are set to 1080p.

killown commented 8 months ago

When you mix monitors with different heights, it messes up the mouse movement, it can get stuck in some areas, just like in GNOME. It's pretty annoying, and honestly, I wouldn't recommend using monitors with different height sizes. But... if you're still up for it, I think you'll have to wait for a fix to roll in and while that use all them in 1080p.

Waayway commented 7 months ago

Hiya, i think i might the same problem. i have a laptop with a docking station and the largest (1440p 144hz) wont show up, it did briefly but now it just doesnt have any output. the monitor=,highres,auto,1 does activate the display but its 4k 60 on a 1440p display...