Tips on running a Ryzen 9 7950X3D

Hello everyone,

So I was gifted a Ryzen 9 7950x3d as the previous owner moved to a Ryzen 7 9800x3d, he was always complaining about stutters and that the game was “hopping” from the x3d ccd to the non x3d ccd and vice versa. No matter what he did in the BIOS or settings in windows he changed the sutters remained.

Me on the other hand using Linux is there anything I need to do to avoid this? Or it works well out of the box? The only things I found related to x3d chips are like the 7800x3d or 9800x3d that only have 1 ccd.

Thanks!

Just install it and install linux to see how it performs.

1 Like

Have to agree with @MichelN on this. Install linux, install your games, and then test test test. If you do see a micro-stutter then look into that. Trying to diagnose a problem before it happens will both make you rip your hair out and prevent you from actually, you know, gaming.

I have a 5800X3D and I did notice less stuttering in my games since going to linux but I think that has more to do with my graphics / drivers than the CPU which barely gets touched in the games I play.

1 Like

No X3D experience here. But I’ld recommend to install zenpower3-dkms as there might be unreliable temperature sensor readings. Which affected some early generations of the zen cpus.

Generally, amd-pstate-epp works quite well, would be activate via amd_pstate=active kernel parameter and with power profiles daemon you could switch between the performance, balanced and power-save on the fly.

I guess the most challenging part is to tame it’s temperatures under heavy load. They recommend a water cooling solution, but there should be some air coolers that would manage its 120 watt TDP. And, additionally, the TDP could be reduced to 105 watt or even to 65 watt. Without larger penalties to the chips performance in case you choose 105 watt. There shouldn’t be a noticeable difference. Only when using 65 watt, there would be a slight penalty of 3% or so. For gaming applications that is, in parallelized workloads that hit all of its 16 cores / 32 threads, the reduced TDP would be more noticeable. Thus 105 watt seems to be a sweet spot. If you’re running into thermal throttling with that, consider 65 watt or a beefier cooling solution.

Pair the CPU with proper DDR5 RAM that are listed / known to be compatible with your motherboard.

1 Like

I was running a ryzen 5 7600x before and my linux experience was solid, no stutters, etc.

I saw this article https://www.phoronix.com/review/amd-3d-vcache-optimizer-9950x3d, and changed the following line from “frenquency” to “cache”.

/sys/bus/platform/drivers/amd_x3d_vcache/AMDI0101:00/amd_x3d_mode

Did some testing and it looks smooth as far as I can see, I tried installing sched-ext since I knew CachyOS came with it, played with some of the schedulers but didn’t see any difference.

I guess linux sometimes handles things better than windows :penguin:

I’ve been running the “stock” temperature sensor readings and I think they’ve been reading fine.

First time I hear about “amd-pstate-epp” so I’ve never used it, do you recommend me using/setting it in comparison to running endeavour out of the box?

In terms of temperatures I’m running a Thermalright Peerless Assassin 120 and the max i’ve seen it hitting was 65-72ºC. I have it capped to 100w, PBO all cores to negative 5 (anymore and it crashes) and the max throttle temp set to 85ºC. SInce I’m running 1440p the cpu is only hitting 20-30% while my 9070xt is at 100%, if I switch to 1080p or just stress the hell out of the cpu I’ll need that watercooler :melting_face:

last year a bug has been found in windows 11 that makes amd cpus (7000 and 9000 series) “slower” than they should be. no idea if it has been fixed by now, but honestly i wouldnt be surprised if its still there.
so yes, your statement is true here xD

1 Like

Sounds like you’ve got the temperatures under control.

In terms of the cpu frequency scaling driver - If you don’t mind running your system at full blast all the time, then you won’t really need it. But for light use cases, when you’re only browsing the web or such, the power saving mode is more than sufficient. In summary, it would deactivate the boost frequencies in that mode.

I primarily use it to achieve lower temps in a pretty restrictive MiniITX case as well as low power draw during idle / light uses.

CPPC should be enabled in your bios, otherwise amd_pstate_epp won’t work. It’s already build in the kernel, and only the kernel parameter amd_pstate=active needs to be added. KDEs powerpill should directly pick it up to switch between the performance, balanced and power safe mode via the power & battery applet in the systems tray.

There are also other modes but I haven’t tested those as the I’m quite satisfied with the results.

1 Like

Oh ok, I’ll look into it! If I understood you correctly, after enabling CPPC in the BIOS and adding the kernel parameter with the value “active”, it will behave sorta like Windows does and automatically switch bettween “balanced”, “high performance”, etc… ?

I just use the PC to game and to browse the web, so I have no need for it to be always at full blast.

No, not automatically on it’s own. I’ve got it on power safe most of the time. There should be ways to automatically switch to performance automatically, e.g. if stream is launched or the game mode from feral interactive is being activated via steam launch options. But I haven’t really looked into this further and up so far I’ve only seen implementations of automatic profile switching based on the AC status for mobile systems.

1 Like

As I’ve been curious, just did some digging.

Gamemode should actually set the governor to performance mode … but there are some conflicting informations about it in releation to amd_pstate_epp. At least this feature request suggests that gamemode isn’t switching back to the power-save automatically.

Anyway, on the other hand, this template config.ini in the examples of the github repo from gamemode could be placed into /etc/gamemode.ini for system-wide configuration. Or $XDG_CONFIG_HOME/gamemode.ini for the local user to configure gamemode accordingly.

There are some options that could be enabled specifically for the X3D chips and their 3D V-cache, thus I thought it might be of interest to you. I may also look into this.

Furthermore, how do you manage your GPU ? Personally I use lact. It’s automatic profile switching works reliably. Just mentioning it, as I wouldn’t use the gamemode GPU configuration capabilities, as listed in the config.ini template.

1 Like

Last but not least,

after tinkering around with that example config.ini, I ended up with disabling the parameters for the desired governor and platform profile altogether, as it doesn’t seem to work with the power-profiles-daemon.

But as there is the option to add custom scripts within the gamemode.ini, I’ve simply added

[custom]
; Custom scripts (executed using the shell) when gamemode starts and ends
start=notify-send "GameMode started - power profile: performance"
    powerprofilesctl set performance

end=notify-send "GameMode ended - power profile: power-saver"
    powerprofilesctl set power-saver

; Timeout for scripts (seconds). Scripts will be killed if they do not complete within this time.
script_timeout=3

And it works as far I can tell.

1 Like

I have to take a took at all that, damn I wasn’t waiting for you to pull all that info for me :sweat_smile: . For the GPU I just use corectrl to undervolt and to control the fans.

Had some time to kill anyway :wink: And now I don’t need to switch it manually anymore.

In terms of CoreCtrl, check their repo:

Note
CoreCtrl is in maintenance mode. This means no new features or hardware support will be added, and development will focus solely on bug fixes and maintenance-related changes.
It supports AMD GPUs up to the RX 9000 series, though some series may have limitations due to long-standing and unresolved driver or firmware issues (see known issues wiki page). Partial or full functionality on newer hardware is possible but not guaranteed. See alternatives for applications with similar functionality.

That being said, lact hasn’t the fanciest GUI and is not that intuitive to set up… but it’s daemon works reliably in the background. Hadn’t had any issues with it.

I have a Ryzen 9 7950x3d

I solved the stuttering issue on linux. Heres what i did

1- turning off hyperthreading. Too many threads even without splitting cores into 2 threads. It also impact gaming performance

2- turn off x3d turbo. We dont want to disable our other cores. We can use them :).

3- let chatgpt help you with using only the non x3d cores as default. And force steam to only use x3d cores. (Its kind of complicated for my smooth brain)

That way x3d cores are only reserved for gaming.

And non x3d cores reserved for everything else

Here’s something for the Prompt:

The first half of the cpu. Is always the x3d ccd