AMD P-State EPP Driver Improved Gaming Performance On My Ryzen 5700X
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!
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.
- Oh No! I Bought A GPU! The AMD RX 6700 XT
- AMD Radeon vs. Nvidia RTX on Linux
- My New Radeon 6700 XT – Two Months Later
- Should You Upgrade Your B350 Motherboard to a Ryzen 5600 or Ryzen 5700X?
- Putting a Ryzen 5700X in My B350-Plus Motherboard Was a Good Idea!
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.
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!
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.
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.
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.
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.