Nice to see this will be finally fixed. You have to make a udev rule to work around this at the moment.

  • mox
    link
    fedilink
    English
    8
    edit-2
    1 month ago

    It’s better in the name of performance but with more aggressive ramping of the core/memory clock frequencies it can come with an increase to power use by default.

    A Phoronix comment says this increases power draw by more than 10W at idle. That’s pretty wasteful for systems that spend most of the day at or near idle. (And AMD’s recent GPUs already have a reputation for idling with too much power draw on linux.)

    I hope the change comes with an easy to revert it. If they can’t figure out how to automatically enter and leave this mode on demand, we need a way for a script or gamemode hook to do it. Efficiency is important even in desktop systems.

    • @[email protected]OP
      link
      fedilink
      English
      2
      edit-2
      1 month ago

      It depends on the GPU I suspect. The 6XXX series doesn’t appear to have that issue, at least not in a significant way. But yeah, the 7XXX series having power consumption issues isn’t too surprising.

      As for the quote, the “more aggressive ramping” is about its behaviour under load, which you probably do want if you’re playing games.

      You can revert the change in the same way as you can make the change now, with a udev rule. And you can change it on the fly with a script if needed.

      Udev rule:

      KERNEL=="card0", SUBSYSTEM=="drm", DRIVERS=="amdgpu", ATTR{device/power_dpm_force_performance_level}="manual", ATTR{device/pp_power_profile_mode}="0"
      

      (you might be able to leave the power_dpm_force_performance_level part unset)

      You can also try the compute (5) or VR (4) modes which have slightly different behaviour (I use the compute mode on my systems even though they are mostly for gaming).

      I believe some of the third party GPU control utilities can also do this, but I don’t personally use them.

  • @ozymandias117
    link
    English
    31 month ago

    If this is normally only used for full screen 3D, would there be a way to enable it only on fullscreen, a. la. the old unredirect full screen windows in X11?

    • @[email protected]OP
      link
      fedilink
      English
      2
      edit-2
      1 month ago

      Linux currently doesn’t have a concept of “exclusive fullscreen” in the way that Windows does. A new wayland protocol can probably resolve this, although I’m not sure if any work has been done for that yet.

      You could do it manually though most likely by having a script check if the current window is fullscreen (which you can do with sway/wlroots easily at least) and then apply the change. But there would be some false positives where you might not want the behaviour (like a video player), although if you’re watching high resolution/high framerate content it would be useful.