sway
sway copied to clipboard
sway cannot reposition displays, gives no indication of error
Please fill out the following:
-
Sway Version: 1.7
-
Debug Log:
- https://gist.github.com/ohthehugemanatee/e9d5eae4f7822487b54d6ff0cd0f2fe4
-
Configuration File: Also happens with default configuration.
-
Stack Trace: N/A
-
Description: Sway starts and adds a second display just fine. But adjusting the position of either display does nothing.
To reproduce:
- connect second display (DP-5)
- run
swaymsg output DP-5 pos 0 0
- observe no position change.
~
❯ swaymsg --raw output DP-5 position 0 0
[
{
"success": true
}
]
~
❯ echo $?
0
Trying to do the same through wdisplays
says "the display server was not able to process your changes."
Kanshi tries to apply my previously-working config, and thinks applying is fine... but fails afterwards.:
Apr 26 12:49:26 alia kanshi[29478]: applying profile 'homeoffice'
Apr 26 12:49:26 alia kanshi[29478]: applying profile output 'eDP-1' on connected head 'eDP-1'
Apr 26 12:49:26 alia kanshi[29478]: applying profile output 'Samsung Electric Company C34H89x H1AK500000' on connected head 'DP-5'
Apr 26 12:49:26 alia kanshi[29478]: failed to apply configuration for profile 'homeoffice'
Sway debug stdout and stderr output give no indication that anything is wrong.
In case it's helpful:
~
❯ swaymsg -t get_outputs
[
{
"id": 3,
"type": "output",
"orientation": "none",
"percent": 0.15065913370998119,
"urgent": false,
"marks": [
],
"layout": "output",
"border": "none",
"current_border_width": 0,
"rect": {
"x": 1080,
"y": 1440,
"width": 1280,
"height": 800
},
"deco_rect": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"window_rect": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"geometry": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"name": "eDP-1",
"window": null,
"nodes": [
],
"floating_nodes": [
],
"focus": [
4
],
"fullscreen_mode": 0,
"sticky": false,
"active": true,
"dpms": true,
"primary": false,
"make": "Sharp Corporation",
"model": "0x14A8",
"serial": "0x00000000",
"scale": 3.0,
"scale_filter": "nearest",
"transform": "normal",
"adaptive_sync_status": "disabled",
"current_workspace": "1",
"modes": [
{
"width": 3840,
"height": 2400,
"refresh": 59994
},
{
"width": 3840,
"height": 2400,
"refresh": 47995
}
],
"current_mode": {
"width": 3840,
"height": 2400,
"refresh": 59994
},
"max_render_time": 0,
"focused": false,
"subpixel_hinting": "unknown"
},
{
"id": 5,
"type": "output",
"orientation": "none",
"percent": 0.72881355932203384,
"urgent": false,
"marks": [
],
"layout": "output",
"border": "none",
"current_border_width": 0,
"rect": {
"x": 2360,
"y": 1440,
"width": 3440,
"height": 1440
},
"deco_rect": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"window_rect": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"geometry": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"name": "DP-5",
"window": null,
"nodes": [
],
"floating_nodes": [
],
"focus": [
6
],
"fullscreen_mode": 0,
"sticky": false,
"active": true,
"dpms": true,
"primary": false,
"make": "Samsung Electric Company",
"model": "C34H89x",
"serial": "H1AK500000",
"scale": 1.0,
"scale_filter": "nearest",
"transform": "normal",
"adaptive_sync_status": "disabled",
"current_workspace": "2",
"modes": [
{
"width": 3440,
"height": 1440,
"refresh": 49987
},
{
"width": 3440,
"height": 1440,
"refresh": 99982
},
{
"width": 3440,
"height": 1440,
"refresh": 59973
},
{
"width": 2560,
"height": 1440,
"refresh": 59951
},
{
"width": 2560,
"height": 1080,
"refresh": 60000
},
{
"width": 2560,
"height": 1080,
"refresh": 60000
},
{
"width": 2560,
"height": 1080,
"refresh": 59940
},
{
"width": 1920,
"height": 1080,
"refresh": 60000
},
{
"width": 1920,
"height": 1080,
"refresh": 60000
},
{
"width": 1920,
"height": 1080,
"refresh": 59940
},
{
"width": 1920,
"height": 1080,
"refresh": 50000
},
{
"width": 1680,
"height": 1050,
"refresh": 59883
},
{
"width": 1600,
"height": 900,
"refresh": 60000
},
{
"width": 1280,
"height": 1024,
"refresh": 75025
},
{
"width": 1280,
"height": 1024,
"refresh": 60020
},
{
"width": 1440,
"height": 900,
"refresh": 59901
},
{
"width": 1280,
"height": 800,
"refresh": 59910
},
{
"width": 1152,
"height": 864,
"refresh": 75000
},
{
"width": 1280,
"height": 720,
"refresh": 60000
},
{
"width": 1280,
"height": 720,
"refresh": 60000
},
{
"width": 1280,
"height": 720,
"refresh": 59940
},
{
"width": 1280,
"height": 720,
"refresh": 50000
},
{
"width": 1024,
"height": 768,
"refresh": 75029
},
{
"width": 1024,
"height": 768,
"refresh": 70069
},
{
"width": 1024,
"height": 768,
"refresh": 60004
},
{
"width": 832,
"height": 624,
"refresh": 74551
},
{
"width": 800,
"height": 600,
"refresh": 75000
},
{
"width": 800,
"height": 600,
"refresh": 72188
},
{
"width": 800,
"height": 600,
"refresh": 60317
},
{
"width": 800,
"height": 600,
"refresh": 56250
},
{
"width": 720,
"height": 576,
"refresh": 50000
},
{
"width": 720,
"height": 480,
"refresh": 60000
},
{
"width": 720,
"height": 480,
"refresh": 59940
},
{
"width": 640,
"height": 480,
"refresh": 75000
},
{
"width": 640,
"height": 480,
"refresh": 72809
},
{
"width": 640,
"height": 480,
"refresh": 66667
},
{
"width": 640,
"height": 480,
"refresh": 60000
},
{
"width": 640,
"height": 480,
"refresh": 59940
},
{
"width": 720,
"height": 400,
"refresh": 70082
}
],
"current_mode": {
"width": 3440,
"height": 1440,
"refresh": 49987
},
"max_render_time": 0,
"focused": true,
"subpixel_hinting": "unknown"
}
]
This isn't a Sway debug log.
There are failures around applying output configurations with disman+wlroots backend as well.
disman_backend_launcher[1201]: disman.wayland.wlroots: Applying config failed.
ápr 26 18:32:07 adee-UX550GD sway-adee[1066]: 00:00:48.243 [ERROR] [sway/config/output.c:501] Failed to commit output DP-2
ápr 26 18:32:07 adee-UX550GD sway-adee[1066]: 00:00:48.243 [ERROR] [wlr] [backend/drm/atomic.c:37] connector DP-2: Atomic commit failed (pageflip): Device or resource busy
A second try succeeds. Is https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2693 related to this problem? My current workaround is a patch for disman to exit without a coredump and systemd then restarts it.
@emersion sorry about that, updated the debug log accordingly. I logged in from gdb, and ran:
> swaymsg -t get_outputs
Output eDP-1 'Sharp Corporation 0x14A8 0x00000000'
Current mode: 3840x2400 @ 59.994 Hz
Position: 1080,1440
Scale factor: 3.000000
Scale filter: nearest
Subpixel hinting: unknown
Transform: normal
Workspace: 1
Max render time: off
Adaptive sync: disabled
Available modes:
3840x2400 @ 59.994 Hz
3840x2400 @ 47.995 Hz
Output DP-5 'Samsung Electric Company C34H89x H1AK500000' (focused)
Current mode: 3440x1440 @ 49.987 Hz
Position: 2360,1440
Scale factor: 1.000000
Scale filter: nearest
Subpixel hinting: unknown
Transform: normal
Workspace: 2
Max render time: off
Adaptive sync: disabled
Available modes:
3440x1440 @ 49.987 Hz
3440x1440 @ 99.982 Hz
3440x1440 @ 59.973 Hz
2560x1440 @ 59.951 Hz
2560x1080 @ 60.000 Hz
2560x1080 @ 60.000 Hz
2560x1080 @ 59.940 Hz
1920x1080 @ 60.000 Hz
1920x1080 @ 60.000 Hz
1920x1080 @ 59.940 Hz
1920x1080 @ 50.000 Hz
1680x1050 @ 59.883 Hz
1600x900 @ 60.000 Hz
1280x1024 @ 75.025 Hz
1280x1024 @ 60.020 Hz
1440x900 @ 59.901 Hz
1280x800 @ 59.910 Hz
1152x864 @ 75.000 Hz
1280x720 @ 60.000 Hz
1280x720 @ 60.000 Hz
1280x720 @ 59.940 Hz
1280x720 @ 50.000 Hz
1024x768 @ 75.029 Hz
1024x768 @ 70.069 Hz
1024x768 @ 60.004 Hz
832x624 @ 74.551 Hz
800x600 @ 75.000 Hz
800x600 @ 72.188 Hz
800x600 @ 60.317 Hz
800x600 @ 56.250 Hz
720x576 @ 50.000 Hz
720x480 @ 60.000 Hz
720x480 @ 59.940 Hz
640x480 @ 75.000 Hz
640x480 @ 72.809 Hz
640x480 @ 66.667 Hz
640x480 @ 60.000 Hz
640x480 @ 59.940 Hz
720x400 @ 70.082 Hz
> swaymsg -r output DP-5 pos 0 0
[
{
"success": true
}
]
> systemctl --user restart kanshi
swaymsg
and kanshi
were both unable to reposition. I then tried the same with wdisplays, but of course no luck.
If it's relevant: I noticed that when my locking script turns off my eDP-1 display (with swaymsg output eDP-1 disable
, I can't turn it back on again.
-
swaymsg output eDP-1 dpms on
andswaymsg output eDP-1 enable
do nothing. - I can reproduce myself: if I
disable
it, the output won't come back on unless I logout. - I can manually trigger
dpms off
anddpms on
again with no problem.
Thank you for your help!
Can I provide any more information?
Does this help? https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3575
Does this help? https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3575
With that patch I no longer get "Atomic commit failed (pageflip): Device or resource busy"
error during hotplug.
Updated to latest devel wlroots (including this patch) and I can't reproduce the issue anymore - except kanshi still fails to reposition. Closing this issue as resolved, and opening one over there. :)
Dammit, gotta reopen. This worked for my first test, but not afterwards.
swaymsg output DP-6 position 0 500
# observe display successfully repositioned.
swaymsg output DP-6 position 0 0
# observe display is not repositioned.
swaymsg output DP-6 disable
# observe display is successfully disabled
swaymsg output DP-6 enable
# display is not enabled.
Need more logs, perhaps?
I still have this problem. DRM log from 30 seconds with swaywm already open: https://gist.github.com/ohthehugemanatee/cd9fd600fd197b48796ac2f0f7e0a2a7 . I opened wdisplays and tried repositioning the external display.
Interesting part starts around line 64000:
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_set_mode_prop_for_crtc [drm]] Set [MODE:3440x1440] for [CRTC:236:pipe C] state 000000006872a50a
[Di Dez 6 15:23:48 2022] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 325 (4)
[Di Dez 6 15:23:48 2022] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 325 (3)
[Di Dez 6 15:23:48 2022] [drm:drm_mode_object_get [drm]] OBJ ID: 284 (4)
[Di Dez 6 15:23:48 2022] [drm:drm_mode_object_get [drm]] OBJ ID: 284 (5)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_get_connector_state [drm]] Added [CONNECTOR:284:DP-6] 00000000bfea3800 state to 00000000799718f7
[Di Dez 6 15:23:48 2022] [drm:drm_mode_object_put.part.0 [drm]] OBJ ID: 284 (6)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_check_only [drm]] checking 00000000799718f7
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_helper_check_modeset [drm_kms_helper]] [CRTC:236:pipe C] mode changed
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:update_connector_routing [drm_kms_helper]] Updating routing for [CONNECTOR:284:DP-6]
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:update_connector_routing [drm_kms_helper]] [CONNECTOR:284:DP-6] keeps [ENCODER:271:DP-MST C], now on [CRTC:236:pipe C]
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_helper_check_modeset [drm_kms_helper]] [CRTC:236:pipe C] needs all connectors, enable: y, active: y
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_add_affected_connectors [drm]] Adding all current connectors for [CRTC:236:pipe C] to 00000000799718f7
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_add_affected_planes [drm]] Adding all current planes for [CRTC:236:pipe C] to 00000000799718f7
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_add_encoder_bridges [drm]] Adding all bridges for [encoder:271:DP-MST C] to 00000000799718f7
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_add_encoder_bridges [drm]] Adding all bridges for [encoder:271:DP-MST C] to 00000000799718f7
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_modeset_pipe_config [i915]] [CONNECTOR:284:DP-6] Limiting display bpp to 24 instead of EDID bpp 24, requested bpp 36, max platform bpp 36
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_dp_mst_get_port_malloc [drm_display_helper]] port 0000000042f3aa23 (5)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_get_private_obj_state [drm]] Added new private object 000000000c5ff17c state 00000000b362d8ac to 00000000799718f7
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_dp_atomic_find_vcpi_slots [drm_display_helper]] [CONNECTOR:284:DP-6] [MST PORT:0000000042f3aa23] VCPI 39 -> 65
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_dp_atomic_find_vcpi_slots [drm_display_helper]] [CONNECTOR:284:DP-6] [MST PORT:0000000042f3aa23] PBN 1144 -> 1945
[Di Dez 6 15:23:48 2022] [drm:drm_dp_mst_update_slots [drm_display_helper]] 8b/10b encoding format on mst_state 0x00000000b362d8ac
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_modeset_pipe_config [i915]] hw max bpp: 24, pipe bpp: 24, dithering: 0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:pipe_config_mismatch [i915]] [CRTC:236:pipe C] fastset mismatch in dp_m_n (expected tu 39 data 4967143/8388608 link 413928/1048576, or tu 0 data 0/0 link 0/0, found tu 65, data 8442978/8388608 link 703581/1048576)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:pipe_config_mismatch [i915]] [CRTC:236:pipe C] fastset mismatch in hw.pipe_mode.crtc_vtotal (expected 1481, found 1510)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:pipe_config_mismatch [i915]] [CRTC:236:pipe C] fastset mismatch in hw.pipe_mode.crtc_vblank_end (expected 1481, found 1510)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:pipe_config_mismatch [i915]] [CRTC:236:pipe C] fastset mismatch in hw.adjusted_mode.crtc_vtotal (expected 1481, found 1510)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:pipe_config_mismatch [i915]] [CRTC:236:pipe C] fastset mismatch in hw.adjusted_mode.crtc_vblank_end (expected 1481, found 1510)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:pipe_config_mismatch [i915]] [CRTC:236:pipe C] fastset mismatch in hw.pipe_mode.crtc_clock (expected 319750, found 543500)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:pipe_config_mismatch [i915]] [CRTC:236:pipe C] fastset mismatch in hw.adjusted_mode.crtc_clock (expected 319750, found 543500)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_dp_mst_atomic_check [drm_display_helper]] [MST PORT:0000000042f3aa23] requires 65 vcpi slots
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_dp_mst_atomic_check [drm_display_helper]] [MST PORT:0000000042f3aa23] not enough VCPI slots in mst state 00000000b362d8ac (avail=63)
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] [CRTC:236:pipe C] enable: yes [failed]
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] active: yes, output_types: DP_MST (0x800), output format: RGB
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] cpu_transcoder: C, pipe bpp: 24, dithering: 0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] MST master transcoder: <invalid>
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] port sync: master transcoder: <invalid>, slave transcoder bitmask = 0x0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] bigjoiner: no, pipes: 0x0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] splitter: disabled, link count 0, overlap 0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] dp m_n: lanes: 2; data_m: 8442978, data_n: 8388608, link_m: 703581, link_n: 1048576, tu: 65
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] dp m2_n2: lanes: 2; data_m: 0, data_n: 0, link_m: 0, link_n: 0, tu: 0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] framestart delay: 1, MSA timing delay: 0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] audio: 1, infoframes: 0, infoframes enabled: 0x0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] vrr: no, vmin: 0, vmax: 0, pipeline full: 0, guardband: 0 flipline: 0, vmin vblank: -1, vmax vblank: -2
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] requested mode: "3440x1440": 100 543500 3440 3488 3520 3600 1440 1443 1453 1510 0x48 0x9
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] adjusted mode: "3440x1440": 100 543500 3440 3488 3520 3600 1440 1443 1453 1510 0x48 0x9
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_crtc_timings [i915]] crtc timings: 543500 3440 3488 3520 3600 1440 1443 1453 1510, type: 0x48 flags: 0x9
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] pipe mode: "3440x1440": 100 543500 3440 3488 3520 3600 1440 1443 1453 1510 0x40 0x9
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_crtc_timings [i915]] crtc timings: 543500 3440 3488 3520 3600 1440 1443 1453 1510, type: 0x40 flags: 0x9
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] port clock: 810000, pipe src: 3440x1440+0+0, pixel rate 543500
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] linetime: 0, ips linetime: 0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] num_scalers: 2, scaler_users: 0x0, scaler_id: -1
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] pch pfit: 0x0+0+0, disabled, force thru: no
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] ips: 0, double wide: 0, drrs: 0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:icl_dump_hw_state [i915]] dpll_hw_state: cfgcr0: 0x0, cfgcr1: 0x0, div0: 0x0, mg_refclkin_ctl: 0x100, hg_clktop2_coreclkctl1: 0x500, mg_clktop2_hsclkctl: 0x100, mg_pll_div0: 0x5e000069, mg_pll_div2: 0x21012, mg_pll_lf: 0x27110804, mg_pll_frac_lock: 0x55552, mg_pll_ssc: 0x8001200, mg_pll_bias: 0x0, mg_pll_tdc_coldst_bias: 0x10000
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] csc_mode: 0x0 gamma_mode: 0x0 gamma_enable: 0 csc_enable: 0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_pipe_config [i915]] degamma lut: 0 entries, gamma lut: 0 entries
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_plane_state [i915]] [PLANE:169:plane 1C] fb: [FB:310] 3440x1440 format = XR24 little-endian (0x34325258) modifier = 0x100000000000001, visible: yes
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_plane_state [i915]] rotation: 0x1, scaler: -1
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_plane_state [i915]] src: 3440.000000x1440.000000+0.000000+0.000000 dst: 3440x1440+0+0
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:intel_dump_plane_state [i915]] [PLANE:232:cursor C] fb: [NOFB], visible: no
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_check_only [drm]] atomic driver check for 00000000799718f7 failed: -28
[Di Dez 6 15:23:48 2022] i915 0000:00:02.0: [drm:drm_atomic_state_default_clear [drm]] Clearing atomic state 00000000799718f7
The key error is [drm:drm_dp_mst_atomic_check [drm_display_helper]] [MST PORT:0000000042f3aa23] not enough VCPI slots in mst state 00000000b362d8ac (avail=63)
. A duckduckgo search came up with kernel patches to various graphics drivers especially including intel, which adjust how we get and track available VCPI slots... so it is clearly a kernel level issue. The number of VCPI slots detected is insufficient for the desired resolution/refresh rate.
I don't know enough about the video subsystem to be sure, but to my understanding : wlroots and swaymsg -t get_outputs
correctly report the available resolutions for the adapter/display, but does not filter by limitations like VCPI slots.
The workaround is to simply use the same resolution at a lower refresh rate.
I leave it to the maintainers to decide if this should be addressed, or closed as wontfix.
but does not filter by limitations like VCPI slots
wlroots can't do that, only the kernel would have enough info, and even then this depends on the number of connected outputs etc.
You can try WLR_DRM_NO_MODIFIERS=1
as a workaround, it sometimes help on Intel.
WLR_DRM_NO_MODIFIERS=1
worked for me