# Fastfetch 2.64.0 - Product: Fastfetch (https://whatsnew.fyi/product/fastfetch) - Vendor: fastfetch-cli - Date: 2026-06-03 - Version: 2.64.0 - Original notes: https://github.com/fastfetch-cli/fastfetch/releases/tag/2.64.0 - Permalink: https://whatsnew.fyi/product/fastfetch/releases/2.64.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add Codec module support for Windows, macOS, Linux, and Android for hardware-accelerated video codec detection with multiple backends including VA-API, VDPAU, D3D12VA, D3D11VA, VideoToolbox, AMediaCodec, and Vulkan Video - **added** — Add experimental Lua script support for custom formats with versions 5.3 to 5.5, including a json_encode function for debugging - **added** — Add experimental QuickJS script support for custom formats as an alternative to Lua using JavaScript syntax - **added** — Add CMake options to disable modules at compile time with the `-DMODULE_DISABLE_=ON` flag for smaller binary size - **added** — Add ability to remove unneeded ASCII logos by deleting logo files from the logo directory without modifying source code - **added** — Add center string specifier using | character in custom formats, for example {user-name|20} - **added** — Add preliminary Bootmgr, Brightness, and WMTheme detection support for Haiku - **added** — Add Wallpaper and WMTheme detection support for the COSMIC desktop environment on Linux - **added** — Add DDC/CI brightness detection support for FreeBSD with optional ddcciSleep configuration - **added** — Add --logo-padding-bottom option to control padding between the bottom of the logo and the first module - **added** — Add Samsung Exynos 2600 to CPU detection for Android - **added** — Add terminal font detection support for the Muxy terminal on macOS - **added** — Add Quasar, Origami, Origami_small, BerserkArch, and NixOS2 logos - **changed** — Improve string manipulation specifiers in custom formats to be ANSI escape-aware and work correctly with colored output - **changed** — Improve terminal name detection for Nix packages on Linux - **changed** — Improve performance of BusyBox ash version detection and report ash as the pretty name on Linux - **changed** — Rework built-in logo printing logic so ASCII logos and modules are printed line by line to avoid issues - **fixed** — Fix SwayFX version detection on Linux - **fixed** — Fix fallback font detection for Ghostty on macOS - **fixed** — Fix --stat output to correctly align with the right border - **fixed** — Fix boot manager on macOS 26 that was incorrectly reported as iBoot instead of mBoot New **optional build** dependencies: * [`libva`](https://github.com/intel/libva) and [`libvdpau`](https://www.freedesktop.org/wiki/Software/VDPAU) for the new `Codec` module. * [Lua 5.3 to 5.5](https://www.lua.org/) for Lua scripting support, or [QuickJS](https://github.com/quickjs-ng/quickjs) v0.15.0 or newer for JavaScript scripting support. Features: * Adds `Codec` module support for Windows, macOS, Linux, and Android for hardware-accelerated video codec detection (Codec) * Backends used (results may vary depending on the backend due to driver differences): * Linux and BSD: VA-API (default) and VDPAU (fallback for NVIDIA). Fastfetch must be built with `libva` and `libvdpau` support to enable these backends. * Windows: D3D12VA (Windows 11) and D3D11VA+MFT (Windows 10 or older) * macOS: VideoToolbox * Android: AMediaCodec * Common: Vulkan Video (disabled by default; can be enabled with `"useVulkan": true`) * By default, both encoders and decoders are reported. If no codecs are detected for a given type, `None` is reported. This behavior can be configured using the `"showType": "encoder|decoder"` option. * Adds experimental Lua script support for custom formats (Global) * Basic usage (using `Title` as an example): `{ "type": "title", "format": "lua:return string.format('Hello %s@%s', (...).userName, (...).hostName)" }`. The `lua:` prefix indicates a Lua script. A `return` statement is required to pass the final result back to the fastfetch module; otherwise, `nil` is returned implicitly and the entire module output is skipped. * Parameters are passed via variable arguments `(...)`. Users can assign them to named variables for better readability. For example: `lua:local args = ...; string.format('Hello %s@%s', args.userName, args.hostName)`. * The Lua interpreter instance is shared across all modules. This allows users to store and manipulate data across modules. For example: * `{ "type": "shell", "format": "lua:shell = ..." } // Note: no "return" here` * `{ "type": "terminal", "format": "lua:return shell.prettyName .. ' in ' .. (...).prettyName" } // This will print the detected shell and terminal names` * A `json_encode(table, is_pretty)` function has been added to the Lua API for easier debugging. For example, `lua:return json_encode(...)` will print all available variables and their values in JSON format. * Supported Lua versions: Lua 5.3 to 5.5 (Lua 5.1 and LuaJIT are not supported). The Lua version is auto-detected at build time. Once built, users can check the configured Lua version using `fastfetch --list-features`. * Adds experimental QuickJS script support for custom formats as an alternative to Lua (Global) * Basic usage: `{ "type": "title", "format": "qjs:`Hello ${this.userName}@${this.hostName}`" }`. The `qjs:` prefix indicates a JavaScript script. No `return` statement is needed; the final result is simply the evaluated value of the script. * Parameters are passed via the `this` object. Usage is mostly the same as Lua, but using JavaScript syntax. * Requires [quickjs-ng v0.15.0](https://github.com/quickjs-ng/quickjs/releases/tag/v0.15.0) or newer. * Adds CMake options `-DMODULE_DISABLE_=ON` to disable modules at compile time for a smaller binary size * Use `cmake -L . | grep MODULE_DISABLE_` to list all available options. * These options rely on LTO for dead code elimination (`-DCMAKE_BUILD_TYPE=Release` should enable LTO by default). * Adds the ability to remove unneeded ASCII logos without modifying the fastfetch source code, further reducing binary size * Simply remove the corresponding logo file from the logo directory (`src/logo/ascii/[a-z]/*`) and re-run `cmake`. * Improves string manipulation specifiers in custom formats * They are now ANSI escape-aware and work correctly with colored output (e.g., percentages with `num-color`) (#2364). Limitations: _[Truncated at 4000 characters — full notes: https://github.com/fastfetch-cli/fastfetch/releases/tag/2.64.0]_