I have KDE set to Turn Off Screen after 5 minutes and to Sleep after 10 minutes of inactivity. This works when I first turn on the machine, but eventually stops working after a few hours of general use (mostly Firefox, VS Code, and some Steam games). Sometimes the screen isn’t turning off at all, other times the screen turns off but the machine never goes to sleep. (Explicitly telling it to go to sleep from the main menu always works.)

EDIT: Seems like browser tabs or Steam are the likely culprits. I would often leave Steam running in the background, and KDE is suspending more reliably for me now after I close it. Possibly this steam-for-linux GitHub issue.

I figure there’s either some sort of issue with KDE power management, or one (or more) applications are preventing it from sleeping. How do I troubleshoot this further?

systemd-inhibit just lists PowerDevil, which seems to be KDE’s power management service:

$ systemd-inhibit --list --mode=block
WHO        UID  USER    PID  COMM            WHAT                                                                       WHY                      MODE 
PowerDevil 1000 iggames 4115 org_kde_powerde handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch KDE handles power events block

1 inhibitors listed.

One time, I clicked KDE’s Power Management notification icon, and it showed me an app that was preventing sleep (a game that had not exited properly). Most of the time, however, it doesn’t list anything.

Is there a way to see what apps are causing “activity” that would prevent PowerDevil from suspending the machine? What should I try next?

System details:

Operating System: Fedora Linux 40
KDE Plasma Version: 6.0.5
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.1
Kernel Version: 6.8.11-300.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × 12th Gen Intel® Core™ i5-12400
Memory: 31.1 GiB of RAM
Graphics Processor: AMD Radeon RX 6600
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: B660M DS3H DDR4
  • gnuhaut
    link
    fedilink
    arrow-up
    6
    ·
    7 months ago

    Steam does block screensavers/dpms. Can you make sure steam isn’t running in the background?

    • iggames@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      7 months ago

      I often leave Steam running in the background. Indeed, KDE seems to be suspending more reliably after I exit Steam. Thanks for the suggestion!

      • gnuhaut
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        7 months ago

        I think what’s going on there is that your suspend thingy looks at the “idle time” (kept track of by the X server or (I assume) wayland compositor) to know when to do its thing. This idle time gets reset whenever you use the keyboard or mouse, but not when you use a controller, because games talk directly to the kernel for controller input, not X. This used to be a serious annoyance because screensavers/lockscreens/dpms kept enabling themselves while playing with a game controller.

        Steam “fixed” this some years back, by interfering with this idle time in some way, so your screensaver/dpms/lock wouldn’t start. But, annoyingly, steam does this all the time, not just while playing a game.

        Bug report:

        https://github.com/ValveSoftware/steam-for-linux/issues/5607

  • baru@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    7 months ago

    I highly recommend list-inhibitors. Not sure if this is the one I mean, the command line seems to match to the one I use: https://pypi.org/project/list-session-inhibitors/

    This command gives a way nicer output.

    For me Firefox often prevents the system from going to idle. If some page has a video it often seems to inhibit going to idle. Firefox strangely does that even if the video is paused.

    For me and Firefox I’m often intend to do something about it. And then I don’t for various reasons 😂

    • iggames@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      7 months ago

      Looks like that script is for Gnome (based on the StackOverflow post listed on the project page, it talks to org.gnome.SessionManager via dbus). I wonder if there is a similar way to talk to PowerDevil?

  • Fliegenpilzgünni@slrpnk.net
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    7 months ago

    Same here. Like… forever now.
    When I click “hibernate”/ “standby”, the PC goes off for a second, and then switches on again. Resetting the energy settings to default helped for some time, but that only made it a bit less often IIRC, not fixing it.

    On my laptop, that doesn’t happen. I set it to go to standby if the lid closes, and it works as it should.

    My thesis is, that there are different standby-states. KDE tries to force one explicit kind of it, and if the device doesn’t support it, it won’t go into standby properly.

    On Gnome on the other hand, I never had problems with the standby on my PC. It’s a KDE issue

    • Red@reddthat.com
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      7 months ago

      Close, that is because of the wakeup. (I think)

      See all of your devices that make your computer: cat /proc/acpi/wakeup

      Toggle all of them one by one:

      echo GPP0 | sudo tee /proc/acpi/wakeup (where GPP0 is the item in the left hand column)

      Cat again if you want to see if it’s disabled

      Keep going until you find the one that is ‘waking’ your computer back up after a sleep.

      When you find the right one, add it to your crontab so it turns it off on every boot:

      sudo crontab -e
      @reboot echo "GPP0" > /proc/acpi/wakeup
      
    • Vincent@feddit.nl
      link
      fedilink
      arrow-up
      1
      ·
      7 months ago

      Unfortunately I have the same symptoms you do… On GNOME.

      It doesn’t always happen, but every now and then the system will get into a state that suspend doesn’t work.