Commit Graph

68 Commits

Author SHA1 Message Date
李通洲 640fa146c1 CPU (Windows): only use smbios to detect maximum speed
Because some virtual machines report invalid information
2024-01-06 18:00:59 +08:00
李通洲 1621484c96 CPU (Windows): don't report 30GHz in VMware 2024-01-06 17:11:26 +08:00
李通洲 d8297d296e CPU (Windows): use ThreadCount if GetLogicalProcessorInformationEx() fails 2024-01-06 17:11:26 +08:00
李通洲 1d35811253 Windows: make SMBIOS data a singleton 2024-01-06 17:11:26 +08:00
李通洲 fe0b43d92d CPU (Windows): detect the actual maximum frequency 2024-01-06 17:11:26 +08:00
李通洲 b6c8649cbf macOS: improve IO service related code generally 2024-01-05 15:00:50 +08:00
李通洲 bb489f9af3 Common: get rid of detection/internal.h 2023-12-30 18:13:54 +08:00
李通洲 54bd4346ec Temps (macOS): rename functions 2023-12-27 08:46:49 +08:00
李通洲 f319a80dc5 CPU (Linux): if we failed to detect the number of physical cores, assume all logical cores are physical 2023-12-26 13:40:41 +08:00
李通洲 60f5cc9079 CPU (Linux): don't print - 2023-12-26 13:34:58 +08:00
Carter Li dd3b3f22ba CPU (Linux): detect multi cpu models by lscpu
Supports asahi linux
2023-12-26 11:20:40 +08:00
李通洲 adc506d2b3 GPU: fix clock frequency detection and overall tidy 2023-12-20 19:13:00 +08:00
李通洲 f20b6d4387 Temps (macOS): support Apple M3 2023-12-08 16:10:10 +08:00
李通洲 f9597eba39 Global: remove #ifndef FF_INCLUDED_* guards 2023-11-09 13:46:45 +08:00
李通洲 f8eabdd8a6 Battry (Linux): try detecting cycle count and temperature 2023-11-06 19:08:17 +08:00
matoro 40d6d0b7b5 CPU (Linux): quirks for MIPS platforms (#590)
CPU name is in "cpu model" field on MIPS.  Also, /proc/cpuinfo contains
an "isa" field, but rather than being a single string like RISC-V it is
instead a space-separated list of every ISA flavor that the chip is
compatible with.  Since these are mostly incremental, just make the
cpuISA value set to the last one.

Before:
```
$ fastfetch --structure "cpu" --logo none
CPU: mips1 mips2 mips3 mips4 mips5 mips32r1 mips32r2 mips64r1 mips64r2 (16)
```

After:
```
$ fastfetch --structure "cpu" --logo none
CPU: Cavium Octeon II V0.10 mips64r2 (16)
```
2023-10-22 22:09:43 -05:00
李通洲 e7df94495c Temp (FreeBSD): improve CPU temp detection 2023-10-10 13:41:08 +08:00
李通洲 90ea096ca3 macOS: don't keep variable matchDict 2023-10-07 15:51:05 +08:00
李通洲 767f99cffa CPU (Linux): only try lscpu on Linux
Since `lscpu` is a program of `util-linux`
2023-09-27 15:11:05 +08:00
李通洲 7caa8d4618 CPU (Linux): try detecting CPU name using lscpu
Fix #567
2023-09-27 15:05:26 +08:00
李通洲 e4c1ec916b FFstrbuf: change ffStrbufToUInt16 to more general function ffStrbufToUInt 2023-09-26 09:52:10 +08:00
李通洲 fe9fcd603b CPU (Windows): fix possible memory errors 2023-09-08 10:11:57 +08:00
李通洲 d8b2151143 CPU (macOS): support Apple Silicon frequency detection 2023-09-08 10:11:56 +08:00
李通洲 904c9eb3c4 CPU (macOS): code refactor 2023-09-08 10:11:31 +08:00
李通洲 28e412b79d CPU: add JSON printing support 2023-09-05 15:29:46 +08:00
李通洲 74233ac0cb Temps (macOS): code refactors 2023-08-07 10:19:08 +08:00
李通洲 92b1d74d12 CPU (Android): better CPU name detection
at least for Xiaomi
2023-07-27 20:46:11 +08:00
李通洲 5fcf5b7f64 CPU (Linux): tidy 2023-07-27 16:16:09 +08:00
李通洲 e685a00a4b FFstrbuf: remove ffStrbufRemoveStringsV; rename ffStrbufRemoveStringsA to ffStrbufRemoveStrings 2023-07-25 17:35:09 +08:00
Piotr Kubaj 63fbaa146c CPU: properly detect CPU on POWER
Excerpt for a thread from /proc/cpuinfo:
processor       : 0
cpu             : POWER9, altivec supported
clock           : 3800.000000MHz
revision        : 2.2 (pvr 004e 1202)

Without this patch, the following is printed for a CPU:
CPU: CPU (64) @ 3.8 GHz

With it, there is:
CPU: POWER9, altivec supported (64) @ 3.8 GHz
2023-07-12 19:54:09 +08:00
李通洲 d0f093c567 Global: make FFinstance instance a global variable
As discussed in https://github.com/fastfetch-cli/fastfetch/discussions/473
2023-06-24 17:28:05 +08:00
Carter Li 85597e4d46 CPU (FreeBSD): actually support temp detection 2023-06-22 04:06:08 +00:00
李通洲 5678019204 CPU (Windows): fix detection bug 2023-06-17 19:17:10 +08:00
李通洲 a18073f5de FreeBSD (CPU): fix temperature detection 2023-06-15 09:35:47 +08:00
李通洲 56effcb189 CPU: use module options 2023-06-12 10:33:28 +08:00
李通洲 39582471e8 Global: major FFlist related code refactor 2023-06-10 09:15:15 +08:00
李通洲 c7119498a3 Global: major FFstrbuf related code refactor 2023-06-10 09:15:15 +08:00
李通洲 f205982ae5 CPU: support JSON config 2023-06-10 09:15:15 +08:00
李通洲 b3da6b0e89 CPU (Windows): try improving performance 2023-03-21 15:27:34 +08:00
李通洲 7f15f91bd3 Temps (Windows): dirty support
Note: https://stackoverflow.com/a/17083409
2023-02-23 21:31:33 +08:00
Linus Dierheimer a1ea7804f3 IO: Separate platform specific implementations 2023-01-28 12:40:12 +01:00
Linus Dierheimer 2c51d55ba2 IO: don't require posix specific stuff for ffPathExists 2023-01-28 11:52:23 +01:00
李通洲 f640102b0e CPU (Linux): fix compiler warnings 2023-01-21 14:03:57 +08:00
李通洲 6f4bdafb0c Temp: fix severial issues. Fixes #398
1. Temp detection has been gated behind of `--*-temp`. Don't make it a slow operation
2. According to [the kernel doc](https://www.kernel.org/doc/Documentation/hwmon/sysfs-interface), `temp1_input` is millidegree Celsius, which should be divided by 1000
3. There is no `/sys/class/hwmon/hwmon3/device/class` on my laptop, but `/sys/class/hwmon/hwmon3/device/device/class`. Need to confirm with @LinusDierheimer
4. Small code optimizations
2023-01-21 06:18:19 +08:00
Aaron Franke 5cc17bc306 Add support for displaying the ISA string on RISC-V CPUs 2023-01-09 02:21:26 -06:00
李通洲 90359d227e Global: don't require sysinfo.h globally
... which is Linux specific
2022-12-28 17:20:20 +08:00
李通洲 ff6e982050 Global: remove caching except image caching 2022-12-17 12:41:11 +08:00
李通洲 5c381460ce util: rename register -> registry 2022-11-27 12:21:53 +08:00
李通洲 0ab38bb4d7 CPU: fix cpu freq detection in WSL
`/sys/devices/system/cpu/cpufreq/policy0/` doesn't exist in WSL
2022-11-24 23:30:54 +08:00
李通洲 4fa3ca98a2 util/register: fix crashing when value string contains non-ascii chars
We can't use RegGetValueA because RegGetValueA converts wide string to non UTF-8 string, which results in crashing when printing
2022-11-23 17:44:57 +08:00