Skip to content

Dependencies

Carter Li edited this page Sep 4, 2025 · 21 revisions

Fastfetch dynamically loads needed libraries if they are available. On Linux, its only hard dependencies are libc (any implementation of the c standard library), libdl, libm and libpthread (if built with multithreading support). They are all shipped with glibc, which is already installed on most Linux distributions.

The following libraries are used if present at runtime:

Linux and FreeBSD

  • libvulkan: Vulkan module & fallback for GPU output.
  • libxcb-randr, libXrandr: At least one of them sould be present in X11 sessions for better display detection and faster WM detection.
  • libwayland-client: Better display performance and output in wayland sessions. Supports different refresh rates per monitor.
  • libdrm: fall back if both wayland and x11 are not available. AMD GPU properties detection
  • libGIO: Needed for values that are only stored GSettings.
  • libDConf: Needed for values that are only stored in DConf + Fallback for GSettings.
  • libmagickcore (ImageMagick): Images in terminal using sixel or kitty graphics protocol.
  • libchafa: Image output as ascii art.
  • libZ: Zlib compression when sending HTTP requests. Faster image output when using kitty graphics protocol.
  • libDBus: Bluetooth, Wifi (for connecting NetworkManager), Player & Media, XFCE theme detection.
  • libEGL, libGLX: At least one of them is needed by the OpenGL module for gl context creation (EGL preferred).
  • libOpenCL: OpenCL module
  • libsqlite3: Needed for pkg & rpm package count.
  • libelf: Much faster version detection for many things. Necessary for st terminal font detection.

Linux only

  • librpm: Slower fallback for rpm package count. Needed on openSUSE.
  • libpulse: Used for Sound device detection.
  • libddcutil: Used for brightness detection of external displays
  • DirectX-Headers: Used for GPU detection in WSL (Bulid only)

FreeBSD only

macOS

For the image logo, iTerm with iterm image protocol should work. Apple Terminal is not supported.

Windows

Note: In Windows 7, 8 and 8.1, ConEmu is required to run fastfetch due to the lack of ASCII escape code native support. In addition, as fastfetch for Windows targets UCRT C runtime library, it must be installed manually as UCRT is only pre-installed in Windows 10 and later.

For the image logo, WezTerm with iterm image protocol is known to work, surprisingly.

Android

  • freetype: Used for Termux font detection. freetype
  • libvulkan: Vulkan module, also used for GPU detection. Usually has been provided by Android system. vulkan-headers vulkan-loader-android
  • libOpenCL: OpenCL module. Usually has been provided by Android system. ocl-icd opencl-headers
    • You usually need to set LD_LIBRARY_PATH to let opencl loader find the drivers. LD_LIBRARY_PATH=/vendor/lib64 fastfetch
  • libEGL: OpenGL module. Installing EGL headers is enough. mesa-dev
  • termux-api: Used for Wifi / Battery detection. Both the package termux-api and the Android app Termux API must be installed and the app Termux API must be configured to be able to self-running. In order to make Wifi detection actuall work, location privilege must be granted to the app Termux API. Read the official doc for detail.
  • libandroid-wordexp-static: wordexp.h support for Android. (Build only)
  • chafa dbus glib imagemagick libelf libxcb libxrandr pulseaudio zlib: See Linux section

For the image logo, Termux Monet supports iterm image protocol.

Clone this wiki locally