Merge pull request #1189 from fastfetch-cli/dev

Release v2.21.3
This commit is contained in:
Carter Li
2024-08-15 15:58:32 +08:00
committed by GitHub
8 changed files with 73 additions and 61 deletions
+6
View File
@@ -1,3 +1,9 @@
# 2.21.3
Bugfixes:
* Fix bad Intel Arc GPU name detection, which was supposed to be fixed in the last version but the change was reverted accidentally (#1177, GPU, Linux)
* Fix arm32 CPU name detection no longer work. Regression of 2.21.2 (CPU, Linux)
# 2.21.2
Features:
+1 -1
View File
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url
project(fastfetch
VERSION 2.21.2
VERSION 2.21.3
LANGUAGES C
DESCRIPTION "Fast neofetch-like system information tool"
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
+6
View File
@@ -1,3 +1,9 @@
fastfetch (2.21.2) jammy; urgency=medium
* Update to 2.21.2
-- Carter Li <zhangsongcui@live.cn> Wed, 14 Aug 2024 14:42:07 +0800
fastfetch (2.21.1) jammy; urgency=medium
* Update to 2.21.1
+1 -1
View File
@@ -1 +1 @@
fastfetch_2.21.1_source.buildinfo universe/utils optional
fastfetch_2.21.2_source.buildinfo universe/utils optional
+22 -22
View File
@@ -28,7 +28,7 @@ static const char* hwImplId2Vendor(uint32_t implId)
case 0x6D: return "Microsoft";
case 0x70: return "Phytium";
case 0xc0: return "Ampere";
default: return 0;
default: return "Unknown";
}
}
@@ -106,7 +106,7 @@ static const char* armPartId2name(uint32_t partId)
case 0xd80: return "Cortex-A520";
case 0xd81: return "Cortex-A720";
case 0xd82: return "Cortex-X4";
default: return "Unknown";
default: return NULL;
}
}
@@ -117,7 +117,7 @@ static const char* brcmPartId2name(uint32_t partId)
case 0x0f: return "Brahma-B15";
case 0x100: return "Brahma-B53";
case 0x516: return "ThunderX2";
default: return "Unknown";
default: return NULL;
}
}
@@ -127,7 +127,7 @@ static const char* decPartId2name(uint32_t partId)
{
case 0xa10: return "SA110";
case 0xa11: return "SA1100";
default: return "Unknown";
default: return NULL;
}
}
@@ -148,7 +148,7 @@ static const char* caviumPartId2name(uint32_t partId)
case 0x0b5: return "OcteonTX2-95XXMM";
case 0x0b6: return "OcteonTX2-95XXO";
case 0x0b8: return "ThunderX3-T110";
default: return "Unknown";
default: return NULL;
}
}
@@ -157,7 +157,7 @@ static const char* apmPartId2name(uint32_t partId)
switch (partId)
{
case 0x000: return "X-Gene";
default: return "Unknown";
default: return NULL;
}
}
@@ -181,7 +181,7 @@ static const char* qcomPartId2name(uint32_t partId)
case 0x805: return "Kryo-4XX-Silver";
case 0xc00: return "Falkor";
case 0xc01: return "Saphira";
default: return "Unknown";
default: return NULL;
}
}
@@ -189,11 +189,11 @@ static const char* samsungPartId2name(uint32_t partId)
{
switch (partId)
{
case 0x001: return "exynos-m1";
case 0x002: return "exynos-m3";
case 0x003: return "exynos-m4";
case 0x004: return "exynos-m5";
default: return "Unknown";
case 0x001: return "Exynos-M1";
case 0x002: return "Exynos-M3";
case 0x003: return "Exynos-M4";
case 0x004: return "Exynos-M5";
default: return NULL;
}
}
@@ -204,7 +204,7 @@ static const char* nvidiaPartId2name(uint32_t partId)
case 0x000: return "Denver";
case 0x003: return "Denver 2";
case 0x004: return "Carmel";
default: return "Unknown";
default: return NULL;
}
}
@@ -215,7 +215,7 @@ static const char* marvellPartId2name(uint32_t partId)
case 0x131: return "Feroceon-88FR131";
case 0x581: return "PJ4/PJ4b";
case 0x584: return "PJ4B-MP";
default: return "Unknown";
default: return NULL;
}
}
@@ -259,7 +259,7 @@ static const char* applePartId2name(uint32_t partId)
case 0x037: return "Everest-A16";
case 0x038: return "Blizzard-M2-Max";
case 0x039: return "Avalanche-M2-Max";
default: return "Unknown";
default: return NULL;
}
}
@@ -269,7 +269,7 @@ static const char* faradayPartId2name(uint32_t partId)
{
case 0x526: return "FA526";
case 0x626: return "FA626";
default: return "Unknown";
default: return NULL;
}
}
@@ -298,7 +298,7 @@ static const char* intelPartId2name(uint32_t partId)
case 0x689: return "PXA31x";
case 0xb11: return "SA1110";
case 0xc12: return "IPX1200";
default: return "Unknown";
default: return NULL;
}
}
@@ -307,7 +307,7 @@ static const char* fujitsuPartId2name(uint32_t partId)
switch (partId)
{
case 0x001: return "A64FX";
default: return "Unknown";
default: return NULL;
}
}
@@ -319,7 +319,7 @@ static const char* hisiPartId2name(uint32_t partId)
case 0xd02: return "TaiShan-v120"; /* used in Kirin 990A and 9000S SoCs */
case 0xd40: return "Cortex-A76"; /* HiSilicon uses this ID though advertises A76 */
case 0xd41: return "Cortex-A77"; /* HiSilicon uses this ID though advertises A77 */
default: return "Unknown";
default: return NULL;
}
}
@@ -329,7 +329,7 @@ static const char* amperePartId2name(uint32_t partId)
{
case 0xac3: return "Ampere-1";
case 0xac4: return "Ampere-1a";
default: return "Unknown";
default: return NULL;
}
}
@@ -344,7 +344,7 @@ static const char* ftPartId2name(uint32_t partId)
case 0x663: return "FTC663";
case 0x664: return "FTC664";
case 0x862: return "FTC862";
default: return "Unknown";
default: return NULL;
}
}
@@ -353,6 +353,6 @@ static const char* msPartId2name(uint32_t partId)
switch (partId)
{
case 0xd49: return "Azure-Cobalt-100";
default: return "Unknown";
default: return NULL;
}
}
+36 -33
View File
@@ -74,7 +74,7 @@ static void detectAndroid(FFCPUResult* cpu)
}
#endif
#ifdef __aarch64__
#if __arm__ || __aarch64__
#include "cpu_arm.h"
static void detectArmName(FILE* cpuinfo, FFCPUResult* cpu, uint32_t implId)
@@ -82,44 +82,51 @@ static void detectArmName(FILE* cpuinfo, FFCPUResult* cpu, uint32_t implId)
FF_AUTO_FREE char* line = NULL;
rewind(cpuinfo);
size_t len = 0;
const char* lastName = NULL;
uint32_t lastPartId = UINT32_MAX;
uint32_t num = 0;
while(getline(&line, &len, cpuinfo) != -1)
{
if (!ffStrStartsWith(line, "CPU part\t: ")) continue;
uint32_t partId = (uint32_t) strtoul(line + strlen("CPU part\t: "), NULL, 16);
const char* name = NULL;
switch (implId)
if (partId > 0) // Linux reports 0 for unknown CPUs
{
case 0x41: name = armPartId2name(partId); break;
case 0x42: name = brcmPartId2name(partId); break;
case 0x43: name = caviumPartId2name(partId); break;
case 0x44: name = decPartId2name(partId); break;
case 0x46: name = fujitsuPartId2name(partId); break;
case 0x48: name = hisiPartId2name(partId); break;
case 0x4e: name = nvidiaPartId2name(partId); break;
case 0x50: name = apmPartId2name(partId); break;
case 0x51: name = qcomPartId2name(partId); break;
case 0x53: name = samsungPartId2name(partId); break;
case 0x56: name = marvellPartId2name(partId); break;
case 0x61: name = applePartId2name(partId); break;
case 0x66: name = faradayPartId2name(partId); break;
case 0x69: name = intelPartId2name(partId); break;
case 0x6d: name = msPartId2name(partId); break;
case 0x70: name = ftPartId2name(partId); break;
case 0xc0: name = amperePartId2name(partId); break;
default: name = "Unknown"; break;
switch (implId)
{
case 0x41: name = armPartId2name(partId); break;
case 0x42: name = brcmPartId2name(partId); break;
case 0x43: name = caviumPartId2name(partId); break;
case 0x44: name = decPartId2name(partId); break;
case 0x46: name = fujitsuPartId2name(partId); break;
case 0x48: name = hisiPartId2name(partId); break;
case 0x4e: name = nvidiaPartId2name(partId); break;
case 0x50: name = apmPartId2name(partId); break;
case 0x51: name = qcomPartId2name(partId); break;
case 0x53: name = samsungPartId2name(partId); break;
case 0x56: name = marvellPartId2name(partId); break;
case 0x61: name = applePartId2name(partId); break;
case 0x66: name = faradayPartId2name(partId); break;
case 0x69: name = intelPartId2name(partId); break;
case 0x6d: name = msPartId2name(partId); break;
case 0x70: name = ftPartId2name(partId); break;
case 0xc0: name = amperePartId2name(partId); break;
}
}
if (lastName != name)
if (lastPartId != partId)
{
if (lastName)
if (lastPartId != UINT32_MAX)
{
if (num > 1)
ffStrbufAppendF(&cpu->name, "*%u", num);
ffStrbufAppendS(&cpu->name, " + ");
}
ffStrbufAppendS(&cpu->name, name);
lastName = name;
if (name)
ffStrbufAppendS(&cpu->name, name);
else if (partId)
ffStrbufAppendF(&cpu->name, "%s-%X", cpu->vendor.chars, partId);
else
ffStrbufAppend(&cpu->name, &cpu->vendor);
lastPartId = partId;
num = 1;
}
else
@@ -149,7 +156,7 @@ static const char* parseCpuInfo(FILE* cpuinfo, FFCPUResult* cpu, FFstrbuf* physi
ffParsePropLine(line, "isa :", cpuIsa) ||
ffParsePropLine(line, "uarch :", cpuUarch) ||
#if __aarch64__
#if __arm__ || __aarch64__
(cpu->vendor.length == 0 && ffParsePropLine(line, "CPU implementer :", cpuImplementer)) ||
#endif
#if __ANDROID__
@@ -351,20 +358,16 @@ const char* ffDetectCPUImpl(const FFCPUOptions* options, FFCPUResult* cpu)
ffStrbufAppend(&cpu->name, &cpuIsa);
}
#ifdef __aarch64__
#if __arm__ || __aarch64__
uint32_t cpuImplementer = (uint32_t) strtoul(cpuImplementerStr.chars, NULL, 16);
ffStrbufSetStatic(&cpu->vendor, hwImplId2Vendor(cpuImplementer));
#endif
#ifdef __ANDROID__
#if __ANDROID__
detectAndroid(cpu);
#endif
#if defined(__linux__) && defined(__aarch64__) && !defined(__ANDROID__)
#elif __aarch64__
detectAsahi(cpu);
#endif
#ifdef __aarch64__
if (cpu->name.length == 0)
detectArmName(cpuinfo, cpu, cpuImplementer);
#endif
-3
View File
@@ -204,9 +204,6 @@ static void pciDetectIntelSpecific(FFGPUResult* gpu, FFstrbuf* pciDir, FFstrbuf*
// Works for Intel GPUs
// https://patchwork.kernel.org/project/intel-gfx/patch/1422039866-11572-3-git-send-email-ville.syrjala@linux.intel.com/
if (ffStrbufStartsWithS(&gpu->name, "Intel "))
ffStrbufSubstrAfter(&gpu->name, (uint32_t) strlen("Intel "));
if ((coreName->chars[0] == 'D' || coreName->chars[0] == 'S') &&
coreName->chars[1] == 'G' &&
ffCharIsDigit(coreName->chars[2]))
+1 -1
View File
@@ -26,7 +26,7 @@ static void printGPUResult(FFGPUOptions* options, uint8_t index, const FFGPUResu
{
ffPrintLogoAndKey(FF_GPU_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT);
FF_STRBUF_AUTO_DESTROY output = ffStrbufCreateA(gpu->vendor.length + 1 + gpu->name.length);
FF_STRBUF_AUTO_DESTROY output = ffStrbufCreate();
if(gpu->vendor.length > 0 && !ffStrbufStartsWith(&gpu->name, &gpu->vendor))
{