Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
da05bed
CMake: exposes pre-defined macros to `fastfetch.c` to avoid imcompati…
CarterLi Jun 4, 2026
135547f
Logo: don't accept chafa options when chafa is disabled
CarterLi Jun 4, 2026
e24e3b6
Global: returns false when an error is printed
CarterLi Jun 5, 2026
c706201
Global: adds some `always_inline`
CarterLi Jun 6, 2026
e936dde
CPU (X86): adds code name and tech detection
CarterLi Jun 7, 2026
8ee08d0
CI: don't run heavy tests if the light one failed
CarterLi Jun 7, 2026
8f266eb
Chore: don't check spelling in cpu_x86.c
CarterLi Jun 7, 2026
f09aebe
CPU (X86): updates comments
CarterLi Jun 7, 2026
e946861
Codec (Windows): fixes compatibility of Win 8.1
CarterLi Jun 7, 2026
5cd4316
CPU (X86): uses normalized cpu brand name for pattern matching
CarterLi Jun 7, 2026
7006162
Chore: adds `FF_A_COLD`
CarterLi Jun 8, 2026
a720e1f
Fastfetch (Windows): moves `SetConsoleMode` and `SetConsoleOutputCP` …
CarterLi Jun 8, 2026
3ec7e94
CPU (Windows): uses a better way to fetch core types
CarterLi Jun 8, 2026
35c2f8c
CPU (Linux): fixes physical core detection on non-x86
CarterLi Jun 9, 2026
09e2845
CPU (Linux): simplifies code of frequency detection
CarterLi Jun 9, 2026
43301af
CPU: enables `showPeCoreCount` by default
CarterLi Jun 9, 2026
eb54c89
OS (macOS): adds the code name of macOS 27
CarterLi Jun 9, 2026
4594734
CI (OpenBSD): updates OS version
CarterLi Jun 9, 2026
52970e2
Processing (Linux): don't use `/proc/pid/exe` as exePath when the fil…
CarterLi Jun 11, 2026
b96d8ad
Terminal (Linux): adds kmscon version detection support
CarterLi Jun 11, 2026
420a9e9
TerminalFont (Linux): adds kmscon support
CarterLi Jun 11, 2026
7cecdb0
DisplayServer (Linux): don't return success if no devices are success…
CarterLi Jun 11, 2026
cada771
Chore: update .gitignore
CarterLi Jun 11, 2026
2edc41d
CI (OpenBSD): updates packages
CarterLi Jun 11, 2026
7df2ed2
Packages: reorders package variables in custom format
CarterLi Jun 12, 2026
ffd0455
DisplayServer (Linux): rewrites libdrm calls with plain ioctls
CarterLi Jun 11, 2026
01e7503
GPU (BSD): uses direct `ioctl` calls (WIP)
CarterLi Jun 11, 2026
fc303c5
GPU: adds unified `ffGPUFillVendorByDeviceName`
CarterLi Jun 12, 2026
265c334
GPU (FreeBSD): moves DRM detection to global space for OpenBSD use
CarterLi Jun 12, 2026
14dfe17
GPU (OpenBSD): adds DRM method
CarterLi Jun 12, 2026
17914dc
Global: unifies `FF_STR` macro
CarterLi Jun 13, 2026
ebb0cf7
CMake: checks linux kernel headers
CarterLi Jun 13, 2026
878ccf1
DisplayServer (Linux): use kernel headers if libdrm is not available
CarterLi Jun 13, 2026
55eb3c5
GPU (Linux): replaces `amdgpu` library with raw `ioctl` calls
CarterLi Jun 13, 2026
4e44c05
GPU: detects max PCI gen & link width
CarterLi Jun 13, 2026
107f39e
JsonSchema: update `moduleFormat`
CarterLi Jun 13, 2026
22f9948
GPU: detect current pcie link speed
CarterLi Jun 14, 2026
8b3673e
GPU (Nvidia): replaces deprecated API `nvmlDeviceGetTemperature` with…
CarterLi Jun 14, 2026
61a0bbc
GPU (Linux): fixes building for old kernel headers
CarterLi Jun 14, 2026
942c15b
CPU (X86): fixes detection for AMD Carrizo
CarterLi Jun 15, 2026
bf0133f
Packaging: updates debian stuff [ci skip]
CarterLi Jun 17, 2026
e84195b
Linux (Wayland): drops `zwlr-output.c`
CarterLi Jun 17, 2026
fe7962d
DisplayServer (Linux): embeds definitions of `wl-output-*`
CarterLi Jun 17, 2026
c42ea6e
DisplayServer (Linux): adds HDR detection support
CarterLi Jun 17, 2026
43e0cc2
GPU: initializes `pcieSpeed` everywhere
CarterLi Jun 15, 2026
d6a4946
DisplayServer (Linux): fixes memleaks
CarterLi Jun 18, 2026
e9c0d88
DisplayServer (Linux): be compatible with KDE 6.7
CarterLi Jun 18, 2026
f3babe3
Codec (Linux): fixes memleaks
CarterLi Jun 18, 2026
b6127ff
Codec (Linux): removes usage of `libdrm`
CarterLi Jun 18, 2026
b0fd11f
Global: simplifies code
CarterLi Jun 18, 2026
49a1e42
CI: updates spellcheck
CarterLi Jun 18, 2026
96685b7
Global: cleanups `FF_HAVE_DRM` macro
CarterLi Jun 18, 2026
b732e0c
Codec (Linux): fixes a crash
CarterLi Jun 18, 2026
bd40d87
GPU (FreeBSD): adds a missing var-init
CarterLi Jun 18, 2026
508a50f
OpenGL (EGL): optimises code
CarterLi Jun 18, 2026
2409281
GPU: adds `egl-ext` detection method
CarterLi Jun 18, 2026
5fd0598
Display: fetch text serial if available instead of the 4-byte integer
CarterLi Jun 19, 2026
7c2f7fa
DisplayServer (Linux): detects preferred resolution from EDID
CarterLi Jun 19, 2026
bc686b2
Logo: improves error message for chafa options
CarterLi Jun 19, 2026
b49f0b3
Fastfetch: improves error message for config errors
CarterLi Jun 19, 2026
8f0a123
Doc: updates changelog
CarterLi Jun 19, 2026
677c213
Codec (Linux): fixes bug in `ffDetectCodecByVdpau`
CarterLi Jun 19, 2026
9742dda
Wifi (FreeBSD): adds WPA version detection support
CarterLi Jun 19, 2026
f5b9e09
DisplayServer (macOS): detects string serial number
CarterLi Jun 19, 2026
a1d4cbf
DisplayServer (Wayland): correctly reports platform api
CarterLi Jun 20, 2026
e1963e4
Networking (Linux): don't use `MSG_DONTWAIT` to send HTTP request
CarterLi Jun 20, 2026
7c39b64
CMake: extracts package managers from source code
CarterLi Jun 20, 2026
3aa4321
Packages (Linux): support porg
yabobay Jun 19, 2026
a6aac70
Packages (Linux): Improve emerge detection speed (#2406)
keremgokcek Jun 22, 2026
9f190b4
DisplayServer (macOS): detects string serial number for Apple Silicon
CarterLi Jun 22, 2026
61968ca
Chore: tidy
CarterLi Jun 22, 2026
d8be614
Packages (Linux): add install-release package count support (#2342)
gathddu Jun 22, 2026
f5a67b2
Packages (Linux): cleanups install-release package count code
CarterLi Jun 22, 2026
3dc8639
Doc: update changelog [ci skip]
CarterLi Jun 22, 2026
cb4502d
Logo (Builtin): adds Zerene OS mainline (#2404)
gretagen Jun 22, 2026
104b33c
Display: defaults `disableLinewrap` to `false`
CarterLi Jun 23, 2026
fa2c56c
Global: fixes bugs found by CI
CarterLi Jun 23, 2026
31c1431
Release: v2.65.0
CarterLi Jun 23, 2026
eff0108
Codec (Linux): adds va-x11 method
CarterLi Jun 23, 2026
5647703
WM (Linux): adds weston detection support
CarterLi Jun 23, 2026
835001e
Doc: updates changelog
CarterLi Jun 23, 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
4 changes: 2 additions & 2 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[codespell]
check-filenames =
builtin = clear,rare,usage,informal
skip = */.git,*/cmake-build-*,*/.idea,*/completions,*/presets,*/screenshots,*/tests,*/3rdparty,*/logo/ascii,./src/detection/gpu/asahi_drm.h
ignore-words-list = iterm,compiletime,unknwn,pengwin,siduction,master,slave,sur,doas,conexant,ags,bu
skip = */.git,*/cmake-build-*,*/.idea,*/completions,*/presets,*/screenshots,*/tests,*/3rdparty,*/logo/ascii,./src/detection/gpu/asahi_drm.h,./src/detection/cpu/cpu_x86.c,./src/detection/gpu/gpu_bsddrm.c,./src/detection/displayserver/linux/wayland/*-protocol.*,./build,./build-*,./build_*
ignore-words-list = iterm,compiletime,unknwn,pengwin,siduction,master,slave,sur,doas,conexant,ags,bu,renderD,SME,Carmel,kinda
4 changes: 2 additions & 2 deletions .github/workflows/build-openbsd-amd64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ jobs:
architecture: x86-64
cpu_count: 4
shell: bash
version: '7.8'
version: '7.9'
environment_variables: 'CMAKE_BUILD_TYPE'
run: |
uname -a
sudo pkg_add -u
sudo pkg_add -r llvm-21.1.2p0 cmake git wayland vulkan-headers vulkan-loader glib2 dconf dbus sqlite3 imagemagick chafa lua-5.4.7 # pkg-config is preinstalled
sudo pkg_add -r llvm-21.1.8p4 cmake git wayland vulkan-headers vulkan-loader glib2 dconf dbus sqlite3 imagemagick chafa lua-5.4.8p0 # pkg-config is preinstalled
CC=clang-21 cmake -DSET_TWEAK=Off -DBUILD_TESTS=On -DENABLE_EMBEDDED_PCIIDS=On -DENABLE_EMBEDDED_AMDGPUIDS=On .
cmake --build . --target package --verbose -j4
./fastfetch --list-features
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/build-spellcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ name: Reusable Spellcheck
on:
workflow_call:

env:
CMAKE_BUILD_TYPE: ${{ vars.CMAKE_BUILD_TYPE || 'RelWithDebInfo' }}

jobs:
spellcheck:
runs-on: ubuntu-latest
Expand All @@ -17,8 +14,8 @@ jobs:
- name: Install codespell
shell: bash
run: |
sudo apt-get update || true
sudo apt-get install -y codespell
pip3 install codespell
codespell --version

- name: Run Spellchecker
run: codespell
16 changes: 16 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ jobs:
uses: ./.github/workflows/build-spellcheck.yml

no-features-test:
needs: spellcheck
name: No-features-test
permissions:
security-events: write
Expand All @@ -17,6 +18,7 @@ jobs:
secrets: inherit

linux-hosts:
needs: no-features-test
name: Linux-${{ matrix.arch }}
permissions:
security-events: write
Expand All @@ -35,6 +37,7 @@ jobs:
secrets: inherit

linux-i686:
needs: no-features-test
name: Linux-i686
permissions:
security-events: write
Expand All @@ -43,6 +46,7 @@ jobs:
secrets: inherit

linux-armv7l:
needs: no-features-test
name: Linux-armv7l
permissions:
security-events: write
Expand All @@ -51,6 +55,7 @@ jobs:
secrets: inherit

linux-armv6l:
needs: no-features-test
name: Linux-armv6l
permissions:
security-events: write
Expand All @@ -59,6 +64,7 @@ jobs:
secrets: inherit

linux-vms:
needs: no-features-test
name: Linux-${{ matrix.arch }}
permissions:
security-events: write
Expand All @@ -75,11 +81,13 @@ jobs:
secrets: inherit

musl-amd64:
needs: no-features-test
name: Musl-amd64
uses: ./.github/workflows/build-musl-amd64.yml
secrets: inherit

macos-hosts:
needs: no-features-test
name: macOS-${{ matrix.arch }}
permissions:
security-events: write
Expand All @@ -98,16 +106,19 @@ jobs:
secrets: inherit

omnios-amd64:
needs: no-features-test
name: OmniOS-amd64
uses: ./.github/workflows/build-omnios-amd64.yml
secrets: inherit

solaris-amd64:
needs: no-features-test
name: Solaris-amd64
uses: ./.github/workflows/build-solaris-amd64.yml
secrets: inherit

freebsd-amd64:
needs: no-features-test
name: FreeBSD-amd64
permissions:
security-events: write
Expand All @@ -116,6 +127,7 @@ jobs:
secrets: inherit

openbsd-amd64:
needs: no-features-test
name: OpenBSD-amd64
permissions:
security-events: write
Expand All @@ -124,6 +136,7 @@ jobs:
secrets: inherit

netbsd-amd64:
needs: no-features-test
name: NetBSD-amd64
permissions:
security-events: write
Expand All @@ -132,6 +145,7 @@ jobs:
secrets: inherit

dragonfly-amd64:
needs: no-features-test
name: DragonFly-amd64
permissions:
security-events: write
Expand All @@ -140,6 +154,7 @@ jobs:
secrets: inherit

haiku-amd64:
needs: no-features-test
name: Haiku-amd64
permissions:
security-events: write
Expand All @@ -148,6 +163,7 @@ jobs:
secrets: inherit

windows-hosts:
needs: no-features-test
name: Windows-${{ matrix.arch }}
permissions:
security-events: write
Expand Down
12 changes: 7 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
build/
.vs/
.vscode/
.cache/
.kdev4/
/build/
/build_*/
/build-*/
/.vs/
/.vscode/
/.cache/
/.kdev4/
.DS_Store
cscope.*
tags
Expand Down
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,47 @@
# 2.65.0

Changes:
* `display.disableLinewrap` now defaults to `false`.
* This allows long lines to wrap instead of being truncated, preventing confusion for new users.
* Wrapped lines may overlap with the image logo. Users who prefer the old behavior can set `display.disableLinewrap: true` in their config file or use `--disable-linewrap true` on the command line.
* Reorders package manager variables in custom format strings, moving aggregate variables (e.g., `all`, `brew-all`, `flatpak-all`) to the end. (Packages)
* This is a breaking change for users relying on numeric placeholders (e.g., `{1}`). Numeric placeholders are a long-deprecated feature; named placeholders (e.g., `{pacman}`) are always preferred and future-proof.
* Enables `showPeCoreCount` by default to better display hybrid-architecture core counts. (CPU)
* No longer accepts `chafa` options in config files if `chafa` support was disabled at compile time. (Logo)
* This may affect users who generated their config files using `fastfetch --gen-full-config`. To resolve this, simply remove the `chafa` section from the config file.

Features:
* Adds detection for CPU code names (e.g., "Alder Lake", "Zen 4") and manufacturing technologies (e.g., "Intel 7", "TSMC N4") on x86 processors. (#1501, CPU, X86)
* These can be used in custom formats via `{code-name}` and `{technology}`.
* Adds PCIe link speed detection (current and max generation & lanes) for GPUs on Linux and Windows.
* These can be used in custom formats via `{pcie-max-speed}` and `{pcie-curr-speed}`.
* Adds HDR display detection via the `wp-color-management-v1` Wayland protocol. (#2356, Display, Linux)
* Previously, HDR detection was only supported on KDE Plasma.
* Adds the `egl-ext` detection method, which uses `EGL_EXT_device_enumeration` for GPU enumeration. (GPU)
* Adds terminal version and font detection for `kmscon`. (#2393, Terminal / TerminalFont, Linux)
* Adds the currently-in-beta code name "Golden Gate" for macOS 27. (OS, macOS)
* Adds WPA version detection on FreeBSD. (Wifi, FreeBSD)
* Adds package manager support for `porg` (#2405) and `install-release` (#2342). (Packages, Linux)
* Adds Weston version detection. (WM, Linux)
* Improves the core type (P-Core/E-Core) fetching mechanism on Windows by using `EfficiencyClass` instead of legacy frequency inference. (CPU, Windows)
* Improves display detection compatibility with KDE 6.7. (Display, Linux)
* Improves display serial number detection, now preferring alphanumeric serial numbers when available. (Display)
* This can be used in custom formats via `{serial}`.
* Improves the performance of `emerge` package manager detection. (#2406, Packages, Linux)
* Improves error messages for config file parsing errors.
* Improves reliability of the `Codec` module on Linux (Codec, Linux)
* Adds `va-x11` backend for VA-API and VDPAU, which is used if `va-drm` backend fails to initialize.
* Fixes an issue where the Codec module incorrectly reports no results when the `codec.showType` option is set.

Bugfixes:
* Fixes physical core detection on non-x86 architectures and simplifies the frequency detection code. (CPU, Linux)
* Fixes console mode and output code page initialization issues when running `fastfetch` in `Conhost`. (#2383, Windows)
* Fixes public IP detection randomly failing on Linux. (#2401, PublicIP, Linux)
* Fixes several memory leaks.

Logos:
* Adds Zerene OS. (#2404)

# 2.64.2

Bugfixes:
Expand Down
Loading
Loading