Power Limit with CoreCtrl

Hello, idk if this is the right place for this kind of question, if not pls let me know :>

I’d like to overclock my GPU, and ran into an issue today. I use CoreCtrl for my OC on linux, and it seems like CoreCtrl is not able to tune up the Power Limit.

The GPU in question is an RX 590 Asus ROG Strix, with amdgpu as driver.

The slider is enabled and set to the max (in my case 277 watt), but i’ve observed that it never draws more than 175 Watt, which would be the standard setting for this card.
The setting for changing the clock work fine, and also monitoring (except that it doesn’t give me graph for gpu voltage, although the sensor exits and works fine with system monitor).

Current settings for the OC would be

1,6 GHz@1,16 V, no mem OC, Power Limit set to 277 W (not working)

So, is there a setting or kernel module that i have to enable to be able to change the power limit?

I know that my system is able to deliver more power stabely from my Windows overclock, so hardware shouldn’t be the issue.

thx very much to everyone in advance.

PS: inxi output

inxi --admin --verbosity=7 --filter --no-host --width

System:
  Kernel: 5.12.16-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.12-x86_64 
  root=UUID=d0dcf297-8999-484d-b070-738c7c120b94 ro quiet apparmor=1 
  security=apparmor udev.log_priority=3 radeon.si_support=0 
  amdgpu.si_support=1 amdgpu.ppfeaturemask=0xffffffff 
  Desktop: KDE Plasma 5.22.3 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 
  dm: SDDM Distro: Manjaro Linux base: Arch Linux 
Machine:
  Type: Desktop Mobo: ASRock model: B450 Gaming K4 serial: <filter> 
  UEFI: American Megatrends v: P4.20 date: 06/19/2020 
Battery:
  Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard K270 
  serial: <filter> charge: 100% (should be ignored) rechargeable: yes 
  status: Discharging 
  Device-2: hidpp_battery_1 
  model: Logitech Marathon Mouse/Performance Plus M705 serial: <filter> 
  charge: 55% (should be ignored) rechargeable: yes status: Discharging 
Memory:
  RAM: total: 15.56 GiB used: 6.91 GiB (44.4%) 
  RAM Report: permissions: Unable to run dmidecode. Root privileges required. 
CPU:
  Info: 6-Core model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2 
  family: 17 (23) model-id: 71 (113) stepping: 0 microcode: 8701021 cache: 
  L2: 3 MiB bogomips: 104833 
  Speed: 4367 MHz min/max: 2200/5114 MHz boost: enabled Core speeds (MHz): 
  1: 4367 2: 4366 3: 4366 4: 4366 5: 4366 6: 4366 7: 4366 8: 4366 9: 4367 
  10: 4366 11: 4367 12: 4366 
  Flags: 3dnowprefetch abm adx aes aperfmperf apic arat avic avx avx2 bmi1 
  bmi2 bpext cat_l3 cdp_l3 clflush clflushopt clwb clzero cmov cmp_legacy 
  constant_tsc cpb cpuid cqm cqm_llc cqm_mbm_local cqm_mbm_total cqm_occup_llc 
  cr8_legacy cx16 cx8 de decodeassists extapic extd_apicid f16c flushbyasid 
  fma fpu fsgsbase fxsr fxsr_opt ht hw_pstate ibpb ibs irperf lahf_lm lbrv lm 
  mba mca mce misalignsse mmx mmxext monitor movbe msr mtrr mwaitx nonstop_tsc 
  nopl npt nrip_save nx osvw overflow_recov pae pat pausefilter pclmulqdq 
  pdpe1gb perfctr_core perfctr_llc perfctr_nb pfthreshold pge pni popcnt pse 
  pse36 rdpid rdpru rdrand rdseed rdt_a rdtscp rep_good sep sev sev_es sha_ni 
  skinit smap smca sme smep ssbd sse sse2 sse4_1 sse4_2 sse4a ssse3 stibp 
  succor svm svm_lock syscall tce topoext tsc tsc_scale umip v_vmsave_vmload 
  vgif vmcb_clean vme vmmcall wbnoinvd wdt xgetbv1 xsave xsavec xsaveerptr 
  xsaveopt xsaves 
  Vulnerabilities: Type: itlb_multihit status: Not affected 
  Type: l1tf status: Not affected 
  Type: mds status: Not affected 
  Type: meltdown status: Not affected 
  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 AMD retpoline, IBPB: conditional, STIBP: 
  conditional, RSB filling 
  Type: srbds status: Not affected 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] 
  vendor: ASUSTeK driver: amdgpu v: kernel bus-ID: 0a:00.0 chip-ID: 1002:67df 
  class-ID: 0300 
  Device-2: Microdia USB Live camera type: USB driver: snd-usb-audio,uvcvideo 
  bus-ID: 3-1:2 chip-ID: 0c45:6536 class-ID: 0102 serial: <filter> 
  Display: x11 server: X.Org 1.20.11 compositor: kwin_x11 driver: 
  loaded: amdgpu,ati unloaded: modesetting alternate: fbdev,vesa 
  display-ID: :0 screens: 1 
  Screen-1: 0 s-res: 3440x1440 s-dpi: 96 s-size: 910x381mm (35.8x15.0") 
  s-diag: 987mm (38.8") 
  Monitor-1: DisplayPort-0 res: 3440x1440 dpi: 109 
  size: 798x335mm (31.4x13.2") diag: 865mm (34.1") 
  OpenGL: renderer: Radeon RX 590 Series (POLARIS10 DRM 3.40.0 
  5.12.16-1-MANJARO LLVM 12.0.0) 
  v: 4.6 Mesa 21.1.4 direct render: Yes 
Audio:
  Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] 
  vendor: ASUSTeK driver: snd_hda_intel v: kernel bus-ID: 0a:00.1 
  chip-ID: 1002:aaf0 class-ID: 0403 
  Device-2: AMD Starship/Matisse HD Audio vendor: ASRock driver: snd_hda_intel 
  v: kernel bus-ID: 0c:00.4 chip-ID: 1022:1487 class-ID: 0403 
  Device-3: Microdia USB Live camera type: USB driver: snd-usb-audio,uvcvideo 
  bus-ID: 3-1:2 chip-ID: 0c45:6536 class-ID: 0102 serial: <filter> 
  Sound Server-1: ALSA v: k5.12.16-1-MANJARO running: yes 
  Sound Server-2: JACK v: 1.9.18 running: no 
  Sound Server-3: PulseAudio v: 14.2 running: yes 
  Sound Server-4: PipeWire v: 0.3.31 running: yes 
Network:
  Device-1: Realtek RTL8192EE PCIe Wireless Network Adapter driver: rtl8192ee 
  v: kernel port: e000 bus-ID: 06:00.0 chip-ID: 10ec:818b class-ID: 0280 
  IF: wlp6s0 state: up mac: <filter> 
  IP v4: <filter> type: dynamic noprefixroute scope: global 
  broadcast: <filter> 
  IP v6: <filter> type: dynamic noprefixroute scope: global 
  IP v6: <filter> type: noprefixroute scope: link 
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: ASRock driver: r8169 v: kernel port: c000 bus-ID: 09:00.0 
  chip-ID: 10ec:8168 class-ID: 0200 
  IF: enp9s0 state: down mac: <filter> 
  WAN IP: <filter> 
Bluetooth:
  Message: No bluetooth data found. 
Logical:
  Permissions: Unable to run lvs. Root privileges required. 
RAID:
  Message: No RAID data found. 
Drives:
  Local Storage: total: 5.12 TiB used: 2.29 TiB (44.6%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital 
  model: WDS200T2B0C-00PXH0 size: 1.82 TiB block-size: physical: 512 B 
  logical: 512 B speed: 31.6 Gb/s lanes: 4 rotation: SSD serial: <filter> 
  rev: 21705000 scheme: GPT 
  ID-2: /dev/sda maj-min: 8:0 vendor: A-Data model: SP610 size: 476.94 GiB 
  block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s rotation: SSD 
  serial: <filter> rev: 2C scheme: GPT 
  ID-3: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 850 EVO 120GB 
  size: 111.79 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s 
  rotation: SSD serial: <filter> rev: 1B6Q scheme: GPT 
  ID-4: /dev/sdc maj-min: 8:32 vendor: Seagate model: ST1000LM024 HN-M101MBB 
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s 
  rotation: 5400 rpm serial: <filter> rev: 0001 scheme: MBR 
  ID-5: /dev/sdd maj-min: 8:48 vendor: Western Digital model: WD20EZRZ-00Z5HB0 
  size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  rotation: 5400 rpm serial: <filter> rev: 0A80 scheme: GPT 
  Optical-1: /dev/sr0 vendor: TSSTcorp model: DVD+-RW TS-H653G rev: DW10 
  dev-links: cdrom 
  Features: speed: 48 multisession: yes audio: yes dvd: yes 
  rw: cd-r,cd-rw,dvd-r,dvd-ram state: running 
Partition:
  ID-1: / raw-size: 1.34 TiB size: 1.31 TiB (98.36%) used: 364.34 GiB (27.1%) 
  fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2 label: N/A 
  uuid: d0dcf297-8999-484d-b070-738c7c120b94 
  ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%) 
  used: 25.8 MiB (26.8%) fs: vfat dev: /dev/sdb2 maj-min: 8:18 label: N/A 
  uuid: A6F3-B5A5 
  ID-3: /mnt/216471125F774515 raw-size: 495.83 GiB size: 495.83 GiB (100.00%) 
  used: 254.58 GiB (51.3%) fs: fuseblk dev: /dev/nvme0n1p1 maj-min: 259:1 
  label: N/A uuid: 216471125F774515 
  ID-4: /mnt/2E6C9FBC6C9F7D71 raw-size: 909.33 GiB size: 909.33 GiB (100.00%) 
  used: 143.12 GiB (15.7%) fs: fuseblk dev: /dev/sdc5 maj-min: 8:37 
  label: Dat neuer Speicher uuid: 2E6C9FBC6C9F7D71 
  ID-5: /mnt/C4EF0007EEFFF012 raw-size: 110.71 GiB size: 110.71 GiB (100.00%) 
  used: 97.58 GiB (88.1%) fs: fuseblk dev: /dev/sdb4 maj-min: 8:20 
  label: Dat Gehirn uuid: C4EF0007EEFFF012 
  ID-6: /mnt/EE7ED4C57ED4882B raw-size: 1.82 TiB size: 1.82 TiB (100.00%) 
  used: 1.45 TiB (79.5%) fs: fuseblk dev: /dev/sdd2 maj-min: 8:50 label: Oschi 
  uuid: EE7ED4C57ED4882B 
  ID-7: /run/media/green/f4718ab4-6763-4b26-aab7-ee7d93c8c71e 
  raw-size: 476.93 GiB size: 468.38 GiB (98.21%) used: 12 KiB (0.0%) fs: ext4 
  dev: /dev/sda1 maj-min: 8:1 label: N/A 
  uuid: f4718ab4-6763-4b26-aab7-ee7d93c8c71e 
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
  ID-1: swap-1 type: file size: 8 GiB used: 3.8 MiB (0.0%) priority: -2 
  file: /swapfile 
Unmounted:
  ID-1: /dev/sdb1 maj-min: 8:17 size: 300 MiB fs: <superuser required> 
  label: Wiederherstellung uuid: 942EF2FC2EF2D5E8 
  ID-2: /dev/sdb3 maj-min: 8:19 size: 128 MiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-3: /dev/sdb5 maj-min: 8:21 size: 577 MiB fs: <superuser required> 
  label: N/A uuid: 8820696E206963E2 
  ID-4: /dev/sdc1 maj-min: 8:33 size: 1 KiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-5: /dev/sdc2 maj-min: 8:34 size: 21.98 GiB fs: <superuser required> 
  label: SAMSUNG_REC uuid: C2AEEB2DAEEB18A5 
  ID-6: /dev/sdd1 maj-min: 8:49 size: 16 MiB fs: <superuser required> 
  label: N/A uuid: N/A 
USB:
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 10 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Device-1: 1-4:2 info: LG LM-X420xxx/G2/G3 Android Phone (MTP/download mode) 
  type: Still Imaging driver: usbfs interfaces: 1 rev: 2.0 speed: 480 Mb/s 
  power: 500mA chip-ID: 1004:633e class-ID: 0601 serial: <filter> 
  Hub-2: 2-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.1 speed: 10 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
  Hub-3: 3-0:1 info: Full speed (or root) Hub ports: 4 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Device-1: 3-1:2 info: Microdia USB Live camera type: Video,Audio 
  driver: snd-usb-audio,uvcvideo interfaces: 5 rev: 2.0 speed: 480 Mb/s 
  power: 500mA chip-ID: 0c45:6536 class-ID: 0102 serial: <filter> 
  Device-2: 3-2:3 info: Line6 UX1 type: <vendor specific> 
  driver: snd_usb_toneport interfaces: 1 rev: 1.0 speed: 12 Mb/s power: 498mA 
  chip-ID: 0e41:4150 class-ID: ff00 
  Hub-4: 3-3:4 info: VIA Labs Hub ports: 4 rev: 2.1 speed: 480 Mb/s 
  chip-ID: 2109:2811 class-ID: 0900 
  Device-1: 3-3.2:5 info: Logitech Unifying Receiver type: Keyboard,Mouse,HID 
  driver: logitech-djreceiver,usbhid interfaces: 3 rev: 2.0 speed: 12 Mb/s 
  power: 98mA chip-ID: 046d:c52b class-ID: 0300 
  Hub-5: 4-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.1 speed: 10 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
  Hub-6: 4-3:2 info: VIA Labs Hub ports: 4 rev: 3.0 speed: 5 Gb/s 
  chip-ID: 2109:8110 class-ID: 0900 
Sensors:
  System Temperatures: cpu: 53.9 C mobo: N/A gpu: amdgpu temp: 50.0 C 
  Fan Speeds (RPM): N/A gpu: amdgpu fan: 1424 
Info:
  Processes: 329 Uptime: 2h 37m wakeups: 16 Init: systemd v: 248 
  tool: systemctl Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: pacman: 1761 
  lib: 485 flatpak: 0 Shell: Bash v: 5.1.8 running-in: konsole inxi: 3.3.05 

Edit 1:
found out about the sensors command. It shows the Power cap as 277 W, so CoreCtrl is doing something at least, but it somehow doesn’t get applied at gpu level? I don’t know.

sensors

amdgpu-pci-0a00
Adapter: PCI adapter
vddgfx:      818.00 mV 
fan1:        1524 RPM  (min =    0 RPM, max = 4100 RPM)
edge:         +52.0°C  (crit = +91.0°C, hyst = -273.1°C)
power1:       31.01 W  (cap = 277.00 W)

nvme-pci-0100
Adapter: PCI adapter
Composite:    +45.9°C  (low  =  -5.2°C, high = +79.8°C)
                       (crit = +84.8°C)

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +51.1°C  
Tdie:         +51.1°C  
Tccd1:        +44.0°C  

https://wiki.archlinux.org/title/AMDGPU

Overclocking

Since Linux 4.17, it is possible to adjust clocks and voltages of the graphics card via /sys/class/drm/card0/device/pp_od_clk_voltage.

Boot parameter

It is required to unlock access to adjust clocks and voltages in sysfs by appending the Kernel parameter amdgpu.ppfeaturemask=0xffffffff.

Maybe add that to your GRUB parameters, update grub, and reboot, then test if you have control now.

Yeah, i already enabled that featuremask thing. Should be noted in the inxi output, but i don’t know if the way i did it was right.