From 275936a34684a31241c1117e62c9045be02dcc97 Mon Sep 17 00:00:00 2001 From: crt0mega Date: Wed, 13 Jun 2018 18:02:53 +0200 Subject: [PATCH] Added ZenityWattMan --- hardware/zwattman.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 hardware/zwattman.sh diff --git a/hardware/zwattman.sh b/hardware/zwattman.sh new file mode 100755 index 0000000..fc7db0c --- /dev/null +++ b/hardware/zwattman.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# ZenityWattMan (c) 2018 by crt0mega + +#ToDo: Enumerate render devices with sysfs +######################################################################## + +#Depending on the workloads, user can echo "0/1/2/3/4" +#pp_power_profile_mode to select +#3D_FULL_SCREEN/POWER_SAVING/VIDEO/VR/COMPUTE mode. +# +#echo "5 * * * * * * * *" pp_power_profile_mode to config custom mode. +#"5 * * * * * * * *" mean "CUSTOM enable_sclk SCLK_UP_HYST +#SCLK_DOWN_HYST SCLK_ACTIVE_LEVEL enable_mclk MCLK_UP_HYST +#MCLK_DOWN_HYST MCLK_ACTIVE_LEVEL" + +if [ "$(id -u)" != "0" ]; then + pkexec $0 +fi + +CARD="card0" +ENABLERPATH="/sys/class/drm/$CARD/device/power_dpm_force_performance_level" +WATTPATH="/sys/class/drm/$CARD/device/pp_power_profile_mode" +CURRENTMODE="$(cat $WATTPATH|grep -e "*"|tr -s ' '|cut -d ' ' -f 2)" +CUSTOMMODE="$(cat $WATTPATH|grep -e "CUSTOM"|tr -s ' '|cut -d ' ' -f 2)" +echo $CURRENTMODE +# NUM MODE_NAME BUSY_SET_POINT FPS USE_RLC_BUSY MIN_ACTIVE_LEVEL + +RESP="$(tail -n+2 $WATTPATH | tr -d ':' | \ +awk '{ print $1"\n"$2"\n"$3"\n"$4"\n"$5"\n"$6 }' | \ +zenity --list --column "#" --column "Mode Name" \ + --column "Busy Set Point" --column "FPS" \ + --column "Use RLC Busy" --column "Min Active Level"\ + --title="ZenityWattMan" --width 640 --text "Pick a mode")" + +if [ $RESP == $CUSTOMMODE ]; then +# ToDo: Custom mode support +######################################################################## + zenity --error --title "ZenityWattMan" --text \ + "Custom mode not supported yet!" --width 320 + exit +fi + +if [ -z $RESP ]; then + exit +else + echo "manual" > $ENABLERPATH + echo $RESP > $WATTPATH +fi +