ShadowBlip / HandyPT

Handheld Power Tools (Handy Pot) provides fine performance tuning for a variety of handheld devices.
GNU General Public License v3.0
33 stars 1 forks source link

Anbernic Win600 Support? #7

Closed plumlis closed 1 year ago

plumlis commented 2 years ago

I tried RyzenAdj in holoiso. And it works. Maybe we can have some luck with HandyPT?

pastaq commented 2 years ago

What specifically works on it? Can an you dump the table and set STAPM, slow, and fast PPT, and change skin temp? All will be required.

plumlis commented 2 years ago

This one: https://win.anbernic.com/index.php/product/212.html

Mine is 3050e version. I'll try to dump table by using RyzenAdj later.

pastaq commented 2 years ago

What's the TDP for these chips? AMD don't report configurable and 6w TDP. That may be the upper limit but I'd be willing to test up to 15w boosted and down to 2, but it may throttle.

plumlis commented 2 years ago

dumptable.txt info.txt

Here is output from ryzenadj -i and ryzenadj --dump-table.

I got this under windows with administator. But when I try to run this under linux with sudo. Ryzenadj crashed. and I don't know why. But I can use ryzenadj to set tdp limit under linux.

pastaq commented 2 years ago

Hmmm, that's not great. I need to read that table to validate settings. How did you confirm the settings took?

plumlis commented 2 years ago

I'll try with Linux Live CD to comfirm if latest Ryzenadj working.

pastaq commented 2 years ago

Any update?

plumlis commented 2 years ago

Sorry for late reply. I'm quite buzy these days. I'll try on this weekend.

plumlis commented 2 years ago

Hi , I tried to run ryzenadj under Ubuntu 22.04. It seems working.

I've got these output. ryzenadj I used is from this repo bin folder.

dump.log info.log

pastaq commented 2 years ago

Oh dope. This is excellent. I can probably include this device in 0.2.0 as well. Can you check a few more things for me? I need to know if SMT and Boost can be disabled on this device. I will also need to know the max TDP of this unit and the CPU name. lscpu | grep "Model name" | cut -d : -f 2 | xargs

cat /sys/devices/system/cpu/smt/control
echo off | sudo tee /sys/devices/system/cpu/smt/control
cat /sys/devices/system/cpu/smt/control
cat /sys/devices/system/cpu/cpufreq/boost
echo 0 | sudo tee /sys/devices/system/cpu/cpufreq/boost
cat /sys/devices/system/cpu/cpufreq/boost
plumlis commented 2 years ago

Here are outputs from terminal.

ubuntu@ubuntu:~$ lscpu | grep "Model name" | cut -d : -f 2 | xargs AMD Athlon Silver 3050e with Radeon Graphics

ubuntu@ubuntu:~$ cat /sys/devices/system/cpu/smt/control on

ubuntu@ubuntu:~$ echo off | sudo tee /sys/devices/system/cpu/smt/control off

ubuntu@ubuntu:~$ cat /sys/devices/system/cpu/smt/control off

ubuntu@ubuntu:~$ cat /sys/devices/system/cpu/cpufreq/boost 1

ubuntu@ubuntu:~$ echo 0 | sudo tee /sys/devices/system/cpu/cpufreq/boost 0

ubuntu@ubuntu:~$ cat /sys/devices/system/cpu/cpufreq/boost 0

ubuntu@ubuntu:~$

plumlis commented 2 years ago

Anbernic have to version. APU 3020e and APU 3050e

pastaq commented 2 years ago

Sweet, thanks. I can add these to v0.2.0. Should come out soon. I'll let you know.

plumlis commented 2 years ago

Today I wiped my Win600's Win 11 and Install Holoiso again. Tried Ryzenadj found it still can't work.

Here are outputs:

[deck@steamdeck bin]$ sudo ./ryzenadj -i
CPU Family: Dali
SMU BIOS Interface Version: 12
Version: v0.10.0
failed to get /sys/kernel/ryzen_smu_drv/pm_table: No such file or directory
failed to map /dev/mem: Operation not permitted
If you don't want to change your memory access policy, you need a kernel module for this task.
We do support usage of this kernel module https://gitlab.com/leogx9r/ryzen_smu
Unable to get memory access
Unable to init power metric table: -5, this does not affect adjustments because it is only needed for monitoring.
[deck@steamdeck bin]$ sudo ./ryzenadj --dump-table
failed to get /sys/kernel/ryzen_smu_drv/pm_table: No such file or directory
failed to map /dev/mem: Operation not permitted
If you don't want to change your memory access policy, you need a kernel module for this task.
We do support usage of this kernel module https://gitlab.com/leogx9r/ryzen_smu
Unable to get memory access
Unable to init power metric table: -5, this does not affect adjustments because it is only needed for monitoring.

I checked module ryzen_smu, Can make sure I installed it.

[deck@steamdeck bin]$ sudo dmesg  | grep "ryzen"
[    2.190762] ryzen_smu: loading out-of-tree module taints kernel.
[    2.202618] ryzen_smu: module verification failed: signature and/or required key missing - tainting kernel
[    2.203045] ryzen_smu: CPUID: family 0x17, model 0x20, stepping 0x1, package 0x0
[    2.203105] ryzen_smu: SMU v37.49.0

The main issue is module verification failed: signature and/or required key missing - tainting kernel, I don't know how to slove this. I disabled Secure Boot in Bios , Enable develop mode in Steam os. but still no luck.

I'm not sure others AMD handheld (Aya 4500U) have this issue. But I can sure it works well under Ubuntu.

So maybe is kernel related?

pastaq commented 2 years ago

I've not experienced that before, but it seems fairly distro specific. You might open an issue with HoloISO, they've been doing some strange stuff with kernels and this could be an unforseen circumstance.

pastaq commented 2 years ago

Are you willing to test I in ChimeraOS? This is the primary os I support.

plumlis commented 2 years ago

I‘ll try to install another kernel in Holoiso to see if it works. And will try ChimeraOS later. I believed if got module working, HandyPT should working fine.

pastaq commented 2 years ago

V0.2.0 release candidate is available for testing. https://github.com/ShadowBlip/HandyPT/releases/tag/v0.2.0-rc1

pastaq commented 2 years ago

Experimental support was added in v0.2.0. Once someone verifies functionality I can close this issue.

pastaq commented 1 year ago

I'm going to close this issue for now as the APU's are configured with the best known information and I don't seem to have any more testers. If there are any further issues with support, please open another ticket.