added waybar config
This commit is contained in:
Executable
+79
@@ -0,0 +1,79 @@
|
||||
#!/bin/bash
|
||||
|
||||
# version 2
|
||||
# written by fennek182
|
||||
# for personal use
|
||||
# waybar module to display gpu usage - for all gpus using mesa (intel)
|
||||
|
||||
|
||||
round() {
|
||||
number="$(echo $1 | sed 's/\./,/')"
|
||||
printf "%.${2:-0}f" "$number"
|
||||
}
|
||||
|
||||
gpu_usage=$(cat /sys/class/drm/card1/device/gpu_busy_percent)
|
||||
gpu_temp_core=$(sensors | grep "edge" | awk '{ print $2 }' | cut -c 2-3) #edge temp, there's also junction and mem
|
||||
gpu_temp_hotspot=$(sensors | grep "junction" | awk '{ print $2 }' | cut -c 2-3) #edge temp, there's also junction and mem
|
||||
gpu_temp_mem=$(sensors | grep "mem" | awk '{ print $2 }' | cut -c 2-3) #edge temp, there's also junction and mem
|
||||
gpu_clock=$(cat /sys/class/drm/card1/device/pp_dpm_sclk | grep "*" | awk '{ print $2 }')
|
||||
gpu_power=$(sensors | grep "PPT" | awk '{ print $2 }')
|
||||
gpu_power=$(echo "${gpu_power%%.*}")
|
||||
# gpu_power=$(sensors | grep "PPT" | awk '{ print $2 }' | head -c2)
|
||||
fan_current_rpm=$(sensors | grep "fan1" | awk '{ print $2 }')
|
||||
fan_max_rpm=$(sensors | grep "fan1" | awk '{ print $10 }')
|
||||
fan_duty=$(echo "$(awk "BEGIN { print "$fan_current_rpm/$fan_max_rpm*100" }" | head -c2 )")
|
||||
# vram_size=$(nvidia-smi -q | grep 'Total' | head -n1 | awk '{print int($3/1000)}')
|
||||
vram_size=20
|
||||
vram_used=$(cat /sys/class/drm/card1/device/mem_info_vram_used)
|
||||
# vram_used=$(echo $vram_used | sed 's/G//')
|
||||
|
||||
vram_used_percentage=$(echo "$(awk "BEGIN { print "$vram_used/21474836480*100" }" | cut -c1-4 )")
|
||||
vram_used_percentage=$(round $vram_used_percentage 0)
|
||||
|
||||
# todo: use MB and TB insted of MiB and GiB and hide the G if it's >= 1 GB
|
||||
|
||||
# auto format to human readable file size unit
|
||||
vram_used=$(printf %s\\n $vram_used | numfmt --to=si | sed 's/G*//g')
|
||||
# vram_used=$(printf %s\\n $vram_used | numfmt --to=iec-i | sed 's/.$//')
|
||||
|
||||
# make usage human readable
|
||||
# vram_used_mib=$(echo "$(awk "BEGIN { print "$vram_used/1024/1024" }" | head -c4)")
|
||||
|
||||
# when the usage in MiB is greater than 999MBiB, so over 1G
|
||||
# if [ ${#vram_used/1024/1024} -gt 1000 ]; then
|
||||
# vram_used=$(echo "$(awk "BEGIN { print "$vram_used/1024/1024/1024" }")G")
|
||||
# else
|
||||
# vram_used=$(echo "$(awk "BEGIN { print "$vram_used/1024/1024" }" | head -c3 )M")
|
||||
# fi
|
||||
|
||||
|
||||
#echo "GPU "$gpu_usage"% $gpu_temp°C "$gpu_clock"MHz "$gpu_power"W FAN "$fan_duty"% VRAM "$vram_used_percentage"% $vram_used" / "$vram_size"G
|
||||
|
||||
|
||||
# hide core clock and vram usage if gpu usage is below 50%
|
||||
# [[ $fan_duty == "0" ]] && echo ""$gpu_usage"% $gpu_temp_core°C "$gpu_power"W "$fan_duty"%"
|
||||
|
||||
# [[ $gpu_usage -lt 51 ]] && echo "$usage% $power_package"
|
||||
# [[ $gpu_usage -lt "51" ]] && echo ""$gpu_usage"% $gpu_temp_core°C "$gpu_power"W"
|
||||
|
||||
# when called from terminal, show the info and exit
|
||||
# TODO: make this properly check if run from terminal
|
||||
|
||||
[[ "$1" == "-a" ]] && echo ""$gpu_usage"% C: $gpu_temp_core°C H: $gpu_temp_hotspot°C M: $gpu_temp_mem°C "$gpu_clock" "$gpu_power"W "$fan_duty"% "$fan_current_rpm"RPM "$vram_used_percentage"% $vram_used"/"$vram_size"GB && exit
|
||||
|
||||
[[ $gpu_temp_core -lt "65" ]] && [[ $gpu_usage -lt "51" ]] && echo ""$gpu_usage"% "$gpu_power"W"
|
||||
[[ $gpu_temp_core -gt "66" ]] && echo ""$gpu_usage"% $gpu_temp_core °C "$gpu_power"W"
|
||||
|
||||
# [[ $gpu_usage -lt "51" ]] && echo ""$gpu_usage"% $gpu_temp_core°C "$gpu_power"W"
|
||||
# [[ $gpu_usage -lt "50" ]] && echo ""$gpu_usage"% $gpu_temp°C "$gpu_power"W "$fan_duty"%"
|
||||
# [[ $gpu_usage -lt "50" ]] && echo ""$gpu_usage"% $gpu_temp°C "$gpu_power"W "$fan_duty"% "$fan_current_rpm"RPM"
|
||||
|
||||
# echo "GPU "$gpu_usage"% $gpu_temp°C "$gpu_clock"MHz "$gpu_power"W FAN "$fan_duty"% VRAM "$vram_used_percentage"% $vram_used"/"$vram_size"G
|
||||
# echo ""$gpu_usage"% $gpu_temp°C "$gpu_clock"MHz "$gpu_power"W FAN "$fan_duty"% VRAM "$vram_used_percentage"% $vram_used"/"$vram_size"G
|
||||
# echo ""$gpu_usage"% $gpu_temp_core°C "$gpu_clock" "$gpu_power"W "$fan_duty"% "$fan_current_rpm"RPM "$vram_used_percentage"% $vram_used"/"$vram_size"G
|
||||
|
||||
# older output with more withspace for the temps - used until 2026-05-04:
|
||||
# echo ""$gpu_usage"% C: $gpu_temp_core°C H: $gpu_temp_hotspot°C M: $gpu_temp_mem°C "$gpu_clock" "$gpu_power"W "$fan_duty"% "$fan_current_rpm"RPM "$vram_used_percentage"% $vram_used"/"$vram_size"GB
|
||||
echo ""$gpu_usage"% C/H/M: $gpu_temp_core/$gpu_temp_hotspot/$gpu_temp_mem°C "$gpu_clock" "$gpu_power"W "$fan_duty"% "$fan_current_rpm"RPM "$vram_used_percentage"% $vram_used"GB
|
||||
|
||||
#
|
||||
Reference in New Issue
Block a user