Skip to content

[BUG] dpms-off doesn't keep my monitors off or bring them back afterwards #660

Open

Description

@SnenxyTengoku

What happened?

I have two monitors, my primary monitor connected via HDMI, and my secondary monitor connected via an HDMI to DisplayPort adapter.

When executing noctalia msg dpms-off, my monitors turn off for about 2 seconds. Afterwards, my secondary monitor turns itself back on, and my primary monitor stays off even with user activity, until I go and manually execute noctalia msg dpms-on to turn it back on.

This behavior is consistent and I'm unable to turn off all of my displays at all, other than physically turning them off. I suspect this has to do with the HDMI to DisplayPort adapter triggering something to cause this issue to occur, although Niri and KDE Plasma don't suffer any issues when it comes to turning off all of my displays simultaneously and properly bringing back back on after user activity.

How can we reproduce it?

  1. Get a multi-monitor setup where this can be observed (I suppose?)
  2. Log into Umbriel
  3. Turn off displays (noctalia msg dpms-off)
  4. Observe monitors turning off, then one turning back on and the other staying off

Umbriel version

umbriel 0.1.0 (380f6c1f547180f35c1a7a5a32c0f6aa11e85cad)

Last working version

No response

Affected area

Output or display (modes, scale, hotplug, DPMS)

Distribution

Fedora-based

System details

GPU: AMD Radeon 780M Graphics [Integrated]
Outputs: HDMI-A-1 "LG Electronics LG FULL HD 0x01010101 (HDMI-A-1)", DP-1 "Dell Inc. S2318HN/NX NHD1J77E0U5B (DP-1 via HDMI)"
Kernel: Linux 7.3.0-4.cachyos1.lto.fc44.x86_64

Logs, errors, or backtraces

2026-11-01 18:04:51.848 [DBG] [layer] new layer surface ns=noctalia-panel-click-shield layer=2 output=HDMI-A-1 exclusive=0
2026-11-01 18:04:51.848 [DBG] [layer] new layer surface ns=noctalia-panel-click-shield layer=2 output=DP-1 exclusive=0
2026-11-01 18:04:51.849 [DBG] [layer] new layer surface ns=noctalia-attached-panel layer=2 output=HDMI-A-1 exclusive=0
2026-11-01 18:04:53.082 [DBG] [layer] destroy layer surface output=DP-1
2026-11-01 18:04:53.082 [DBG] [layer] destroy layer surface output=HDMI-A-1
2026-11-01 18:04:53.149 [DBG] [layer] last message repeated 1 times
2026-11-01 18:04:53.149 [INF] [lock] session lock requested
2026-11-01 18:04:53.149 [DBG] [lock] lock surface output=HDMI-A-1
2026-11-01 18:04:53.149 [DBG] [lock] lock surface output=DP-1
2026-11-01 18:04:53.183 [INF] [lock] session is locked
2026-11-01 18:04:56.443 [INF] [wlr] [backend/drm/drm.c:984] connector HDMI-A-1: Turning off
2026-11-01 18:04:56.487 [INF] [output] output 'HDMI-A-1': powered off
2026-11-01 18:04:56.487 [INF] [wlr] [backend/drm/drm.c:984] connector DP-1: Turning off
2026-11-01 18:04:56.522 [INF] [output] output 'DP-1': powered off
2026-11-01 18:04:56.522 [DBG] [layer] new layer surface ns=noctalia-osd layer=3 output=HDMI-A-1 exclusive=0
2026-11-01 18:04:56.522 [DBG] [layer] new layer surface ns=noctalia-osd layer=3 output=DP-1 exclusive=0
2026-11-01 18:05:00.054 [INF] [wlr] [backend/drm/drm.c:1778] Scanning DRM connector 402 on /dev/dri/card1
2026-11-01 18:05:00.054 [INF] [wlr] [backend/drm/drm.c:1869] 'DP-1' disconnected
2026-11-01 18:05:00.054 [DBG] [layer] destroy layer surface output=DP-1
2026-11-01 18:05:00.055 [DBG] [layer] last message repeated 8 times
2026-11-01 18:05:00.055 [INF] [wlr] [backend/drm/drm.c:984] connector DP-1: Turning off
2026-11-01 18:05:00.353 [INF] [wlr] [backend/drm/drm.c:1778] Scanning DRM connector 402 on /dev/dri/card1
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1861] 'DP-1' connected
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1646] Detected modes:
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1920x1080 @ 60.000 Hz (preferred)
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1920x1080 @ 60.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1920x1080 @ 59.940 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1920x1080 @ 50.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1600x900 @ 60.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1280x1024 @ 75.025 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1280x1024 @ 60.020 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1152x864 @ 75.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1280x720 @ 60.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] last message repeated 1 times
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1280x720 @ 59.940 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1280x720 @ 50.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1024x768 @ 75.029 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   1024x768 @ 60.004 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   800x600 @ 75.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   800x600 @ 60.317 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   720x576 @ 50.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] last message repeated 1 times
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   720x480 @ 60.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] last message repeated 1 times
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   720x480 @ 59.940 Hz
2026-11-01 18:05:00.355 [INF] [wlr] last message repeated 2 times
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   640x480 @ 75.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   640x480 @ 60.000 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   640x480 @ 59.940 Hz
2026-11-01 18:05:00.355 [INF] [wlr] last message repeated 1 times
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1670]   720x400 @ 70.082 Hz
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1707] Physical size: 510x290
2026-11-01 18:05:00.355 [INF] [wlr] [backend/drm/drm.c:1895] connector DP-1: Requesting modeset
2026-11-01 18:05:00.360 [INF] [wlr] [backend/drm/drm.c:980] connector DP-1: Modesetting with 1920x1080 @ 60.000 Hz
2026-11-01 18:05:00.415 [INF] [output] output 'DP-1': applied mode=1920x1080@60000mHz scale=1 transform=0
2026-11-01 18:05:00.416 [DBG] [output] DP-1 usable=1920x1080+0+0
2026-11-01 18:05:00.416 [DBG] [workspace] activate workspace 1 on DP-1
2026-11-01 18:05:00.416 [INF] [workspace] workspace group for DP-1 with 1 workspaces
2026-11-01 18:05:00.417 [INF] [server] restored 6 displaced windows
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-wallpaper layer=0 output=DP-1 exclusive=0
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-bar-Panel layer=2 output=DP-1 exclusive=0
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-dock layer=2 output=DP-1 exclusive=0
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-desktop-widget-audio_visualizer-0000000000000002 layer=1 output=DP-1 exclusive=0
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-desktop-widget-sticker-000000000000000b layer=1 output=DP-1 exclusive=0
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-desktop-widget-sticker-000000000000000c layer=1 output=DP-1 exclusive=0
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-desktop-widget-sticker-000000000000000d layer=1 output=DP-1 exclusive=0
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-desktop-widget-sticker-000000000000000e layer=1 output=DP-1 exclusive=0
2026-11-01 18:05:00.450 [DBG] [lock] lock surface output=DP-1
2026-11-01 18:05:00.450 [DBG] [layer] new layer surface ns=noctalia-osd layer=3 output=DP-1 exclusive=0
2026-11-01 18:05:00.499 [DBG] [output] DP-1 usable=1920x1042+0+38
2026-11-01 18:05:05.378 [INF] [lock] session unlocked
2026-11-01 18:05:14.067 [INF] [wlr] [backend/drm/drm.c:980] connector HDMI-A-1: Modesetting with 1920x1080 @ 74.973 Hz
2026-11-01 18:05:14.136 [INF] [output] output 'HDMI-A-1': applied mode=1920x1080@74973mHz scale=1 transform=0
2026-11-01 18:05:15.791 [DBG] [layer] destroy layer surface output=HDMI-A-1
2026-11-01 18:05:15.791 [DBG] [layer] destroy layer surface output=DP-1
2026-11-01 18:05:17.744 [DBG] [workspace] slide workspace 2 → 1 on HDMI-A-1

Anything else?

No response

Activity

  1. rsramkis commented on Nov 3, 2026

    @rsramkis

    This is the syntax in my config file for my laptop after the colon character was removed a couple builds ago.

    [events]
    lid_close = "umbriel msg dpms-off eDP-1"
    lid_open  = "umbriel msg dpms-on eDP-1"
    

    I updated to the latest umbriel build this morning and it is working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfedora-basedIssue reported for this Linux distribution family

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions