Unable to undervolt because pp_od_clk_voltage file is missing (AMD GPU)

I tried following multiple guides on reddit, arch wiki and manjaro forum but no matter which one I tried I always had the same problem.

The file pp_od_clk_voltage is always missing from /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/ and /sys/class/drm/card1/device/.

I tried following this advice but it didn't help.
I checked that the amdgpu.ppfeaturemask=0xffffffff is set at boot with :
cat /sys/module/amdgpu/parameters/ppfeaturemask
and the output was 4294967295 which is a correct value in decimal and therefore the ppfeaturemask was set correctly at boot.

Any idea why the file is missing, any help would be much appreciated :slight_smile: ?

Here is the ls of /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0:

aer_dev_correctable       gpu_busy_percent         mem_info_vram_vendor               remove
aer_dev_fatal             graphics                 modalias                           rescan
aer_dev_nonfatal          hwmon                    msi_bus                            reset
ari_enabled               i2c-10                   msi_irqs                           resource
boot_vga                  i2c-12                   numa_node                          resource0
broken_parity_status      i2c-13                   pcie_bw                            resource0_wc
class                     i2c-14                   pcie_replay_count                  resource2
config                    irq                      power                              resource2_wc
consistent_dma_mask_bits  link                     power_dpm_force_performance_level  resource4
current_link_speed        local_cpulist            power_dpm_state                    resource5
current_link_width        local_cpus               pp_cur_state                       revision
d3cold_allowed            max_link_speed           pp_dpm_mclk                        rom
device                    max_link_width           pp_dpm_pcie                        subsystem
devspec                   mem_busy_percent         pp_dpm_sclk                        subsystem_device
dma_mask_bits             mem_info_gtt_total       pp_force_state                     subsystem_vendor
driver                    mem_info_gtt_used        pp_mclk_od                         uevent
driver_override           mem_info_vis_vram_total  pp_num_states                      vbios_version
drm                       mem_info_vis_vram_used   pp_power_profile_mode              vendor
enable                    mem_info_vram_total      pp_sclk_od
fw_version                mem_info_vram_used       pp_table

and here is my system info:

System:    Kernel: 5.5.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.3.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.5-x86_64 root=UUID=461b579b-27f2-431f-8a84-62f2d5d802e4 rw 
           radeon.cik_support=0 amdgpu.cik_support=1 quiet apparmor=1 security=apparmor 
           resume=UUID=2d46760f-fbda-467e-913f-c5239e7e4c2d amdgpu.ppfeaturemask=0xffffffff udev.log_priority=3 
           Desktop: KDE Plasma 5.18.4 tk: Qt 5.14.2 wm: kwin_x11 dm: SDDM Distro: Manjaro Linux 
Machine:   Type: Desktop Mobo: ASRock model: Z68 Pro3 serial: <filter> UEFI: American Megatrends v: P2.10 
           date: 05/07/2012 
CPU:       Topology: Quad Core model: Intel Core i5-2500K bits: 64 type: MCP arch: Sandy Bridge family: 6 
           model-id: 2A (42) stepping: 7 microcode: 2F L2 cache: 6144 KiB 
           flags: avx lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 26349 
           Speed: 1596 MHz min/max: 1600/3700 MHz Core speeds (MHz): 1: 1596 2: 1596 3: 1596 4: 1596 
           Vulnerabilities: Type: itlb_multihit status: KVM: Split huge pages 
           Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled 
           Type: mds mitigation: Clear CPU buffers; SMT disabled 
           Type: meltdown mitigation: PTI 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 
           mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: disabled, RSB filling 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics vendor: ASRock driver: i915 
           v: kernel bus ID: 00:02.0 chip ID: 8086:0112 
           Device-2: Advanced Micro Devices [AMD/ATI] Hawaii PRO [Radeon R9 290/390] vendor: Micro-Star MSI 
           driver: amdgpu v: kernel bus ID: 01:00.0 chip ID: 1002:67b1 
           Display: x11 server: X.Org 1.20.8 driver: amdgpu,intel FAILED: ati unloaded: modesetting 
           alternate: fbdev,vesa compositor: kwin_x11 tty: N/A 
           OpenGL: renderer: AMD Radeon R9 390 Series (HAWAII DRM 3.36.0 5.5.16-1-MANJARO LLVM 9.0.1) 
           v: 4.6 Mesa 20.0.4 direct render: Yes 
Audio:     Device-1: Intel 6 Series/C200 Series Family High Definition Audio vendor: ASRock driver: snd_hda_intel 
           v: kernel bus ID: 00:1b.0 chip ID: 8086:1c20 
           Device-2: Advanced Micro Devices [AMD/ATI] Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X] 
           vendor: Micro-Star MSI driver: snd_hda_intel v: kernel bus ID: 01:00.1 chip ID: 1002:aac8 
           Device-3: Kingston HyperX Virtual Surround Sound type: USB driver: hid-generic,snd-usb-audio,usbhid 
           bus ID: 2-1:2 chip ID: 0951:16a4 serial: <filter> 
           Sound Server: ALSA v: k5.5.16-1-MANJARO 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASRock driver: r8169 v: kernel 
           port: d000 bus ID: 05:00.0 chip ID: 10ec:8168 
           IF: enp5s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           IF-ID-1: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A 
Drives:    Local Storage: total: 1.17 TiB used: 80.43 GiB (6.7%) 
           ID-1: /dev/sda vendor: Samsung model: SSD 850 PRO 256GB size: 238.47 GiB block size: physical: 512 B 
           logical: 512 B speed: 6.0 Gb/s serial: <filter> rev: 4B6Q scheme: GPT 
           ID-2: /dev/sdb vendor: Western Digital model: WD10EALX-009BA0 size: 931.51 GiB block size: 
           physical: 512 B logical: 512 B speed: 6.0 Gb/s serial: <filter> rev: 1H15 scheme: GPT 
           ID-3: /dev/sdc type: USB vendor: Generic model: Flash Disk size: 28.91 GiB block size: physical: 512 B 
           logical: 512 B serial: <filter> rev: 8.07 scheme: MBR 
Partition: ID-1: / raw size: 99.10 GiB size: 97.04 GiB (97.93%) used: 19.02 GiB (19.6%) fs: ext4 dev: /dev/sda5 
           ID-2: /home raw size: 451.62 GiB size: 443.53 GiB (98.21%) used: 61.41 GiB (13.8%) fs: ext4 
           dev: /dev/sdb2 
           ID-3: swap-1 size: 14.90 GiB used: 0 KiB (0.0%) fs: swap swappiness: 10 (default 60) 
           cache pressure: 100 (default) dev: /dev/sdb3 
Sensors:   System Temperatures: cpu: 28.5 C mobo: 31.0 C gpu: amdgpu temp: 44 C 
           Fan Speeds (RPM): fan-1: 1089 fan-2: 0 fan-3: 0 fan-4: 0 fan-5: 0 
           Voltages: 12v: N/A 5v: N/A 3.3v: 3.28 vbat: 3.25 
Info:      Processes: 214 Uptime: 34m Memory: 15.54 GiB used: 2.13 GiB (13.7%) Init: systemd v: 245 Compilers: 
           gcc: 9.3.0 clang: 9.0.1 Shell: bash v: 5.0.16 running in: konsole inxi: 3.0.37

If you want to underclock, why not use the Intel CPU frequency scaling instead?

E.G.:

cpupower frequency-set --min 400MHz

:innocent:

I'm sorry if I forgot to mention but I'm trying to undervolt my GPU as it heats up above 80 C and uses a lot of power. Before I was able to do this with Afterburner but since I switched to linux I didn't find a software that worked for such a task. Thanks for the advice for the CPU though.

So? Did the CPU frequency scaling help with the T°?

As much as I know this sets the CPUs "idle" frequency to 400MHz. My CPUs temperatures are fine, it's the GPU that's heating up which is why I wanted to lower the voltage at all frequencies by 25-50 mV for starters. I can't do this because the file that stores frequency and voltage information is missing.

I can't help you with AMD Radeon stuff as I'm on nVidia. If you're looking to underclock the GPU specifically, I'd advise you to edit your title and add some additional tags in your original question to attract the AMD crowd.

:innocent:

Thanks for the advice, just did :slight_smile:

You forgot about the tags:

Some people subscribe to certain tags only and get emails about them and only the visit the site after they get warned about specific topics they're interested in...

:wink: :innocent:

I'll try to use appropriate tags in the future, kinda forgot about it in this post. Thanks for the advice.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by