[PR] dylanaraps/neofetch#2139 from saeziae - Fix support for ARM, RISC-V, LoongArch detection
Upstream PR: https://github.com/dylanaraps/neofetch/pull/2139 Thanks to @saeziae Co-authored-by: Estela Xu <i@estela.cn>
This commit is contained in:
commit
d850e4c91e
1 changed files with 6 additions and 17 deletions
23
neofetch
23
neofetch
|
|
@ -2496,31 +2496,20 @@ get_cpu() {
|
||||||
[[ -z "$cpu" ]] && cpu="$(awk -F':' '/family/ {printf $2; exit}' "$cpu_file")"
|
[[ -z "$cpu" ]] && cpu="$(awk -F':' '/family/ {printf $2; exit}' "$cpu_file")"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"loongarch64")
|
|
||||||
cpu="$(awk -F':' '/Model/ {print $2; exit}' "$cpu_file")"
|
|
||||||
;;
|
|
||||||
|
|
||||||
"arm"* | "aarch64")
|
"arm"* | "aarch64")
|
||||||
if [[ $(trim "$ascii_distro") == Android* ]]; then
|
if [[ $(trim "$distro") == Android* ]]; then
|
||||||
# Android roms have modified cpuinfo that shows CPU model as a string
|
# Android roms have modified cpuinfo that shows CPU model as a string
|
||||||
cpu="$(awk -F '\\s*: | @' \
|
cpu="$(awk -F':' '/Hardware/ {print $2; exit}' "$cpu_file")"
|
||||||
'/model name|Hardware|Processor|^cpu model|chip type|^cpu type/ {
|
|
||||||
cpu=$2; if ($1 == "Hardware") exit } END { print cpu }' "$cpu_file")"
|
|
||||||
else
|
else
|
||||||
# ARM linux displays binary model code in cpuinfo, which needs to be decoded with lscpu
|
# ARM linux displays binary model code in cpuinfo, which needs to be decoded with lscpu
|
||||||
cpu="$(lscpu | awk -F': ' '/Vendor ID/ {print $2; exit}') $(lscpu | awk -F': ' '/Model name/ {print $2; exit}')"
|
cpu="$(lscpu | awk -F': ' '/Vendor ID/ {print $2; exit}' ) $(lscpu | awk -F': ' '/Model name/ {print $2; exit}')"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"riscv"*)
|
|
||||||
# This will fail to detect cpu on qemu
|
|
||||||
cpu="$(awk -F': ' '/uarch/ {print $2; exit}' "$cpu_file")"
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# If cpu is not detected on a platform-specific bases, fallback to cpuinfo method
|
# If cpu is not detected on a platform-specific bases, fallback to cpuinfo method
|
||||||
[[ -z "$cpu" ]] && cpu="$(awk -F '\\s*: | @' \
|
[[ -z "$cpu" ]] && cpu="$(awk -F '\\s*: | @' \
|
||||||
'/model name|Hardware|Processor|^cpu model|chip type|^cpu type/ {
|
'/model name|Model|uarch|Hardware|Processor|^cpu model|chip type|^cpu type/ {
|
||||||
cpu=$2; if ($1 == "Hardware") exit } END { print cpu }' "$cpu_file")"
|
cpu=$2; if ($1 == "Hardware") exit } END { print cpu }' "$cpu_file")"
|
||||||
|
|
||||||
speed_dir="/sys/devices/system/cpu/cpu0/cpufreq"
|
speed_dir="/sys/devices/system/cpu/cpu0/cpufreq"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue