sway: Can not enable output mode 4k@60Hz

I am on an Arch Linux system and just ran a full system update. After a reboot, my external monitor now only runs with 30Hz, not with 60Hz anymore like it used to.

I confirmed via swaymsg -t get_outputs that the 60Hz mode is available, but I can not switch to it.

I attached my config file, but I am not doing anything special with outputs at all.

Please fill out the following:

Output DP-2 'BNQ BenQ EW3270U S2M05951019' (focused)
  Current mode: 3840x2160 @ 30.000 Hz
  Position: 0,0
  Scale factor: 1.000000
  Scale filter: nearest
  Subpixel hinting: unknown
  Transform: normal
  Workspace: 2
  Max render time: off
  Adaptive sync: disabled
  Available modes:
    3840x2160 @ 60.000 Hz
    3840x2160 @ 60.000 Hz (16:9)
    3840x2160 @ 59.940 Hz (16:9)
    3840x2160 @ 50.000 Hz (16:9)
    3840x2160 @ 30.000 Hz (16:9)
    3840x2160 @ 29.970 Hz (16:9)
    3840x2160 @ 25.000 Hz (16:9)
    3840x2160 @ 24.000 Hz (16:9)
    3840x2160 @ 23.976 Hz (16:9)
    2560x1600 @ 55.817 Hz
    2560x1440 @ 59.951 Hz
    1920x1080 @ 60.000 Hz
    1920x1080 @ 60.000 Hz (16:9)
    1920x1080 @ 59.940 Hz (16:9)
    1920x1080 @ 50.000 Hz (16:9)
    1920x1080 @ 30.000 Hz (16:9)
    1920x1080 @ 29.970 Hz (16:9)
    1920x1080 @ 25.000 Hz (16:9)
    1920x1080 @ 24.000 Hz (16:9)
    1920x1080 @ 23.976 Hz (16:9)
    1680x1050 @ 59.883 Hz
    1600x900 @ 60.000 Hz
    1280x1024 @ 75.025 Hz
    1280x1024 @ 60.020 Hz
    1280x800 @ 59.910 Hz
    1152x864 @ 75.000 Hz
    1280x720 @ 60.000 Hz
    1280x720 @ 60.000 Hz (16:9)
    1280x720 @ 59.940 Hz (16:9)
    1280x720 @ 50.000 Hz (16:9)
    1024x768 @ 75.029 Hz
    1024x768 @ 60.004 Hz
    832x624 @ 74.551 Hz
    800x600 @ 75.000 Hz
    800x600 @ 60.317 Hz
    720x576 @ 50.000 Hz (16:9)
    720x480 @ 60.000 Hz (16:9)
    720x480 @ 59.940 Hz (16:9)
    640x480 @ 75.000 Hz
    640x480 @ 60.000 Hz (4:3)
    640x480 @ 59.940 Hz
    640x480 @ 59.940 Hz (4:3)
    720x400 @ 70.082 Hz

Output eDP-1 'AU Optronics 0x683D Unknown' (inactive)
  Available modes:
    1920x1080 @ 60.049 Hz
    1680x1050 @ 60.049 Hz
    1280x1024 @ 60.049 Hz
    1440x900 @ 60.049 Hz
    1280x800 @ 60.049 Hz
    1280x720 @ 60.049 Hz
    1024x768 @ 60.049 Hz
    800x600 @ 60.049 Hz
    640x480 @ 60.049 Hz
  • Then ran swaymsg output DP-2 mode 3840x2160@60Hz
  • Nothing happened

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 18 (8 by maintainers)

Commits related to this issue

Most upvoted comments

Does this wlroots patch help?

diff --git a/backend/drm/atomic.c b/backend/drm/atomic.c
index c69d6abd5219..eb7a388001fb 100644
--- a/backend/drm/atomic.c
+++ b/backend/drm/atomic.c
@@ -283,7 +283,7 @@ static bool atomic_crtc_commit(struct wlr_drm_connector *conn,
 			DRM_MODE_CONTENT_TYPE_GRAPHICS);
 	}
 	if (modeset && active && conn->props.max_bpc != 0 && conn->max_bpc > 0) {
-		atomic_add(&atom, conn->id, conn->props.max_bpc, conn->max_bpc);
+		//atomic_add(&atom, conn->id, conn->props.max_bpc, conn->max_bpc);
 	}
 	atomic_add(&atom, crtc->id, crtc->props.mode_id, mode_id);
 	atomic_add(&atom, crtc->id, crtc->props.active, active);

@emersion Yes, after reboot, that fixed it! So it was attempting to set the mode to the maximum supported bit depth. With RGB that will make 60Hz modes nonviable over HDMI2.0 with displays supporting deep colour.

I have a problem with sway 1.8 not being able to enable the 1440p60 mode on one display, but not the other. The default of 1080p60 was the new default for that monitor. Before it would detect it correctly without even trying to set the mode. Monitors are identical, both connected via usb c (DP alt) docking station. Downgrading wlroots + sway to 1.7 (and the most recent previous wlroots version) fixed it again. This came after the IDs of both displays changed as well (“Goldstar Company Ltd LG HDR QHD 105NTTQGXXXX” > “LG Electronics LG HDR QHD 105NTTQGXXXX”) with the 1.8 upgrade. The ids are an obvious fix in the config, but the issue with the mode remained, so I had to downgrade.

Does a downgrade of wlroots + sway fix your issue as well?