MX Linux, Xfce 4.18

Closing the laptop lid suspends the system, opening it resumes it, but the screen is black. I’m guessing it’s related to powerup because suspending through the logout menu and systemctl suspend both work as expected. When it’s black, switching to a different tty works, as well as C-M-Backspace to logout.

Same results with both lightdm and sddm, when replacing suspend with hibernate, and I’ve tried a few solutions like disabling lock on sleep.

Seems like this issue has been around for years, but had a whole bunch of different causes since every other thread has a different solution.

XFSETTINGSD_DEBUG=1 xfsettingsd --replace --no-daemon > /tmp/xf.log 2>&1

ps -ef | grep -E ‘screen|lock’

xfconf-query -c xfce4-power-manager -lv

dmesg, cleared it before trying to suspend

updates:

I’m not seeing a black screen, instead it turns on the display and then turns it off.

Additionally, I tried closing and opening the lid a few times, and it woke up correctly.

I tried it in i3wm with the xfce power manager to suspend after closing the lid. It woke up correctly 10 times in a row.

Solution: start an xrandr config and the monitor turns back on.

  • lurch (he/him)@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    7 months ago

    i suggest you try something with chvt or openvt for a workaround. like after resume chvt to tty1 and then back to whatever your GUI runs on.

    • ShareniOP
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      Saw that recommended, but it doesn’t work. It just goes back to black.

      • lurch (he/him)@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        7 months ago

        i wonder what happens if you send SIGSTOP to the Xserver before suspend, then SIGCONT after resume. I imagine it would be like a time jump and it doesn’t notice it was suspended, but not sure at all.

        • ShareniOP
          link
          fedilink
          arrow-up
          3
          ·
          7 months ago

          I found a solution last night: execute an xrandr config. I’ll update the post later when I automate it.