Skip to content
Open
Show file tree
Hide file tree
Changes from 106 commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
f781f8d
Global (Windows): drops WIN7_COMPAT support
CarterLi Mar 7, 2026
22fa9b5
WM (Linux): fixes version reporting for niri WM (#2218)
butteronarchbtw Mar 7, 2026
9ba1cd1
DisplayServer (Linux): updates `kde-output-device-v2` again
CarterLi Mar 7, 2026
be2201b
Platform (Windows): don't use `instance.config` here
CarterLi Mar 7, 2026
d49c018
Common (Windows): updates `nt.h`
CarterLi Mar 9, 2026
bdc844f
Bootmgr (Windows): prefers NT APIs
CarterLi Mar 9, 2026
60d343c
Platform (Windows): simplifies SID retrival
CarterLi Mar 9, 2026
6370485
Processing (Windows): prefers NT APIs
CarterLi Mar 9, 2026
724ab6b
Platform (Windows): prefers info inside TEB/PEB
CarterLi Mar 9, 2026
7cadece
Keyboard (Linux): adds Bluetooth support (#2220)
bennypowers Mar 11, 2026
4a4afda
Keyboard (Linux): optimises detection code & reduces syscalls
CarterLi Mar 11, 2026
1e23475
PhysicalMemory (Linux): adds option `showEmptySlots` to show empty me…
CarterLi Mar 11, 2026
bdb9593
Platform (Windows): prefers data in PEB
CarterLi Mar 11, 2026
72bdee7
Global (Windows): prefers RtlUnicodeToUTF8N instead of WideCharToMult…
CarterLi Mar 11, 2026
ecfaf4d
IO (Windows): fixes wrong va_list handling
CarterLi Mar 11, 2026
b128260
IO (Windows): improves sub directory creation logic
CarterLi Mar 11, 2026
6ad8e68
Global: simplifies code with `__auto_type`
CarterLi Mar 11, 2026
c9b7c65
Brightness (Linux): prefers `FF_LIBRARY_LOAD_SYMBOL_LAZY`
CarterLi Mar 11, 2026
d2de3a0
IO (Windows): prefers native functions
CarterLi Mar 11, 2026
07f6f93
Host (Linux): reports marketing product name on Asahi Linux
CarterLi Mar 12, 2026
05fa8b0
CI (Linux): fixes a CI error
CarterLi Mar 12, 2026
3a35f97
Global: renames `FFformatArgType` to FFArgType for future reuse
CarterLi Mar 12, 2026
cfabee4
Common: adds `ffEdidIsValid`
CarterLi Mar 13, 2026
6ed8aac
FFlist: adds `ffListReserve`
CarterLi Mar 13, 2026
ea6ad4a
Global (Windows): prefers NTAPI for querying registry values
CarterLi Mar 13, 2026
ca9c673
Global (Windows): prefers `NtClose` over `CloseHandle`
CarterLi Mar 13, 2026
930fb06
TerminalFont (Windows): adds style detection support for warp terminal
CarterLi Mar 13, 2026
66edea7
Common (Windows): reverts 42509f115cfbf264cc053100242f0b4489f6e1f0
CarterLi Mar 13, 2026
37b8bb4
DisplayServer: reports DPI instead of scaled resolution
CarterLi Mar 13, 2026
9af918b
DisplayServer (Linux): swaps width/height in vertical mode and native…
CarterLi Mar 13, 2026
30f32f1
CI (DFBSD): workarounds building errors
CarterLi Mar 14, 2026
cd8a0fc
Global: enables debug mode when `$FF_DEBUG` is set
CarterLi Mar 14, 2026
7821552
Common (Windows): adds `ffDebugNtStatus` for debugging
CarterLi Mar 14, 2026
f46e97f
Common (Windows): fixes querying `HKEY_LOCAL_MACHINE` on Windows 8.1
CarterLi Mar 14, 2026
81984e6
Global (Windows): prefers `NtWaitForSingleObject`
CarterLi Mar 14, 2026
ea4a4f0
CPUCache (Linux): makes shared cache dedupe key boundary-safe
CarterLi Mar 16, 2026
f7ebeb5
Packages (Windows): prefers NT APIs
CarterLi Mar 16, 2026
8c72792
Common (Windows): adds a universal function `ffFileTimeToUnixMs` and …
CarterLi Mar 16, 2026
cc3595c
Processing (Windows): prefers NT APIs
CarterLi Mar 16, 2026
8edfda9
Processing (Windows): prefers `*W` version APIs
CarterLi Mar 16, 2026
42e01e7
Global (Windows): uses `GetCurrentConsoleFontEx` instead of `GetCurre…
CarterLi Mar 16, 2026
edc718d
Locale: reports API failure messages
CarterLi Mar 16, 2026
4e234c5
Platform (Windows): adds implementation of POSIX `readlink(2)` and `r…
CarterLi Mar 17, 2026
d551651
WM (macOS): adds `glazewm`; removes unmaintained plugins
CarterLi Mar 18, 2026
fb41257
Host (macOS): updates M5 models
CarterLi Mar 18, 2026
b8ad833
Networking (Windows): prefers WSA functions
CarterLi Mar 18, 2026
00b5f17
Global (Windows): prefers Rtl APIs
CarterLi Mar 18, 2026
d3459af
LocalIP: removes usage of `htonl`
CarterLi Mar 18, 2026
6ec59f8
Brightness (Windows): fixes detection of external monitors
CarterLi Mar 18, 2026
bab1e4f
Global (Windows): adds full TEB/PEB definitions
CarterLi Mar 19, 2026
86cfa4e
Library (Windows): prefers Ldr APIs
CarterLi Mar 19, 2026
b0215aa
Common (Windows): fixes random failures of WMI initialization
CarterLi Mar 19, 2026
56eabbe
Brightness (Windows): queries monitor description if display name is …
CarterLi Mar 19, 2026
2b19f80
GPU (Windows): prepares Linux support of `d3dkmthk.h`
CarterLi Mar 20, 2026
b739736
GPU (WSL2): moves to D3DKMT/WDDM
CarterLi Mar 20, 2026
412de62
GPU (Windows): detects used memory size by D3DKMT
CarterLi Mar 20, 2026
a961a96
GPU: adds more useful info
CarterLi Mar 20, 2026
c8fcabf
GPU (WSL): don't try to fetch info on unsupported systems
CarterLi Mar 21, 2026
a4bc3c8
SMBIOS: improves garbage data cleanup code
CarterLi Mar 21, 2026
ab17fb0
Global (macOS): queries SMBIOS data directly on Intel Mac
CarterLi Mar 21, 2026
1b543b1
PhysicalMemory: ignores custom SMBIOS entry
CarterLi Mar 21, 2026
8defffa
DisplayServer (Linux): fixes build failure on older Wayland versions
CarterLi Mar 21, 2026
09efb0d
Host: fixes building on niche platforms
CarterLi Mar 21, 2026
de146c6
Windows: removes 7/8 from manifest.xml
CarterLi Mar 21, 2026
941502d
Platform (Windows): fixes kernel version detection on Win 8
CarterLi Mar 21, 2026
a39419b
Chore: tidy
CarterLi Mar 22, 2026
f188e95
Colors: add `brightness` option for color display configuration
CarterLi Mar 22, 2026
4fb7860
Common (Windows): uses `RtlOpenCurrentUser` directly
CarterLi Mar 22, 2026
ff8d4b4
Icons (Windows): handles the case when users never changes the defaul…
CarterLi Mar 22, 2026
e3d7eab
Binary (Windows): prefers NT APIs
CarterLi Mar 23, 2026
76d6e86
Time (Windows): prefers RTL APIs
CarterLi Mar 23, 2026
92c65aa
Font (Windows): reads `Control Panel` registry directly
CarterLi Mar 23, 2026
8facb7c
Uptime (Windows): improves comments
CarterLi Mar 23, 2026
f32bf9e
Bios (macOS): tidy
CarterLi Mar 24, 2026
795bbde
Smbios: improves robostness; adds maiformed SMBIOS data verification …
CarterLi Mar 24, 2026
339de56
PhysicalMemory (macOS): don't set `runningSpeed`
CarterLi Mar 24, 2026
246ff0b
Common (Windows): adds a unique type for querying registry binary data
CarterLi Mar 24, 2026
947cddd
Binary (Windows): fixes unmatched fn calls
CarterLi Mar 23, 2026
6357dcc
README: adds comments
CarterLi Mar 24, 2026
d8b44a5
Monitor: updates the description
CarterLi Mar 24, 2026
1580409
PhysicalDisk (Windows): detects tape devices
CarterLi Mar 24, 2026
8fdaa98
IO: inlines more helper functions
CarterLi Mar 25, 2026
06ecd5a
Smbios (Linux): improve performance of small file reading
CarterLi Mar 25, 2026
fe0f292
FFstrbuf: adds new `ffStrbufDecodeHexEscapeSequences`
CarterLi Mar 25, 2026
9027f72
Wifi (Linux): decodes SSID string printed by `iw`
CarterLi Mar 25, 2026
2d4a77b
Networking (Windows): waits for completion of `CancelIO`
CarterLi Mar 25, 2026
a1c5fe2
Processing (Windows): improves reliablity when terminating child process
CarterLi Mar 25, 2026
0521513
Sound (Windows): a small refactor
CarterLi Mar 25, 2026
c69a6b7
Processing (Linux): reports command not found earlier
CarterLi Mar 26, 2026
62c2eb4
Networking (Linux): `shutdown` before `recv`
CarterLi Mar 26, 2026
aabab6d
Global (Linux): replaces `strerror(errno)` with `%m`
CarterLi Mar 26, 2026
b7e4e91
JsonSchema: regenerates `moduleFormat`
CarterLi Mar 26, 2026
9036b89
Host (macOS): adds new M5 models
CarterLi Mar 26, 2026
355e21c
Release: v2.61.0
CarterLi Mar 26, 2026
12746a9
Global: fixes issues raised by AI
CarterLi Mar 26, 2026
397822d
Global (Windows): resets console codepage on program exit
CarterLi Mar 26, 2026
bf99aed
Global: replaces `%m` for `%s + strerror(errno)`
CarterLi Mar 26, 2026
50dc260
Common (Windows): fixes str length variable handling
CarterLi Mar 26, 2026
00d1812
Debug (Windows): let OS choose language to print
CarterLi Mar 26, 2026
d45dc53
GPU (OpenBSD): silences compiler warnings
CarterLi Mar 26, 2026
9ffa466
Common (Windows): remove default language attempt when querying file …
CarterLi Mar 26, 2026
940d15c
Doc: updates changelog [ci skip]
CarterLi Mar 26, 2026
58e67dc
Common (Windows): fixes potential out-of-bound mem access
CarterLi Mar 26, 2026
918153f
Host (macOS): fixes typo
CarterLi Mar 26, 2026
cd00820
FFstrbuf: adds a comment
CarterLi Mar 26, 2026
22696fe
Common (Windows): fixes buf len handling
CarterLi Mar 26, 2026
5f84630
CI (macOS): disables vulkan because it crashes on Intel build
CarterLi Mar 27, 2026
92fb5cb
GPU (WSL): supports VMEM total size query on Windows 10
CarterLi Mar 27, 2026
f50059d
Display: rounds scaled size when calculating
CarterLi Mar 27, 2026
57440a7
Global (Windows): makes `NtWaitForSingleObject` not alertable
CarterLi Mar 27, 2026
ab37216
GPU (Windows): logs driver-specific detection error message
CarterLi Mar 27, 2026
63f7e15
Sound (Windows): tidy
CarterLi Mar 27, 2026
90ca39b
Debug (Windows): adds `ffDebugHResult`
CarterLi Mar 27, 2026
8e66013
GPU (WSL): increases maximum number of GPU adapters
CarterLi Mar 27, 2026
b981e4f
GPU (Windows): adds GPU type detection fallback with DXCore
CarterLi Mar 27, 2026
6d73ecb
CI: updates deps
CarterLi Mar 27, 2026
179539c
Display: rounds scaled size when calcuating
CarterLi Mar 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 9 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -237,14 +237,14 @@ jobs:
id: runcmd
with:
arch: armv7
distro: ubuntu20.04
distro: ubuntu22.04
githubToken: ${{ github.token }}
run: |
uname -a
apt-get update && apt-get install -y software-properties-common ca-certificates gpg curl
add-apt-repository -y ppa:ubuntu-toolchain-r/test
curl -L https://apt.kitware.com/keys/kitware-archive-latest.asc | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
echo -e 'Acquire::https::Verify-Peer "false";\nAcquire::https::Verify-Host "false";' >> /etc/apt/apt.conf.d/99ignore-certificates
apt-get update && apt-get install -y cmake make gcc-13 libvulkan-dev libwayland-dev libxrandr-dev libxcb-randr0-dev libdconf-dev libdbus-1-dev libmagickcore-dev libsqlite3-dev librpm-dev libegl-dev libglx-dev ocl-icd-opencl-dev libpulse-dev libdrm-dev libelf-dev rpm
CC=gcc-13 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_DIRECTX_HEADERS=Off -DCMAKE_INSTALL_PREFIX=/usr .
Expand Down Expand Up @@ -690,7 +690,7 @@ jobs:
path: ./fastfetch-*.*

windows-hosts:
name: Windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}
name: Windows-${{ matrix.arch }}
runs-on: ${{ matrix.runs-on }}
permissions:
security-events: write
Expand All @@ -703,22 +703,11 @@ jobs:
msystem: CLANG64
msystem-lower: clang64
msys-arch: x86_64
win7-compat-flag: OFF
win7-compat-postfix: ""
- arch: amd64
runs-on: windows-latest
msystem: CLANG64
msystem-lower: clang64
msys-arch: x86_64
win7-compat-flag: ON
win7-compat-postfix: "-win7"
- arch: aarch64
runs-on: windows-11-arm
msystem: CLANGARM64
msystem-lower: clangarm64
msys-arch: aarch64
win7-compat-flag: OFF
win7-compat-postfix: ""
defaults:
run:
shell: msys2 {0}
Expand All @@ -737,7 +726,7 @@ jobs:
run: uname -a

- name: configure project
run: env PKG_CONFIG_PATH=/${{ matrix.msystem-lower }}/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_WIN7_COMPAT=${{ matrix.win7-compat-flag }} .
run: env PKG_CONFIG_PATH=/${{ matrix.msystem-lower }}/lib/pkgconfig/:$PKG_CONFIG_PATH cmake -DSET_TWEAK=Off -DBUILD_TESTS=On .

- name: build project
run: cmake --build . --verbose -j4
Expand Down Expand Up @@ -768,7 +757,7 @@ jobs:
name: upload artifacts for signing
uses: actions/upload-artifact@v7
with:
name: fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}
name: fastfetch-windows-${{ matrix.arch }}
path: |
*.dll
fastfetch.exe
Expand All @@ -787,16 +776,16 @@ jobs:
output-artifact-directory: '.'

- name: create zip archive
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets

- name: create 7z archive
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-${{ matrix.arch }}.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets

- name: upload true artifacts
uses: actions/upload-artifact@v7
with:
name: fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}
path: ./fastfetch-windows-${{ matrix.arch }}${{ matrix.win7-compat-postfix }}.*
name: fastfetch-windows-${{ matrix.arch }}
path: ./fastfetch-windows-${{ matrix.arch }}.*
overwrite: true

release:
Expand Down
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
# 2.61.0

Changes:
* Windows 7 and 8 support has been removed.
* The oldest version supported by fastfetch is now Windows 8.1

Features:
* Adds `brightness` option for color display configuration (#2238, Colors)
* Adds support for detecting Bluetooth keyboards on Linux (#2220, Keyboard)
* Adds `GlazeWM` detection support (WM, macOS)
* Adds `showEmptySlots` option to show empty memory slots on Linux (#2222, PhysicalMemory)
* Adds marketing product name detection on Asahi Linux (Host, Linux)
* Adds new M5 Mac models (Host, macOS)
* Improves SMBIOS robustness with malformed data verification and better error handling
* Improves reliability when terminating child processes (Processing, Windows)
* Improves Intel Mac support by querying SMBIOS data directly (Global, macOS)
* Lots of internal code cleanups and optimizations

Bugfixes:
* Fixes missing memory devices on certain machines (PhysicalMemory)
* Fixes CPUCache deduplication on shared caches (#2228, CPUCache, Linux)
* Fixes WM version reporting for niri (#2218, WM, Linux)
* Fixes SSID decoding issues from `iw` output (Wifi, Linux)
* Fixes CMD codepage changed after running fastfetch on Windows (#2245, Windows)

# 2.60.0

Changes:
Expand Down
63 changes: 33 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url

project(fastfetch
VERSION 2.60.0
VERSION 2.61.0
LANGUAGES C
DESCRIPTION "Fast neofetch-like system information tool"
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
Expand Down Expand Up @@ -89,7 +89,6 @@ cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR FreeBSD OR Ope
cmake_dependent_option(ENABLE_FREETYPE "Enable freetype" ON "ANDROID" OFF)
cmake_dependent_option(ENABLE_PULSE "Enable pulse" ON "LINUX OR ANDROID OR GNU" OFF)
cmake_dependent_option(ENABLE_DDCUTIL "Enable ddcutil" ON "LINUX" OFF)
cmake_dependent_option(ENABLE_DIRECTX_HEADERS "Enable DirectX headers for WSL" ON "LINUX" OFF)
cmake_dependent_option(ENABLE_ELF "Enable libelf" ON "LINUX OR ANDROID OR DragonFly OR Haiku OR GNU" OFF)
cmake_dependent_option(ENABLE_THREADS "Enable multithreading" ON "Threads_FOUND" OFF)

Expand All @@ -107,7 +106,7 @@ option(ENABLE_EMBEDDED_AMDGPUIDS "Embed amdgpu.ids into fastfetch, requires `pyt
option(ENABLE_WORDEXP "Enable using of wordexp(3) if available, instead of glob(3)" ON)
option(ENABLE_LIBZFS "Enable libzfs" ON)
if(WIN32 AND NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
option(ENABLE_WIN7_COMPAT "Enable Windows 7 compatibility" OFF)
option(ENABLE_WIN81_COMPAT "Enable legacy Windows compatibility (Windows 8.1 and later; Windows 7 unsupported)" ON)
endif()
if(APPLE)
option(ENABLE_APPLE_MEMSIZE_USABLE "Use usable memory size as total memory size in Memory module, to match other systems" OFF)
Expand Down Expand Up @@ -159,7 +158,7 @@ set(WARNING_FLAGS "-Wall -Wextra -Wconversion -Werror=uninitialized -Werror=retu
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS} -Werror=incompatible-pointer-types -Werror=implicit-function-declaration -Werror=int-conversion")

if(WIN32 OR Haiku OR ENABLE_DIRECTX_HEADERS)
if(WIN32 OR Haiku)
enable_language(CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
Expand All @@ -168,8 +167,8 @@ endif()
if(WIN32)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--tsaware -Wl,--build-id")

if(ENABLE_WIN7_COMPAT)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--subsystem,console,--major-os-version,6,--minor-os-version,1")
if(ENABLE_WIN81_COMPAT)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--subsystem,console,--major-os-version,6,--minor-os-version,3")
else()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--subsystem,console,--major-os-version,10,--minor-os-version,0")
endif()
Expand Down Expand Up @@ -305,7 +304,8 @@ if(ENABLE_EMBEDDED_PCIIDS AND NOT EXISTS "${PROJECT_BINARY_DIR}/fastfetch_pciids
RESULT_VARIABLE PYTHON_PCIIDS_RETCODE)
if(NOT PYTHON_PCIIDS_RETCODE EQUAL 0)
file(REMOVE "${PROJECT_BINARY_DIR}/fastfetch_pciids.c.inc")
message(FATAL_ERROR "Failed to generate 'fastfetch_pciids.c.inc'")
message(WARNING "Failed to generate 'fastfetch_pciids.c.inc'")
set(ENABLE_EMBEDDED_PCIIDS OFF)
endif()
else()
message(WARNING "Python3 is not found, 'fastfetch_pciids.c.inc' will not be generated")
Expand All @@ -325,7 +325,8 @@ if(ENABLE_EMBEDDED_AMDGPUIDS AND NOT EXISTS "${PROJECT_BINARY_DIR}/fastfetch_amd
RESULT_VARIABLE PYTHON_AMDGPUIDS_RETCODE)
if(NOT PYTHON_AMDGPUIDS_RETCODE EQUAL 0)
file(REMOVE "${PROJECT_BINARY_DIR}/fastfetch_amdgpuids.c.inc")
message(FATAL_ERROR "Failed to generate 'fastfetch_amdgpuids.c.inc'")
message(WARNING "Failed to generate 'fastfetch_amdgpuids.c.inc'")
set(ENABLE_EMBEDDED_AMDGPUIDS OFF)
endif()
else()
message(WARNING "Python3 is not found, 'fastfetch_amdgpuids.c.inc' will not be generated")
Expand Down Expand Up @@ -413,6 +414,7 @@ set(LIBFASTFETCH_SRC
src/detection/editor/editor.c
src/detection/font/font.c
src/detection/gpu/gpu.c
src/detection/host/host_mac.c
src/detection/media/media.c
src/detection/netio/netio.c
src/detection/opencl/opencl.c
Expand Down Expand Up @@ -559,9 +561,9 @@ if(LINUX)
src/detection/gpu/gpu_linux.c
src/detection/gpu/gpu_drm.c
src/detection/gpu/gpu_pci.c
src/detection/gpu/gpu_wsl.c
src/detection/gtk_qt/gtk.c
src/detection/host/host_linux.c
src/detection/host/host_mac.c
src/detection/icons/icons_linux.c
src/detection/initsystem/initsystem_linux.c
src/detection/keyboard/keyboard_linux.c
Expand Down Expand Up @@ -720,7 +722,6 @@ elseif(FreeBSD)
src/detection/gpu/gpu_pci.c
src/detection/gtk_qt/gtk.c
src/detection/host/host_bsd.c
src/detection/host/host_mac.c
src/detection/lm/lm_linux.c
src/detection/icons/icons_linux.c
src/detection/initsystem/initsystem_linux.c
Expand Down Expand Up @@ -947,29 +948,23 @@ elseif(APPLE)
src/common/apple/osascript.m
src/common/apple/smc_temps.c
src/detection/battery/battery_apple.c
src/detection/bios/bios_apple.c
src/detection/bluetooth/bluetooth_apple.m
src/detection/bluetoothradio/bluetoothradio_apple.m
src/detection/board/board_apple.c
src/detection/bootmgr/bootmgr_apple.c
src/detection/brightness/brightness_apple.c
src/detection/btrfs/btrfs_nosupport.c
src/detection/chassis/chassis_apple.c
src/detection/cpu/cpu_apple.c
src/detection/cpucache/cpucache_apple.c
src/detection/cpuusage/cpuusage_apple.c
src/detection/cursor/cursor_apple.m
src/detection/disk/disk_bsd.c
src/detection/dns/dns_apple.c
src/detection/physicaldisk/physicaldisk_apple.c
src/detection/physicalmemory/physicalmemory_apple.m
src/detection/diskio/diskio_apple.c
src/detection/displayserver/displayserver_apple.c
src/detection/font/font_apple.m
src/detection/gpu/gpu_apple.c
src/detection/gpu/gpu_apple.m
src/detection/host/host_apple.c
src/detection/host/host_mac.c
src/detection/icons/icons_nosupport.c
src/detection/initsystem/initsystem_linux.c
src/detection/keyboard/keyboard_apple.c
Expand Down Expand Up @@ -1005,6 +1000,24 @@ elseif(APPLE)
src/detection/wmtheme/wmtheme_apple.m
src/detection/camera/camera_apple.m
)
# CMAKE_SYSTEM_PROCESSOR has been normalized before
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
list(APPEND LIBFASTFETCH_SRC
src/detection/bios/bios_windows.c
src/detection/board/board_windows.c
src/detection/chassis/chassis_windows.c
src/detection/host/host_windows.c
src/detection/physicalmemory/physicalmemory_linux.c
)
else()
list(APPEND LIBFASTFETCH_SRC
src/detection/bios/bios_apple.c
src/detection/board/board_apple.c
src/detection/chassis/chassis_apple.c
src/detection/host/host_apple.c
src/detection/physicalmemory/physicalmemory_apple.m
)
endif()
elseif(WIN32)
list(APPEND LIBFASTFETCH_SRC
src/common/impl/io_windows.c
Expand Down Expand Up @@ -1043,7 +1056,6 @@ elseif(WIN32)
src/detection/dns/dns_windows.c
src/detection/font/font_windows.c
src/detection/gpu/gpu_windows.c
src/detection/host/host_mac.c
src/detection/host/host_windows.c
src/detection/icons/icons_windows.c
src/detection/initsystem/initsystem_nosupport.c
Expand Down Expand Up @@ -1313,11 +1325,6 @@ elseif(GNU)
)
endif()

if(ENABLE_DIRECTX_HEADERS)
message(STATUS "Enabling DirectX headers for WSL")
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_wsl.cpp)
endif()

# Proprietary GPU driver APIs
if(LINUX OR FreeBSD OR WIN32)
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_nvidia.c)
Expand Down Expand Up @@ -1463,10 +1470,10 @@ if(WIN32)
target_compile_definitions(libfastfetch PUBLIC FF_HAVE_MSVC_MSIZE=1)
endif()

if(ENABLE_WIN7_COMPAT)
target_compile_definitions(libfastfetch PUBLIC FF_WIN7_COMPAT=1)
if(ENABLE_WIN81_COMPAT)
target_compile_definitions(libfastfetch PUBLIC FF_WIN81_COMPAT=1)
else()
target_compile_definitions(libfastfetch PUBLIC FF_WIN7_COMPAT=0)
target_compile_definitions(libfastfetch PUBLIC FF_WIN81_COMPAT=0)
endif()
else()
check_function_exists(malloc_usable_size HAVE_MALLOC_USABLE_SIZE)
Expand Down Expand Up @@ -1659,10 +1666,6 @@ ff_lib_enable(ELF
"libelf"
"libelf"
)
ff_lib_enable(DIRECTX_HEADERS
"DirectX-Headers"
"DirectX-Headers"
)

if(ENABLE_THREADS)
target_compile_definitions(libfastfetch PRIVATE FF_HAVE_THREADS=1)
Expand Down Expand Up @@ -1738,7 +1741,7 @@ elseif(WIN32)
PRIVATE "winbrand"
PRIVATE "secur32"
)
if(NOT ENABLE_WIN7_COMPAT)
if(NOT ENABLE_WIN81_COMPAT)
target_link_libraries(libfastfetch
PRIVATE "mincore"
)
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/fastfetch-cli/fastfetch)
[![中文README](https://img.shields.io/badge/%E4%B8%AD%E6%96%87-README-red)](README-cn.md)

Fastfetch is a [neofetch](https://github.com/dylanaraps/neofetch)-like tool for fetching system information and displaying it in a visually appealing way. It is written mainly in C, with a focus on performance and customizability. Currently, it supports Linux, macOS, Windows 7+, Android, FreeBSD, OpenBSD, NetBSD, DragonFly, Haiku and SunOS (illumos, Solaris).
Fastfetch is a [neofetch](https://github.com/dylanaraps/neofetch)-like tool for fetching system information and displaying it in a visually appealing way. It is written mainly in C, with a focus on performance and customizability. Currently, it supports Linux, macOS, Windows 8.1+, Android, FreeBSD, OpenBSD, NetBSD, DragonFly, Haiku and SunOS (illumos, Solaris).

> Note: Fastfetch is only actively tested on x86-64 and aarch64 platforms. It may work on other platforms but is not guaranteed to do so.

<img src="screenshots/example1.png" width="49%" align="left" />
<img src="https://upload.wikimedia.org/wikipedia/commons/2/24/Transparent_Square_Tiles_Texture.png" width="49%" height="16px" align="left" />
Expand Down
Loading
Loading