The new amd_pstate CPU frequency driver landed in version 6.3 of the Linux kernel. I saw Phoronix’s power utilization benchmarks, and the results didn’t look terribly exciting. There might be a couple of watts to be saved on a laptop, but I sure wasn’t expecting to notice a difference on my recently upgrade Ryzen 5700X gaming machine. I was proven wrong immediately!

Stable Diffusion Stock Photo Ryzen Guy

I am not a game or hardware reviewer. I don’t have fancy test equipment. I don’t save lots of logs to compare data. I will start with the two things that I am certain are true, and then we can talk about the things that are difficult for me to corroborate.

I am going in order of confidence here.

Tiny Tina’s Wonderlands is much smoother

I have been playing Tiny Tina’s Wonderlands. I have had a bit of an issue with a sort of jitter. It usually happens at least a bit on maps where you can see quite far into the distance, and it is especially bad in the town of Brighthoof.

My frame rate stays up over 100 FPS. The graph of the frame times is a little rough, but it has looked worse before without a game feeling this crunchy.

Tiny Tina's Wonderlands Jitter

NOTE: I doubt that is the most jittery MangoHud output that I have ever seen, but this is what I have saved. The worst case didn’t look significantly different.

Wonderlands doesn’t always have an obvious jitter, but I can say that it sometimes feels less smooth than the frame rate should feel.

The problem is gone. Booting with the new amd_pstate driver enabled made Tiny Tina’s Wonderlands buttery smooth.

I didn’t quite trust the results. My Mesa libraries were updated from the final release candidate to the actual release at the same time that I was upgraded to a version 6.3 kernel. I doubted that such a significant change landed in Mesa right before the release, but I figured I ought to disable to amd_pstate driver just to make sure. Disabling the driver brought back all the jitters.

Slight improvement in Geekbench 5 results

This is far from a huge improvement. My single-core score increased from 1714 to 1741, and my multi-score score increased from 9744 to 9787.

That is a fraction of a percent, but I still think this has some significance. I have a handful of previous Geekbench results recorded, and the very first Geekbench run with the amd_pstate driver beat every single one of them.

I really just wanted to make sure that this wasn’t going to be a downgrade. I am pleased to see that it is leaning ever so slightly toward an upgrade!

Dying Light

My Ryzen 5700X with my Radeon 6700 XT can run Dying Light at over 100 FPS with max settings. It was one of the first games I tested after the upgrade, and I immediately noticed that the game just didn’t feel right.

It felt like I was moving the mouse through mud, and it had a slight jitter that wasn’t entirely unlike the jitter I had playing Wonderlands. I quickly narrowed it down to the shadow-quality setting. If I dropped it from very high to high, the game felt perfect.

Wonderlands made me think I should revisit this.

The problem is still there with the shadows set to very high, but I had to work pretty hard to convince myself that the problem is still there. I don’t feel like there is any jitter, but I feel like there is a bit of additional latency. It is very small, but it feels weird.

DEATHLOOP

Dying Light was easy to test. I could just walk around where my last save game puts me, and I can feel the problems with Dying Light. DEATHLOOP is a different story.

There are some areas in DEATHLOOP that drop well under 100 FPS for me, and some of those areas feel quite crunchy when I am fighting a lot of bad guys.

DEATHLOOP

I only spent five minutes running around to test whether or not the amd_pstate driver smoothed out that crunchiness for me. The game felt smooth everywhere I went, but I didn’t go all that far.

Conclusion

I am not entirely sure which Ryzen CPUs can use the new amd_pstates driver, and I am even less sure which models will have as much of a benefit as I am seeing. If you’re having problems similar to what I have described, and you are already running a 6.3 or newer kernel, then I think you should most definitely add amd_pstate=active to your grub configuration. It can’t hurt to give the new driver a shot!

If your distro doesn’t ship a kernel with the amd_pstate driver, I would say it is up to you to decide if you are comfortable installing a third-party kernel or compiling your own. I have been doing the latter since my days running Linux on my 386 with four megabytes of RAM, so I am quite comfortable with this stuff.

I don’t usually compile kernels these days, though. I am running the Xanmod kernel on my desktop. The Xanmod kernel is pretty easy to install on Ubuntu or Debian, it ships with some handy features like a lower-latency process scheduler, and they usually have new builds available shortly after Linus publishes a new release.