this post was submitted on 17 Oct 2024
75 points (100.0% liked)

Linux Gaming

15494 readers
396 users here now

Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.

This page can be subscribed to via RSS.

Original /r/linux_gaming pengwing by uoou.

Resources

WWW:

Discord:

IRC:

Matrix:

Telegram:

founded 2 years ago
MODERATORS
 

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

top 4 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 2 months ago* (last edited 2 months ago) (1 children)

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] 2 points 2 months ago* (last edited 2 months 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 3 points 2 months ago (1 children)

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] 2 points 2 months ago* (last edited 2 months 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.