Ricks-Lab / gpu-utils

A set of utilities for monitoring and customizing GPU performance
GNU General Public License v3.0
136 stars 23 forks source link

Arch Linux Support #67

Closed berturion closed 4 years ago

berturion commented 4 years ago

Hello, I followed the user guide and I am stuck at the first amdgpu-ls step. The script tries to get a file that does not exist:

OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command None not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Error: Can not access system pci.ids file [/usr/share/misc/pci.ids]
Traceback (most recent call last):
  File "./amdgpu-ls", line 141, in <module>
    main()
  File "./amdgpu-ls", line 111, in main
    gpu_list.read_gpu_sensor_data(data_type='All')
  File "/home/bertrand/bin/amdgpu-utils/GPUmodules/GPUmodule.py", line 1512, in read_gpu_sensor_data
    v.read_gpu_sensor_data(data_type)
  File "/home/bertrand/bin/amdgpu-utils/GPUmodules/GPUmodule.py", line 940, in read_gpu_sensor_data
    self.set_params_value(param, rdata)
  File "/home/bertrand/bin/amdgpu-utils/GPUmodules/GPUmodule.py", line 336, in set_params_value
    len(self.prm.model_device_decode) < 1.2*len(self.prm.model_short)):
TypeError: object of type 'NoneType' has no len()

Also I had errors saying that dpkg is not available on amdgpu-chk command:

Using python 3.8.2
           Python version OK. 
Using Linux Kernel 5.6.3-arch1-1
           OS kernel OK. 
Command dpkg not found. Can not determine amdgpu version.
           gpu-utils can still be used. 
python3 venv is installed
           python3-venv OK. 
amdgpu-utils-env available
           amdgpu-utils-env OK. 
In amdgpu-utils-env
           amdgpu-utils-env is activated.

I think that these tools are not written for Arch Linux, but only for deb-like distros. It would be great to support Arch Linux also. Thank you.

Ricks-Lab commented 4 years ago

Thanks for the bug report!. I think you are the first from Arch. I was able to make a quick fix for this and push to master. Let me know if it works for you.

berturion commented 4 years ago

Wow, it was quick! Here is the new output of amdgpu-ls:

OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command None not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Error: Can not access system pci.ids file [/usr/share/misc/pci.ids]
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

Card Number: 0
   Vendor: AMD
   Readable: True
   Writable: True
   Compute: False
   GPU UID: 
   Device ID: {'vendor': '0x1002', 'device': '0x67ef', 'subsystem_vendor': '0x1043', 'subsystem_device': '0x17c1'}
   Decoded Device ID: 
   Card Model: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] (rev e5)
   Display Card Model: 
   PCIe ID: 01:00.0
      Link Speed: 2.5 GT/s
      Link Width: 8
   ##################################################
   Driver: amdgpu
   vBIOS Version: SWBRT45986.001
   Compute Platform: None
   GPU Frequency/Voltage Control Type: 1
   HWmon: /sys/class/drm/card0/device/hwmon/hwmon3
   Card Path: /sys/class/drm/card0/device
   ##################################################
   Current Power (W): 6.0
   Power Cap (W): 48.0
      Power Cap Range (W): [0, 48]
   Fan Enable: None
   Fan PWM Mode: [None, 'UNK']
   Fan Target Speed (rpm): None
   Current Fan Speed (rpm): None
   Current Fan PWM (%): None
      Fan Speed Range (rpm): [None, None]
      Fan PWM Range (%): [None, None]
   ##################################################
   Current GPU Loading (%): 0
   Current Memory Loading (%): 0
   Current Temps (C): {'edge': 39.0}
      Critical Temp (C): 94.0
   Current Voltages (V): {'vddgfx': 800}
      Vddc Range: ['700mV', '1150mV']
   Current Clk Frequencies (MHz): {'sclk': 214.0, 'mclk': 300.0}
   Current SCLK P-State: [0, '214Mhz']
      SCLK Range: ['214MHz', '1223MHz']
   Current MCLK P-State: [0, '300Mhz']
      MCLK Range: ['300MHz', '1750MHz']
   Power Profile Mode: 1-3D_FULL_SCREEN
   Power DPM Force Performance Level: auto

Card Number: 1
   Vendor: AMD
   Readable: False
   Writable: False
   Compute: False
   Card Model: Advanced Micro Devices, Inc. [AMD/ATI] Picasso (rev c2)
   PCIe ID: 05:00.0
   Driver: amdgpu
   Card Path: /sys/class/drm/card1/device
Ricks-Lab commented 4 years ago

I am surprised that the pci.ids file is not available for Arch. It is standard for Ubuntu and Gentoo. Is it possible that it is in an alternate location? If not, perhaps it can be downloaded from the official source. Can you run:

sudo update-pciids

If not, can the package be added?

For the fan errors, some old GPU's don't implement all of the read/write features. For tools like monitor that read continuously, these are turned off once they fail, so it only gives an error once. Also, you can use the --no_fan option to not read fan data.

berturion commented 4 years ago

I found the file on Arch using the command update-pciids!

/usr/share/hwdata/pci.ids
Ricks-Lab commented 4 years ago

I have just pushed an update. Let me know how it works.

berturion commented 4 years ago

The "pci.ids" file disapeared but there ar error reading values:

OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command None not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

Card Number: 0
   Vendor: AMD
   Readable: True
   Writable: True
   Compute: False
   GPU UID: 
   Device ID: {'vendor': '0x1002', 'device': '0x67ef', 'subsystem_vendor': '0x1043', 'subsystem_device': '0x17c1'}
   Decoded Device ID: Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
   Card Model: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] (rev e5)
   Display Card Model: Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
   PCIe ID: 01:00.0
      Link Speed: 2.5 GT/s
      Link Width: 8
   ##################################################
   Driver: amdgpu
   vBIOS Version: SWBRT45986.001
   Compute Platform: None
   GPU Frequency/Voltage Control Type: 1
   HWmon: /sys/class/drm/card0/device/hwmon/hwmon3
   Card Path: /sys/class/drm/card0/device
   ##################################################
   Current Power (W): 7.1
   Power Cap (W): 48.0
      Power Cap Range (W): [0, 48]
   Fan Enable: None
   Fan PWM Mode: [None, 'UNK']
   Fan Target Speed (rpm): None
   Current Fan Speed (rpm): None
   Current Fan PWM (%): None
      Fan Speed Range (rpm): [None, None]
      Fan PWM Range (%): [None, None]
   ##################################################
   Current GPU Loading (%): 0
   Current Memory Loading (%): 0
   Current Temps (C): {'edge': 40.0}
      Critical Temp (C): 94.0
   Current Voltages (V): {'vddgfx': 800}
      Vddc Range: ['700mV', '1150mV']
   Current Clk Frequencies (MHz): {'sclk': 214.0, 'mclk': 300.0}
   Current SCLK P-State: [0, '214Mhz']
      SCLK Range: ['214MHz', '1223MHz']
   Current MCLK P-State: [0, '300Mhz']
      MCLK Range: ['300MHz', '1750MHz']
   Power Profile Mode: 1-3D_FULL_SCREEN
   Power DPM Force Performance Level: auto

Card Number: 1
   Vendor: AMD
   Readable: False
   Writable: False
   Compute: False
   Card Model: Advanced Micro Devices, Inc. [AMD/ATI] Picasso (rev c2)
   PCIe ID: 05:00.0
   Driver: amdgpu
   Card Path: /sys/class/drm/card1/device

For your information, my laptop is ASUS FX505DY on AMD Ryzen 3550H with Radeon RX560X video card. It is pretty new (2019).

Ricks-Lab commented 4 years ago

The "Decoded Device ID" field is the result of search the pci-ids file for the device id read from the card, so it must be working. Have you tried the other utilities? Maybe the fan items are failing due to laptop integration. I suggest using the --no_fan option.

I am considering a new laptop with the latest AMD Ryzen9 4900HS or similar, but I read an attempt to load Ubuntu failed for Asus model. So I will hold off until I see a good experience with Ubuntu installation. Don't really need a discrete GPU for my laptop use, but would be interesting to work with.

berturion commented 4 years ago

amdgpu-modnitor gives me this:

┌─────────────┬────────────────┐
│Card #       │card0           │
├─────────────┼────────────────┤
│Model        │Baffin [Radeon R│
│GPU Load %   │0               │
│Mem Load %   │0               │
│Power (W)    │8.1             │
│Power Cap (W)│48.0            │
│Energy (kWh) │5.7e-05         │
│T (C)        │43.0            │
│VddGFX (mV)  │718             │
│Fan Spd (%)  │None            │
│Sclk (MHz)   │214             │
│Sclk Pstate  │0               │
│Mclk (MHz)   │300             │
│Mclk Pstate  │0               │
│Perf Mode    │1-3D_FULL_SCREEN│
└─────────────┴────────────────┘

And amdgpu-pac:

OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command None not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

./amdgpu-pac:98: DeprecationWarning: Gtk.Widget.override_background_color is deprecated
  grid.override_background_color(Gtk.StateType.NORMAL, Gdk.RGBA(1, 1, 1, 1))
./amdgpu-pac:78: DeprecationWarning: Gtk.Widget.override_color is deprecated
  gui_item.override_color(Gtk.StateFlags.NORMAL, Gdk.RGBA(*color))
./amdgpu-pac:90: DeprecationWarning: Gtk.Misc.set_alignment is deprecated
  gui_item.set_alignment(*align)
./amdgpu-pac:153: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous, spacing" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 0, spacing=2)
./amdgpu-pac:185: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous, spacing" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 0, spacing=2)
./amdgpu-pac:202: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:236: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:295: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous, spacing" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 0, spacing=2)
./amdgpu-pac:311: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:345: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:404: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous, spacing" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 0, spacing=2)
./amdgpu-pac:498: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices[v.prm.uuid]['save_button'] = Gtk.Button('')
./amdgpu-pac:505: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices[v.prm.uuid]['reset_button'] = Gtk.Button('')
./amdgpu-pac:512: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:567: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices['message_box'] = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
Traceback (most recent call last):
  File "./amdgpu-pac", line 1357, in <module>
    main()
  File "./amdgpu-pac", line 1349, in main
    gmonitor = PACWindow(com_gpu_list, devices)
  File "./amdgpu-pac", line 574, in __init__
    self.refresh_pac(gpu_list, devices)
  File "./amdgpu-pac", line 652, in refresh_pac
    devices[v.prm.uuid]['fan_pwm_ent'].set_text(str(int(v.get_params_value('fan_pwm'))))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

[off-topic] If your buy a laptop having AMD Ryzen 9 4900H, if one linux distro could support it, it would be Arch Linux. Current stable kernel version is 5.6.3. You should try. And about distros, I was first on ubuntu, then linux mint, then linux mint LMDE, then Arch Linux. I will never go back. Arch Linux is so great. A good installer is AnarchyLinux if you want to save some time in the setup of your OS.

EDIT: I understood you already had the laptop you mentioned.

Ricks-Lab commented 4 years ago

It looks like your GPU doesn't have any fan parameters available, perhaps due to implementation on a laptop. I am considering disabling fans interaction completely if key fan sensors can't be read. Can you run amdgpu-pac with the --no_fan option and verify it works?

The warns are related to you using a different version of Gtk than what I am using. Can you check your version? If it is newer than what I have, I will download the latest and figure it out. You can use my version by pip installing from the provided requirements.txt or the venv version if you are running in a virtual environment.

[off-topic] No, I have not purchased the laptop yet. I was considering the Asus, but then saw the posting concerning failure to load Ubuntu. Really could use a mobile dev platform, but have too much on my plate now, so can't dig into another distro.

berturion commented 4 years ago

Here are the information you asked:

$ ./amdgpu-pac --no_fan
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command None not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
2 total GPUs, 1 rw, 0 r-only, 0 w-only

./amdgpu-pac:98: DeprecationWarning: Gtk.Widget.override_background_color is deprecated
  grid.override_background_color(Gtk.StateType.NORMAL, Gdk.RGBA(1, 1, 1, 1))
./amdgpu-pac:78: DeprecationWarning: Gtk.Widget.override_color is deprecated
  gui_item.override_color(Gtk.StateFlags.NORMAL, Gdk.RGBA(*color))
./amdgpu-pac:90: DeprecationWarning: Gtk.Misc.set_alignment is deprecated
  gui_item.set_alignment(*align)
./amdgpu-pac:153: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous, spacing" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 0, spacing=2)
./amdgpu-pac:202: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:236: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:295: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous, spacing" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 0, spacing=2)
./amdgpu-pac:311: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:345: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:404: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous, spacing" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, 0, spacing=2)
./amdgpu-pac:498: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices[v.prm.uuid]['save_button'] = Gtk.Button('')
./amdgpu-pac:505: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices[v.prm.uuid]['reset_button'] = Gtk.Button('')
./amdgpu-pac:512: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  lbox = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)
./amdgpu-pac:567: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices['message_box'] = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)

The resulting window:

image

Installed GTK versions:

$ pkg-config --modversion gtk+-3.0
3.24.17
$ pkg-config --modversion gtk+-2.0
2.24.32
Ricks-Lab commented 4 years ago

Looks like you are running a newer version of Gtk. I was able to resolve many of the deprecation warnings with no impact to previous version of Gtk. But there are a few that I need to research the solution for.

I have also made a change to eliminate the crash for missing fan sensors. It is just a patch, still need to research better solution.

It would be useful if you can provide updated output with the latest on master. Thanks!

Ricks-Lab commented 4 years ago

I just pushed a new update that changed the way Gtk properties are written. I think there are only 2 cases of still using deprecated calls (setting alignment and background colors), so I run these with deprecation warnings disabled until I can implement a fix. I made these changes for plot and pac. Still need to check for --gui option of monitor.

Ricks-Lab commented 4 years ago

Just pushed updated Gtk deprecation mitigations for plot, pac, and monitor. Let me know of any issues. Thanks!

Ricks-Lab commented 4 years ago

@smoe Do you think this has any impact for the debian package release? The problems here are with release 3.24.17 of Gtk, but I am not sure in which release the deprecations that impacted amdgpu-utils were released. I am running 3.22.30 with no issues.

berturion commented 4 years ago

Here is new outputs:

./amdgpu-pac --no_fan
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
2 total GPUs, 1 rw, 0 r-only, 0 w-only

./amdgpu-pac:91: DeprecationWarning: Gtk.Widget.override_color is deprecated
  gui_item.override_color(Gtk.StateFlags.NORMAL, Gdk.RGBA(*color))
./amdgpu-pac:494: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices[v.prm.uuid]['save_button'] = Gtk.Button('')
./amdgpu-pac:501: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices[v.prm.uuid]['reset_button'] = Gtk.Button('')
./amdgpu-pac:562: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "homogeneous" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  devices['message_box'] = Gtk.Box(Gtk.Orientation.HORIZONTAL, spacing=6)

And:

/amdgpu-monitor --no_fan --gui
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
2 total GPUs, 1 rw, 0 r-only, 0 w-only

./amdgpu-monitor:114: DeprecationWarning: Gtk.Widget.override_color is deprecated
  gui_item.override_color(Gtk.StateFlags.NORMAL, Gdk.RGBA(*color))

With the window:

image

Ricks-Lab commented 4 years ago

Thanks for testing it out! I think I now have all cases covered and I made a change where the fans were causing a crash when none could be read. Can you run again without the --no_fan option to verify? Have you tried amdgpu-plot yet?

berturion commented 4 years ago

Your welcome, I am happy to contribute :)

New ouputs after git pull:

$ ./amdgpu-ls
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

Card Number: 0
   Vendor: AMD
   Readable: True
   Writable: True
   Compute: False
   GPU UID: 
   Device ID: {'vendor': '0x1002', 'device': '0x67ef', 'subsystem_vendor': '0x1043', 'subsystem_device': '0x17c1'}
   Decoded Device ID: Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
   Card Model: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] (rev e5)
   Display Card Model: Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
   PCIe ID: 01:00.0
      Link Speed: 2.5 GT/s
      Link Width: 8
   ##################################################
   Driver: amdgpu
   vBIOS Version: SWBRT45986.001
   Compute Platform: None
   GPU Frequency/Voltage Control Type: 1
   HWmon: /sys/class/drm/card0/device/hwmon/hwmon3
   Card Path: /sys/class/drm/card0/device
   ##################################################
   Current Power (W): 6.1
   Power Cap (W): 48.0
      Power Cap Range (W): [0, 48]
   Fan Enable: None
   Fan PWM Mode: [None, 'UNK']
   Fan Target Speed (rpm): None
   Current Fan Speed (rpm): None
   Current Fan PWM (%): None
      Fan Speed Range (rpm): [None, None]
      Fan PWM Range (%): [None, None]
   ##################################################
   Current GPU Loading (%): 0
   Current Memory Loading (%): 0
   Current Temps (C): {'edge': 44.0}
      Critical Temp (C): 94.0
   Current Voltages (V): {'vddgfx': 800}
      Vddc Range: ['700mV', '1150mV']
   Current Clk Frequencies (MHz): {'sclk': 214.0, 'mclk': 300.0}
   Current SCLK P-State: [0, '214Mhz']
      SCLK Range: ['214MHz', '1223MHz']
   Current MCLK P-State: [0, '300Mhz']
      MCLK Range: ['300MHz', '1750MHz']
   Power Profile Mode: 1-3D_FULL_SCREEN
   Power DPM Force Performance Level: auto

Card Number: 1
   Vendor: AMD
   Readable: False
   Writable: False
   Compute: False
   Card Model: Advanced Micro Devices, Inc. [AMD/ATI] Picasso (rev c2)
   PCIe ID: 05:00.0
   Driver: amdgpu
   Card Path: /sys/class/drm/card1/device
$ ./amdgpu-pac 
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

image

/amdgpu-monitor --gui
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

image

./amdgpu-plot 
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

amdgpu-plot waiting for initial data.Exception in thread Thread-1:
Traceback (most recent call last):
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py", line 1858, in objects_to_datetime64ns
    values, tz_parsed = conversion.datetime_to_datetime64(data)
  File "pandas/_libs/tslibs/conversion.pyx", line 200, in pandas._libs.tslibs.conversion.datetime_to_datetime64
TypeError: Unrecognized value type: <class 'str'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "./amdgpu-plot", line 668, in read_from_gpus
    rdf['datetime'] = pd.to_datetime(rdf['Time'])
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/tools/datetimes.py", line 728, in to_datetime
    values = convert_listlike(arg._values, format)
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/tools/datetimes.py", line 440, in _convert_listlike_datetimes
    result, tz_parsed = objects_to_datetime64ns(
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py", line 1863, in objects_to_datetime64ns
    raise e
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py", line 1848, in objects_to_datetime64ns
    result, tz_parsed = tslib.array_to_datetime(
  File "pandas/_libs/tslib.pyx", line 481, in pandas._libs.tslib.array_to_datetime
  File "pandas/_libs/tslib.pyx", line 703, in pandas._libs.tslib.array_to_datetime
  File "pandas/_libs/tslib.pyx", line 837, in pandas._libs.tslib.array_to_datetime_object
  File "pandas/_libs/tslib.pyx", line 828, in pandas._libs.tslib.array_to_datetime_object
  File "pandas/_libs/tslibs/parsing.pyx", line 228, in pandas._libs.tslibs.parsing.parse_datetime_string
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 1374, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 649, in parse
    raise ParserError("Unknown string format: %s", timestr)
dateutil.parser._parser.ParserError: Unknown string format: ven. 17 avril 2020 07:22:30
.................................^CTraceback (most recent call last):
  File "./amdgpu-plot", line 827, in <module>
    main()
  File "./amdgpu-plot", line 811, in main
    time.sleep(args.sleep/4.0)
KeyboardInterrupt
./amdgpu-monitor --plot
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

OS command [dpkg] executable not found.
amdgpu-plot waiting for initial data.Exception in thread Thread-1:
Traceback (most recent call last):
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py", line 1858, in objects_to_datetime64ns
    values, tz_parsed = conversion.datetime_to_datetime64(data)
  File "pandas/_libs/tslibs/conversion.pyx", line 200, in pandas._libs.tslibs.conversion.datetime_to_datetime64
TypeError: Unrecognized value type: <class 'str'>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot", line 584, in read_from_stdin
    rdf['datetime'] = pd.to_datetime(rdf['Time'])
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/tools/datetimes.py", line 728, in to_datetime
    values = convert_listlike(arg._values, format)
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/tools/datetimes.py", line 440, in _convert_listlike_datetimes
    result, tz_parsed = objects_to_datetime64ns(
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py", line 1863, in objects_to_datetime64ns
    raise e
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/pandas/core/arrays/datetimes.py", line 1848, in objects_to_datetime64ns
    result, tz_parsed = tslib.array_to_datetime(
  File "pandas/_libs/tslib.pyx", line 481, in pandas._libs.tslib.array_to_datetime
  File "pandas/_libs/tslib.pyx", line 703, in pandas._libs.tslib.array_to_datetime
  File "pandas/_libs/tslib.pyx", line 837, in pandas._libs.tslib.array_to_datetime_object
  File "pandas/_libs/tslib.pyx", line 828, in pandas._libs.tslib.array_to_datetime_object
  File "pandas/_libs/tslibs/parsing.pyx", line 228, in pandas._libs.tslibs.parsing.parse_datetime_string
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 1374, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)
  File "/home/bertrand/bin/amdgpu-utils/amdgpu-utils-env/lib/python3.8/site-packages/dateutil/parser/_parser.py", line 649, in parse
    raise ParserError("Unknown string format: %s", timestr)
dateutil.parser._parser.ParserError: Unknown string format: ven. 17 avril 2020 07:25:14
............................................^CTraceback (most recent call last):
Setting quit flag...
  File "/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot", line 827, in <module>
    main()
  File "/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot", line 811, in main
    time.sleep(args.sleep/4.0)
KeyboardInterrupt
Quitting...
Ricks-Lab commented 4 years ago

Seems like there is an issue in converting the time reported by monitor to a datetime object. Can you provide the log output for amdgpu-monitor --log Here is a sample of the log output from my system:

Time|Card#|model_display|loading|mem_loading|power|power_cap|energy|temp_val|vddgfx_val|fan_pwm|sclk_f_val|sclk_ps_val|mclk_f_val|mclk_ps_val|ppm
Fri 17 Apr 2020 08:08:49 AM|1|Vega 20|0|0|22.0|250.0|7e-06|26.0|737|0|805|1|350|0|0-BOOTUP_DEFAULT
Fri 17 Apr 2020 08:08:51 AM|1|Vega 20|0|0|22.0|250.0|2e-05|26.0|737|0|805|1|350|0|0-BOOTUP_DEFAULT
Fri 17 Apr 2020 08:08:53 AM|1|Vega 20|0|0|22.0|250.0|3.2e-05|25.0|737|0|805|1|350|0|0-BOOTUP_DEFAULT
Fri 17 Apr 2020 08:08:55 AM|1|Vega 20|0|0|22.0|250.0|4.4e-05|26.0|737|0|805|1|350|0|0-BOOTUP_DEFAULT
Fri 17 Apr 2020 08:08:57 AM|1|Vega 20|0|0|22.0|250.0|5.6e-05|26.0|737|0|805|1|350|0|0-BOOTUP_DEFAULT
Fri 17 Apr 2020 08:08:59 AM|1|Vega 20|0|0|22.0|250.0|6.9e-05|25.0|737|0|805|1|350|0|0-BOOTUP_DEFAULT
smoe commented 4 years ago

Hello, I suggest not to show the "OS command [dpkg] executable not found." message for non-Debian/Ubuntu/ systems.

I don't have a current Debian system with AMD GPUs, so I cannot test, really. The official AMD drivers are only for 18.04 or so, so this is what I run. Sorry for not being more helpful.

Ricks-Lab commented 4 years ago

Hello, I suggest not to show the "OS command [dpkg] executable not found." message for non-Debian/Ubuntu/ systems.

I don't have a current Debian system with AMD GPUs, so I cannot test, really. The official AMD drivers are only for 18.04 or so, so this is what I run. Sorry for not being more helpful.

Good point! I have opened a new issue to collect information needed to be able to handle distribution dependent behavior: Linux Distribution Dependent Behavior

Ricks-Lab commented 4 years ago

@berturion I was able to recreate the issue with plot on my system and have implemented a more robust date conversion. Let me know if it still has a problem.

Ricks-Lab commented 4 years ago

@csecht Let's manage your latest bug report here, since it is related to changes made in support of Arch (but really the relevant change is related to integrated GPU in laptop). I have made a change that should address this issue.

I just download the latest Master onto Ubuntu 18.04.4 and got this when trying to change fan PWM in the PAC window after I clicked Save:

~/Desktop/amdgpu-utils$ ./amdgpu-pac --execute Detected GPUs: INTEL: 1, AMD: 2 AMD: amdgpu version: 19.50-967956 AMD: Wattman features enabled: 0xfffd7fff 3 total GPUs, 2 rw, 0 r-only, 0 w-only

Write Delta mode. Traceback (most recent call last): File "./amdgpu-pac", line 688, in save_all_cards changed += self.save_card(parent, gpu_list, devices, gk, refresh=False) File "./amdgpu-pac", line 816, in save_card old_pwm = int(v.get_params_value('fan_pwm')) if v.get_params_value('fan_pwm').isnumeric() else None AttributeError: 'int' object has no attribute 'isnumeric'

berturion commented 4 years ago

Sorry, I was busy, the new output is:

/amdgpu-monitor --plot
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
Warning: Error reading parameter: fan_speed_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm_range, disabling for this GPU: 0
Warning: Error reading parameter: fan_enable, disabling for this GPU: 0
Warning: Error reading parameter: fan_target, disabling for this GPU: 0
Warning: Error reading parameter: fan_speed, disabling for this GPU: 0
Warning: Error reading parameter: pwm_mode, disabling for this GPU: 0
Warning: Error reading parameter: fan_pwm, disabling for this GPU: 0
2 total GPUs, 1 rw, 0 r-only, 0 w-only

OS command [dpkg] executable not found.
amdgpu-plot waiting for initial data.............

And with --no_fan:

./amdgpu-monitor --plot --no_fan
OS command [dpkg] executable not found.
Detected GPUs: AMD: 2
Command dpkg not found. Can not determine amdgpu version.
AMD: Wattman features enabled: 0xfffd7fff
2 total GPUs, 1 rw, 0 r-only, 0 w-only

OS command [dpkg] executable not found.
amdgpu-plot waiting for initial data.................................
/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot:308: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  gc.gui_components['legend']['buttons'][k] = Gtk.Button('')
/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot:308: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  gc.gui_components['legend']['buttons'][k] = Gtk.Button('')
/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot:308: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  gc.gui_components['legend']['buttons'][k] = Gtk.Button('')
/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot:308: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  gc.gui_components['legend']['buttons'][k] = Gtk.Button('')
/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot:308: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  gc.gui_components['legend']['buttons'][k] = Gtk.Button('')
/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot:308: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  gc.gui_components['legend']['buttons'][k] = Gtk.Button('')
/home/bertrand/bin/amdgpu-utils/GPUmodules/../amdgpu-plot:308: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "label" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  gc.gui_components['legend']['buttons'][k] = Gtk.Button('')

2 windows opened:

image

image

The time shown on the title bar of the second window seems to be in UTC. My timezone is GMT+4 so it should not be 11h11 but 15h11.

berturion commented 4 years ago

And the output of ./amdgpu-monitor --log:

cat log_monitor_0420_111525.txt 
Time|Card#|model_display|loading|mem_loading|power|power_cap|energy|temp_val|vddgfx_val|fan_pwm|sclk_f_val|sclk_ps_val|mclk_f_val|mclk_ps_val|ppm
20-avril-2020 11:15:25|0|Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]|0|0|7.2|48.0|2e-06|41.0|718|None|214|0|300|0|1-3D_FULL_SCREEN
20-avril-2020 11:15:27|0|Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]|0|0|7.1|48.0|6e-06|41.0|718|None|214|0|300|0|1-3D_FULL_SCREEN
20-avril-2020 11:15:29|0|Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]|0|0|7.1|48.0|1e-05|41.0|718|None|214|0|300|0|1-3D_FULL_SCREEN
20-avril-2020 11:15:31|0|Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]|0|0|7.1|48.0|1.4e-05|41.0|718|None|214|0|300|0|1-3D_FULL_SCREEN
20-avril-2020 11:15:33|0|Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]|0|0|7.1|48.0|1.8e-05|41.0|718|None|214|0|300|0|1-3D_FULL_SCREEN
20-avril-2020 11:15:35|0|Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]|0|0|7.1|48.0|2.2e-05|41.0|718|None|214|0|300|0|1-3D_FULL_SCREEN

Also here, the time is UTC. Mine is GMT+4. It should be 15h15.

Ricks-Lab commented 4 years ago

@berturion Thanks!

I think I have taken care of the last source of deprecation warnings. I have fixed some and grouped the others to easily ignore warnings until I can fix the deprecation item. The utilities use UTC by default, but --ltz can be used to display in local time zone. I also got rid of dpkg not found for Arch.

Hopefully it is working well now.

csecht commented 4 years ago

@csecht Let's manage your latest bug report here, since it is related to changes made in support of Arch (but really the relevant change is related to integrated GPU in laptop). I have made a change that should address this issue.

Yes, amdgpu-pac is working well now to change p-state masks and is able to correct errant spaces in entry fields.