Skip to content

Dependencies

Carter Li edited this page Sep 29, 2024 · 11 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, libxcb, libX11: At least one of them sould be present in X11 sessions for better display detection and faster WM detection. The *randr ones provide multi monitor support The libxcb* ones usually have better performance.
  • 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: Faster image output when using kitty graphics protocol.
  • libDBus: Bluetooth, Wifi (for connecting NetworkManager), Player & Media detection.
  • libEGL, libGLX, libOSMesa: At least one of them is needed by the OpenGL module for gl context creation.
  • libOpenCL: OpenCL module
  • libXFConf: Needed for XFWM theme and XFCE Terminal font.
  • libsqlite3: Needed for pkg & rpm package count.
  • libelf: Needed 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

  • MediaRemote: Need for Media detection. It's a private framework provided by newer macOS system.
  • DisplayServices: Need for screen brightness detection. It's a private framework provided by newer macOS system.
  • Apple80211: Need for Wifi detection on Sonoma (and maybe later). It's a private framework provided by newer macOS system.
  • MoltenVK: Vulkan driver for macOS. molten-vk
  • libmagickcore (ImageMagick): Images in terminal using sixel graphics protocol. imagemagick
  • libchafa: Image output as ascii art. chafa
  • libsqlite3: Used for fast wallpaper detection before macOS Sonoma ( fallback to AppleScript )

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

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