Thank you @anon72786180 for the explanation.
But actually, I suggested to try this out by someone who had the same GPU and was running Arch: https://www.reddit.com/r/archlinux/comments/pelxaw/amdgpu_driver_issue/hbjn6po/?context=3
Thank You
Thank you @anon72786180 for the explanation.
But actually, I suggested to try this out by someone who had the same GPU and was running Arch: https://www.reddit.com/r/archlinux/comments/pelxaw/amdgpu_driver_issue/hbjn6po/?context=3
Thank You
You canβt sudo echo.
Either enter in su and echo without sudo, or use echo and pipe it to sudo tee.
echo balanced | sudo tee /sys/class/drm/card0/device/power_dpm_state
β°βΞ» echo balanced | sudo tee /sys/class/drm/card0/device/power_dpm_state
tee: /sys/class/drm/card0/device/power_dpm_state: Permission denied
balanced
ββaustin@Austin in ~ took 2s
[π΄] Γ su
Password:
[root@Austin-Inspiron-15-3567 austin]# echo balanced | sudo tee /sys/class/drm/card0/device/power_dpm_state
tee: /sys/class/drm/card0/device/power_dpm_state: Permission denied
balanced
[root@Austin-Inspiron-15-3567 austin]# echo balanced > /sys/class/drm/card0/device/power_dpm_state
bash: /sys/class/drm/card0/device/power_dpm_state: Permission denied
[root@Austin-Inspiron-15-3567 austin]#
Thanks, @petsam but, still didn't work,
maybe I will try posting at the arch linux reddit
Check file permissions include w.
ls -l <sys-folder>
β°βΞ» ls -l /sys
drwxr-xr-x - root 6 Sep 10:06 ο block
drwxr-xr-x - root 6 Sep 10:06 ο bus
drwxr-xr-x - root 6 Sep 10:06 ο class
drwxr-xr-x - root 6 Sep 10:06 ο dev
drwxr-xr-x - root 6 Sep 10:06 ο devices
drwxr-xr-x - root 6 Sep 10:06 ο firmware
drwxr-xr-x - root 6 Sep 10:06 ο fs
drwxr-xr-x - root 6 Sep 10:06 ο kernel
drwxr-xr-x - root 6 Sep 10:06 ο module
drwxr-xr-x - root 6 Sep 10:06 ο power
ββaustin@Austin in ~ took 4ms
β°βΞ» ls -l /sys/class/drm/card0/
drwxr-xr-x - root 6 Sep 03:24 ο card0-eDP-1
drwxr-xr-x - root 6 Sep 03:24 ο card0-HDMI-A-1
lrwxrwxrwx 0 root 6 Sep 08:54 ο device -> ../../../0000:00:02.0
drwxr-xr-x - root 6 Sep 10:07 ο engine
drwxr-xr-x - root 6 Sep 08:54 ο metrics
drwxr-xr-x - root 6 Sep 10:07 ο power
lrwxrwxrwx 0 root 6 Sep 03:25 ο subsystem -> ../../../../../class/drm
.r--r--r-- 4.1k root 6 Sep 10:07 ο dev
.rw------- 0 root 6 Sep 10:07 ο error
.r--r--r-- 4.1k root 6 Sep 10:07 ο gt_act_freq_mhz
.rw-r--r-- 4.1k root 6 Sep 10:07 ο gt_boost_freq_mhz
.r--r--r-- 4.1k root 6 Sep 10:07 ο gt_cur_freq_mhz
.rw-r--r-- 4.1k root 6 Sep 08:54 ο gt_max_freq_mhz
.rw-r--r-- 4.1k root 6 Sep 08:54 ο gt_min_freq_mhz
.r--r--r-- 4.1k root 6 Sep 10:07 ο gt_RP0_freq_mhz
.r--r--r-- 4.1k root 6 Sep 10:07 ο gt_RP1_freq_mhz
.r--r--r-- 4.1k root 6 Sep 10:07 ο gt_RPn_freq_mhz
.rw-r--r-- 4.1k root 6 Sep 03
lrwxrwxrwx 0 root 6 Sep 08:54 ο device -> ../../../0000:00:02.0
w is there
This doesnβt count. Itβs a symlink.
Read The Flying Manual, on what you want to do.
Also take reddid posts with a pinch of salt
So so sorry @anon72786180, I just missed the card1,
yes, it has the power_dpm_state file whereas card0 doesn't.
Still figuring it out, but now instead of permission denied, it's showing Invalid argument,
β°βΞ» cd /sys/class/drm/card1/device/
ββaustin@Austin in /sys/class/drm/card1/deviceπ took 12ms
β°βΞ» sudo su
[root@Austin-Inspiron-15-3567 0000:01:00.0]# pwd
/sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0
[root@Austin-Inspiron-15-3567 0000:01:00.0]# ls -a
. device i2c-13 mem_info_gtt_used power_dpm_force_performance_level product_name subsystem
.. dma_mask_bits i2c-14 mem_info_preempt_used power_dpm_state product_number subsystem_device
aer_dev_correctable driver i2c-7 mem_info_vis_vram_total power_state remove subsystem_vendor
aer_dev_fatal driver_override i2c-8 mem_info_vis_vram_used pp_cur_state rescan thermal_throttling_logging
aer_dev_nonfatal drm i2c-9 mem_info_vram_total pp_dpm_mclk reset uevent
ari_enabled enable irq mem_info_vram_used pp_dpm_pcie resource vbios_version
broken_parity_status firmware_node link mem_info_vram_vendor pp_dpm_sclk resource0 vendor
class fw_version local_cpulist modalias pp_force_state resource0_wc
config gpu_busy_percent local_cpus msi_bus pp_mclk_od resource2
consistent_dma_mask_bits hwmon max_link_speed msi_irqs pp_num_states resource4
current_link_speed i2c-10 max_link_width pcie_bw pp_power_profile_mode revision
current_link_width i2c-11 mem_busy_percent pcie_replay_count pp_sclk_od rom
d3cold_allowed i2c-12 mem_info_gtt_total power pp_table serial_number
[root@Austin-Inspiron-15-3567 0000:01:00.0]# sudo bash -c 'echo balanced > power_dpm_state'
bash: line 1: echo: write error: Invalid argument
[root@Austin-Inspiron-15-3567 0000:01:00.0]# bash -c 'echo balanced > power_dpm_state'
bash: line 1: echo: write error: Invalid argument
[root@Austin-Inspiron-15-3567 0000:01:00.0]# echo balanced > power_dpm_state
bash: echo: write error: Invalid argument
[root@Austin-Inspiron-15-3567 0000:01:00.0]# sudo !!
sudo echo balanced > power_dpm_state
echo: write error: Invalid argument
[root@Austin-Inspiron-15-3567 0000:01:00.0]# sudo echo battery > power_dpm_state
echo: write error: Invalid argument
[root@Austin-Inspiron-15-3567 0000:01:00.0]# sudo echo battery > power_dpm_state
Here's my progress at Reddit: https://www.reddit.com/r/linuxquestions/comments/pld5xi/not_able_to_execute_this_command_sudo_echo/
Why don't you try with the other solution suggested in
with power_dpm_force_performance_level and relevant arguments?
Thanks, @filo, I think I just solved my issue, I would be posting details shortly maybe later in the evening.
Now I have a good understanding and a solution to this problem:
The first mistake was, I had disabled DPM, which turns out to be an inappropriate solution for this ![]()
power_dpm_state shows up only after enabling DPM,amdgpu.dpm=1)Secondly I was searching for the setting at the wrong place.
I was searching in /sys/class/drm/card0/device/ which turned out to be my integrated Intel card
(The Kernel identifies the GPU cards as card0, card1β¦)
My discrete AMD GPU turned out to be identified as card1
As you can have a look here, this directory has the setting power_dpm_state which I was looking for:
βΞ» cd /sys/class/drm/card1/device/
ββaustin@Austin in /sys/class/drm/card1/deviceπ took 33ms
β°βΞ» ls
lrwxrwxrwx 0 root 12 Sep 17:53 ο driver -> ../../../../bus/pci/drivers/amdgpu
drwxr-xr-x - root 12 Sep 17:53 ο drm
lrwxrwxrwx 0 root 12 Sep 17:53 ο firmware_node -> ../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/device:1d
drwxr-xr-x - root 13 Sep 08:59 ο fw_version
drwxr-xr-x - root 12 Sep 17:53 ο hwmon
drwxr-xr-x - root 12 Sep 17:53 ο i2c-7
drwxr-xr-x - root 12 Sep 17:53 ο i2c-8
drwxr-xr-x - root 12 Sep 17:53 ο i2c-9
drwxr-xr-x - root 12 Sep 17:53 ο i2c-10
drwxr-xr-x - root 12 Sep 17:53 ο i2c-11
drwxr-xr-x - root 12 Sep 17:53 ο i2c-12
drwxr-xr-x - root 12 Sep 17:53 ο i2c-13
drwxr-xr-x - root 12 Sep 17:53 ο i2c-14
drwxr-xr-x - root 12 Sep 17:53 ο link
drwxr-xr-x - root 12 Sep 23:20 ο msi_irqs
drwxr-xr-x - root 12 Sep 17:53 ο power
lrwxrwxrwx 0 root 12 Sep 23:23 ο subsystem -> ../../../../bus/pci
.r--r--r-- 4.1k root 12 Sep 17:53 ο aer_dev_correctable
.r--r--r-- 4.1k root 12 Sep 17:53 ο aer_dev_fatal
.r--r--r-- 4.1k root 12 Sep 17:53 ο aer_dev_nonfatal
.r--r--r-- 4.1k root 12 Sep 17:53 ο ari_enabled
.rw-r--r-- 4.1k root 12 Sep 17:53 ο broken_parity_status
.r--r--r-- 4.1k root 12 Sep 23:23 ο class
.rw-r--r-- 4.1k root 12 Sep 17:53 ξΌ config
.r--r--r-- 4.1k root 12 Sep 17:53 ο consistent_dma_mask_bits
.r--r--r-- 4.1k root 12 Sep 17:53 ο current_link_speed
.r--r--r-- 4.1k root 12 Sep 17:53 ο current_link_width
.rw-r--r-- 4.1k root 12 Sep 17:53 ο d3cold_allowed
.r--r--r-- 4.1k root 12 Sep 17:53 ο device
.r--r--r-- 4.1k root 12 Sep 17:53 ο dma_mask_bits
.rw-r--r-- 4.1k root 12 Sep 17:53 ο driver_override
.rw-r--r-- 4.1k root 12 Sep 17:53 ο enable
.r--r--r-- 4.1k root 13 Sep 08:59 ο gpu_busy_percent
.r--r--r-- 4.1k root 12 Sep 17:53 ο irq
.r--r--r-- 4.1k root 12 Sep 17:53 ο local_cpulist
.r--r--r-- 4.1k root 12 Sep 17:53 ο local_cpus
.r--r--r-- 4.1k root 12 Sep 17:53 ο max_link_speed
.r--r--r-- 4.1k root 12 Sep 17:53 ο max_link_width
.r--r--r-- 4.1k root 13 Sep 08:59 ο mem_busy_percent
.r--r--r-- 4.1k root 13 Sep 08:59 ο mem_info_gtt_total
.r--r--r-- 4.1k root 13 Sep 08:59 ο mem_info_gtt_used
.r--r--r-- 4.1k root 13 Sep 08:59 ο mem_info_preempt_used
.r--r--r-- 4.1k root 13 Sep 08:59 ο mem_info_vis_vram_total
.r--r--r-- 4.1k root 13 Sep 08:59 ο mem_info_vis_vram_used
.r--r--r-- 4.1k root 12 Sep 23:25 ο mem_info_vram_total
.r--r--r-- 4.1k root 13 Sep 08:59 ο mem_info_vram_used
.r--r--r-- 4.1k root 13 Sep 08:59 ο mem_info_vram_vendor
.r--r--r-- 4.1k root 12 Sep 17:53 ο modalias
.rw-r--r-- 4.1k root 12 Sep 17:53 ο msi_bus
.r--r--r-- 4.1k root 13 Sep 08:59 ο pcie_bw
.r--r--r-- 4.1k root 13 Sep 08:59 ο pcie_replay_count
.rw-r--r-- 4.1k root 12 Sep 23:26 ο power_dpm_force_performance_level
.rw-r--r-- 4.1k root 12 Sep 17:53 ο power_dpm_state
.r--r--r-- 4.1k root 12 Sep 17:53 ο power_state
.r--r--r-- 4.1k root 13 Sep 08:59 ο pp_cur_state
.rw-r--r-- 4.1k root 12 Sep 23:25 ο pp_dpm_mclk
.rw-r--r-- 4.1k root 13 Sep 08:59 ο pp_dpm_pcie
.rw-r--r-- 4.1k root 12 Sep 23:25 ο pp_dpm_sclk
.rw-r--r-- 4.1k root 13 Sep 08:59 ο pp_force_state
.rw-r--r-- 4.1k root 13 Sep 08:59 ο pp_mclk_od
.r--r--r-- 4.1k root 13 Sep 08:59 ο pp_num_states
.rw-r--r-- 4.1k root 12 Sep 23:25 ο pp_power_profile_mode
.rw-r--r-- 4.1k root 13 Sep 08:59 ο pp_sclk_od
.rw-r--r-- 4.1k root 13 Sep 08:59 ο pp_table
.r--r--r-- 4.1k root 13 Sep 08:59 ο product_name
.r--r--r-- 4.1k root 13 Sep 08:59 ο product_number
.-w--w---- 4.1k root 12 Sep 17:53 ο remove
.-w------- 4.1k root 12 Sep 17:53 ο rescan
.-w------- 4.1k root 12 Sep 17:53 ο reset
.r--r--r-- 4.1k root 12 Sep 17:53 ο resource
.rw------- 268M root 12 Sep 17:53 ο resource0
.rw------- 268M root 12 Sep 17:53 ο resource0_wc
.rw------- 262k root 12 Sep 17:53 ο resource2
.rw------- 256 root 12 Sep 17:53 ο resource4
.r--r--r-- 4.1k root 12 Sep 17:53 ο revision
.rw------- 131k root 12 Sep 17:53 ο rom
.r--r--r-- 4.1k root 13 Sep 08:59 ο serial_number
.r--r--r-- 4.1k root 12 Sep 17:53 ο subsystem_device
.r--r--r-- 4.1k root 12 Sep 23:20 ο subsystem_vendor
.rw-r--r-- 4.1k root 13 Sep 08:59 ο thermal_throttling_logging
.rw-r--r-- 4.1k root 12 Sep 23:23 ο uevent
.r--r--r-- 4.1k root 12 Sep 23:25 ο vbios_version
.r--r--r-- 4.1k root 12 Sep 23:23 ο vendor
You can find several settings here, which enables us to control and monitor the GPU directly by changing the values (AMDGPU - ArchWiki)
These changes to the settings apply only for the current session and change back to the default values after a reboot.
This directory is like the Radeon software in Windows
These settings can accept only valid arguments.
(in my case I am trying to change power_dpm_state)
power_dpm_state it accepts only
battery or balanced(default value) or performance as valid arguments
But balanced didnβt do the work as to my needs so I changed it to battery
As you change the arguments in these settings you can instantly see the changes reflect in the GPUβs performance i.e. some changes in its clock speeds etc.
corectrlwhich we all might be familiar of does the same thing through a GUI (Changes the same settings in the/sys/class/drm/card1/device/directory)
Since the settings change to the default values after boot, but I wanted power_dpm_state to retain the battery mode.
I found a solution to that too - UDEV rules :β
(AMDGPU - ArchWiki)
In my case ![]()
GNU nano 5.8 /etc/udev/rules.d/30-amdgpu-pm.rules
KERNEL=="card1", SUBSYSTEM=="drm", DRIVERS=="amdgpu", ATTR{device/power_dpm_state}="battery"
For more details: Reddit - Dive into anything
Thatβs it, I hope I have explained everything clearly and in simple terms.
Thank you
@filo, It would be great if you reopened this post: 'amdgpu' driver issue / GPU crashes on reaching >400MHz core clock speeds (AMD Radeon R5 M330/430) - #7
Now I have an explanation and a better answer to the above post
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.