Under clocking GPU

Good Day. So I am getting crashes during gaming and not on a consistent basis. I've tried switching drivers, using LTS kernel, limiting FPS and disabling latte dock as I had a core dump in logs. It doesnt matter if its proton or a native game. Its not my PSU. I believe I narrowed it down to clocks being to high on GPU as it clocks higher then in windows and it doesn't crash if I limit clocks to 800mhz in Corectrl so I want to under-clock my GPU a bit. Corectrl only gives me 2 options, 800mhz and 2100 mhz. I googled it but I am having a hard time understanding how to do this. I've ready added amdgpu.ppfeaturemask=0xffffffff to my grub. This may sound stupid but why can't I just Nano the "pp_od_clk_voltage" file with the clock speeds I want? Also whats confusing me is my pp_od_clk_voltage file is not the same as what I can find on google. I don't wan t to mess up my OS and I definitely don't want to break my GPU so any help would be great. Thanks in advance. Please understand I'm fairly new to the linux world. I am trying to learn but I may ask dumb questions. Here is what I am using as reference.
https://www.reddit.com/r/Amd/comments/agwroj/how_to_overclock_your_amd_gpu_on_linux/
The file I want to change.

OD_SCLK:
0: 800Mhz
1: 2100Mhz
OD_MCLK:
1: 875MHz
OD_VDDC_CURVE:
0: 800MHz 709mV
1: 1450MHz 767mV
2: 2100MHz 1129mV
OD_RANGE:
SCLK:     800Mhz       2150Mhz
MCLK:     625Mhz        950Mhz
VDDC_CURVE_SCLK[0]:     800Mhz       2150Mhz
VDDC_CURVE_VOLT[0]:     750mV        1200mV
VDDC_CURVE_SCLK[1]:     800Mhz       2150Mhz
VDDC_CURVE_VOLT[1]:     750mV        1200mV
VDDC_CURVE_SCLK[2]:     800Mhz       2150Mhz
VDDC_CURVE_VOLT[2]:     750mV        1200mV

System Specs
Garuda KDE Dragonized Gaming
5700 XT
3900X
32 GB RAM
X570 Mobo
HX 1000Watt

I can not find in the whole text the output of Inxi -Faz :thinking: ?

2 Likes

TIP : Avoid using social media (like reddit) for technical references, except in the case the world wide web is lacking certain information.

I myself am not very experienced in GPU matters, but here I found a reliable reference. See

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

And

https://linuxreviews.org/HOWTO_undervolt_the_AMD_RX_4XX_and_RX_5XX_GPUs

2 Likes
System:    Kernel: 5.14.16-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=28759fc1-f24f-40da-b680-1ebc72b9c3ff
rw [email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 loglevel=3 amdgpu.ppfeaturemask=0xffffffff
Desktop: KDE Plasma 5.23.3 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Machine:   Type: Desktop Mobo: Micro-Star model: MPG X570 GAMING EDGE WIFI (MS-7C37) v: 1.0
serial: <filter> UEFI: American Megatrends v: 1.A0 date: 08/07/2020
CPU:       Info: 12-Core model: AMD Ryzen 9 3900X bits: 64 type: MT MCP arch: Zen 2 family: 17 (23)
model-id: 71 (113) stepping: 0 microcode: 8701021 cache: L2: 6 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 182387
Speed: 2806 MHz min/max: 2200/3800 MHz boost: enabled Core speeds (MHz): 1: 2806 2: 2667
3: 2751 4: 2524 5: 2900 6: 2321 7: 2404 8: 2083 9: 2418 10: 3081 11: 2099 12: 2887 13: 2688
14: 2532 15: 2346 16: 2927 17: 2389 18: 2221 19: 2213 20: 3097 21: 2069 22: 2687 23: 2949
24: 2694
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
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 Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] vendor: Gigabyte
driver: amdgpu v: kernel bus-ID: 2f:00.0 chip-ID: 1002:731f class-ID: 0300
Display: x11 server: X.Org 1.21.1.1 compositor: kwin_x11 driver: loaded: amdgpu,ati
unloaded: modesetting,radeon alternate: fbdev,vesa display-ID: :0 screens: 1
Screen-1: 0 s-res: 4480x1440 s-dpi: 190 s-size: 598x336mm (23.5x13.2") s-diag: 686mm (27")
Monitor-1: HDMI-A-1 res: 2560x1440 hz: 144 dpi: 109 size: 597x336mm (23.5x13.2")
diag: 685mm (27")
Monitor-2: HDMI-A-2 res: 1920x1080 hz: 60 dpi: 82 size: 598x336mm (23.5x13.2")
diag: 686mm (27")
OpenGL: renderer: AMD Radeon RX 5700 XT (NAVI10 DRM 3.42.0 5.14.16-zen1-1-zen LLVM 12.0.1)
v: 4.6 Mesa 21.2.4 direct render: Yes
Audio:     Device-1: AMD Navi 10 HDMI Audio driver: snd_hda_intel v: kernel bus-ID: 2f:00.1
chip-ID: 1002:ab38 class-ID: 0403
Device-2: AMD Starship/Matisse HD Audio vendor: Micro-Star MSI driver: snd_hda_intel v: kernel
bus-ID: 31:00.4 chip-ID: 1022:1487 class-ID: 0403
Sound Server-1: ALSA v: k5.14.16-zen1-1-zen running: yes
Sound Server-2: JACK v: 1.9.19 running: no
Sound Server-3: PulseAudio v: 15.0 running: yes
Sound Server-4: PipeWire v: 0.3.39 running: yes
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Micro-Star MSI X570-A PRO driver: r8169 v: kernel port: d000 bus-ID: 27:00.0
chip-ID: 10ec:8168 class-ID: 0200
IF: enp39s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Device-2: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi v: kernel
bus-ID: 29:00.0 chip-ID: 8086:24fb class-ID: 0280
IF: wlp41s0 state: up mac: <filter>
IF-ID-1: anbox0 state: down mac: <filter>
Bluetooth: Device-1: Intel Wireless-AC 3168 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-4:4
chip-ID: 8087:0aa7 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:    Local Storage: total: 7.05 TiB used: 638.27 GiB (8.8%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:1 vendor: Kingston model: SA2000M8250G size: 232.89 GiB
block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
rev: S5Z42105 temp: 40.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Kingston model: SA2000M8500G size: 465.76 GiB
block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
rev: S5Z42105 temp: 39.9 C scheme: GPT
ID-3: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD30EZRX-00D8PB0 size: 2.73 TiB
block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 5400
serial: <filter> rev: 0A80 scheme: GPT
ID-4: /dev/sdb maj-min: 8:16 vendor: Western Digital model: WD40EZRZ-22GXCB0 size: 3.64 TiB
block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 5400
serial: <filter> rev: 0A80 scheme: GPT
Partition: ID-1: / raw-size: 465.5 GiB size: 465.5 GiB (100.00%) used: 37.44 GiB (8.0%) fs: btrfs
dev: /dev/nvme1n1p2 maj-min: 259:3
ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%) used: 562 KiB (0.2%) fs: vfat
dev: /dev/nvme1n1p1 maj-min: 259:2
ID-3: /home raw-size: 465.5 GiB size: 465.5 GiB (100.00%) used: 37.44 GiB (8.0%) fs: btrfs
dev: /dev/nvme1n1p2 maj-min: 259:3
ID-4: /var/log raw-size: 465.5 GiB size: 465.5 GiB (100.00%) used: 37.44 GiB (8.0%) fs: btrfs
dev: /dev/nvme1n1p2 maj-min: 259:3
ID-5: /var/tmp raw-size: 465.5 GiB size: 465.5 GiB (100.00%) used: 37.44 GiB (8.0%) fs: btrfs
dev: /dev/nvme1n1p2 maj-min: 259:3
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 31.27 GiB used: 1.2 MiB (0.0%) priority: 100 dev: /dev/zram0
Sensors:   System Temperatures: cpu: 52.2 C mobo: N/A gpu: amdgpu temp: 62.0 C mem: 62.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 1260
Info:      Processes: 442 Uptime: 1h 45m wakeups: 0 Memory: 31.27 GiB used: 4.02 GiB (12.8%) Init: systemd
v: 249 tool: systemctl Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: pacman: 1731 lib: 536
Shell: fish v: 3.3.1 running-in: konsole inxi: 3.3.08

Btw, there is a newer BIOS version for that motherboard.

1 Like

Yes I read that as well. I just don't understand why Mine only has the 2 clock states. I Just seen it says i can manually write clock speeds to that file. I will try.

I back dated the BIOS because it seemed to cause a issue in windows.

It says it doesn't work with dual monitors so I disconnected one and tried. Then sudo echo "manual" > /sys/class/drm/card0/device/power_dpm_force_performance_level and get


warning: An error occurred while redirecting file '/sys/class/drm/card0/device/power_dpm_force_performance_level'
open: Permission denied

Also changed to amdgpu.ppfeaturemask=0xfffd7fff instead of amdgpu.ppfeaturemask=0xffffffff

Edit.

Fml had to log in as root. Tried to use sudo echo "s 2 2000 1137" > /sys/class/drm/card0/device/pp_od_clk_voltage and sudo echo "s 2 2000 1137" > /sys/devices/pci0000:00/0000:00:03.1/0000:2d:00.0/0000:2e:00.0/0000:2f:00.0/pp_od_clk_voltage with echo: write error: Invalid argument retuned. I don't know what I'm doing wrong.

1 Like

Did you try Corectrl?

Yeah it would only give me 2 options thought even with amdgpu.ppfeaturemask=0xffffffff I followed the directions on their page. It started working after I uninstalled and reinstalled tonight. IDK what else I did but it works know.

1 Like

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