How to use AMD P-State in Linux

Mine is the 3800x so it is 105W 8 core 16 thread.

5600x is a 65W, its 6 core 12 threads
The new 5700x will be 8 core 16 thread and 65W alsoā€¦ I suppose its going to be the most efficient 8 core in the marketā€¦

But is that one the new design or still Am4?

Still AM4ā€¦ They will release a few CPUs for the AM4 socket on the April 20th
5800x3D (extra cache, AMD says its going to beat the 12900k in games, lets see)
5700x 8 core 16 threads 65W
5600 difference to 5600x seems to be only lower boost clock
5500 will be PCI-E 3.0 only and less cache

image

I would probably go with the 5700X also. I have a new B550 MSI board sitting here. Has dual network ports one is 1 GB and the other is 2.5 GB. :wink:

2 Likes

That would be my option tooā€¦ :slight_smile:

1 Like

Thatā€™ll likely be my eventual upgrade. The 5800x doesnā€™t give enough to justify the higher tdp especially vs the 5700x. The 5800x has been the black sheep of the 5000 series since launch being too close to 5900x price and more expensive than the 5600x for not enough gain. Now the 5700x is the final nail in the 5800x coffin.

1 Like

Well i bought when it was 3000 series so i went with 3800x and i wished i had of gone with the 3700x because it was 65W but i got a good deal on the 3800x.

Anyone notice the memory consumption up since adding the pstate? On KDE itā€™s up over 1.5 GB was lower before. Not an issue as i have 32GB

@Echoa
I just tried adding the pstate on my HP laptop and itā€™s not working. Still shows acpi-cpufreq. This is an amd 4700 u

[ricklinux@arch ~]$ inxi -C
CPU:
  Info: 8-core model: AMD Ryzen 7 4700U with Radeon Graphics bits: 64
    type: MCP cache: L2: 4 MiB
  Speed (MHz): avg: 1395 min/max: 1400/2000 cores: 1: 1397 2: 1397 3: 1397
    4: 1396 5: 1397 6: 1397 7: 1397 8: 1389
[ricklinux@arch ~]$ 

Edit: I donā€™t see any settings in UEFI for anything. Itā€™s very basic so i think Iā€™ll add the pstate enabled parameter and try it.

Edit2: No itā€™s not working so maybe it wonā€™t on this cpu?
Edit3: I even tried the blacklisting and it didnā€™t work on this unit. Maybe it doesnā€™t have the UEFI settings to allow it?

1 Like

Thank you for that! I will try this out on my 5900x once lqx 5.17 is out.

edit: lqx kernel has already been implementing amd p-state.

2 Likes

Whoa. My 5800H dropped from a minimum frequency of 1200MHz to 400Mhz. :exploding_head:

3 Likes

It might be a BIOS issue, Iā€™m pretty sure the 4700U is a Zen 2 part so it should work for that CPU.

Is there any bios updates for the system?

Itā€™s up to date.

My best guess is its an HP issue then as your 4700U should work just fine with AMD Pstate. Iā€™m really not 100% sure why it wouldnā€™t be working.

I havenā€™t noticed any higher memory usage myself, but I havenā€™t kept detailed track of it and my usage isnā€™t always the same.

Well iā€™ll leave it for now. I also have Lenovo with a 5700U and it has Manjaro on it right now so iā€™ll eithr try it when kernel reaches 5.17 or Iā€™ll install EOS on it. The HP has Arch on it and both are dual boot Windows 11 also.

Just for the records:

The xanmod LTS kernel series 5.15.x comes with amd_pstate support. It is build-in, not a module, and can be activated by simply adding ā€œamd_pstate.shared_mem=1ā€ to the kernel commandline.

This is good for people like me who want to stick to an LTS kernel but still want to use amd_pstate.

PS
xanmod automatically sets the cpu governor to ā€œperformanceā€. That freezes the CPU frequency at the highest possible value. That basically makes amd_pstate obsolete. For xanmod you should switch the CPU governor to schedutil or ondemand.

You can do this with
cpupower frequency-set -g schedutil
during boot.

Or by using the cpupower service with a proper scheduler configured in /etc/default/cpupower

1 Like

I might have done it wrong, but I have xanmod since I use the LQX kernel and it still says acpi-cpufreq. My grub entry looks like this:

menuentry 'EndeavourOS, on linux-lqx' --class endeavouros --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lqx-advanced-de04a509-3629-4095-abef-bd85de1b85ef' {
        savedefault
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod ext2
                search --no-floppy --fs-uuid --set=root de04a509-3629-4095-abef-bd85de1b85ef
                echo    'Loading kernel linux-lqx ...'
                linux   /boot/vmlinuz-linux-lqx root=UUID=de04a509-3629-4095-abef-bd85de1b85ef rw  pcie_aspm=off amd_pstate.shared_mem=1                                                      
                echo    'Loading initial ramdisk ...'                                                                                                                                         
                initrd  /boot/amd-ucode.img /boot/initramfs-linux-lqx.img                                                                                                                     
        }  

You are not using xanmod. This is the liquorix kernel, which has nothing to do with xanmod. linux-lqx is a linux-zen kernel derivative.

linux-zen and linux-lqx provide the new amd pstate as a module:

CONFIG_X86_AMD_PSTATE=m

You need to load that module. Kernel comandline parameter alone is not enough. This is what @Echoa explains in his opening post.

1 Like