Skip to content

Commit 74616c7

Browse files
authored
Merge pull request fastfetch-cli#1050 from fastfetch-cli/dev
Release: v2.17.0
2 parents ca6e889 + 0c14628 commit 74616c7

File tree

50 files changed

+950
-397
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+950
-397
lines changed

.github/workflows/ci.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ jobs:
494494
with:
495495
msystem: CLANG64
496496
update: true
497-
install: git mingw-w64-clang-x86_64-7zip mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-vulkan-loader mingw-w64-clang-x86_64-vulkan-headers mingw-w64-clang-x86_64-opencl-icd mingw-w64-clang-x86_64-cppwinrt
497+
install: git mingw-w64-clang-x86_64-7zip mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-vulkan-loader mingw-w64-clang-x86_64-vulkan-headers mingw-w64-clang-x86_64-opencl-icd mingw-w64-clang-x86_64-opencl-headers mingw-w64-clang-x86_64-cppwinrt
498498

499499
- name: print msys version
500500
run: uname -a
@@ -508,6 +508,9 @@ jobs:
508508
- name: copy necessary dlls
509509
run: cp /clang64/bin/{OpenCL,vulkan-1}.dll .
510510

511+
- name: download amd_ags
512+
run: curl -LO https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/raw/master/ags_lib/lib/amd_ags_x64.dll
513+
511514
- name: list features
512515
run: ./fastfetch --list-features
513516

@@ -527,10 +530,10 @@ jobs:
527530
run: ctest
528531

529532
- name: create zip archive
530-
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-amd64.zip *.dll fastfetch.exe flashfetch.exe presets
533+
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-amd64.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
531534

532535
- name: create 7z archive
533-
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-amd64.7z *.dll fastfetch.exe flashfetch.exe presets
536+
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-amd64.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
534537

535538
- name: upload artifacts
536539
uses: actions/upload-artifact@v4
@@ -556,7 +559,7 @@ jobs:
556559
with:
557560
msystem: CLANG32
558561
update: true
559-
install: git p7zip mingw-w64-clang-i686-cmake mingw-w64-clang-i686-clang mingw-w64-clang-i686-vulkan-loader mingw-w64-clang-i686-vulkan-headers mingw-w64-clang-i686-opencl-icd
562+
install: git p7zip mingw-w64-clang-i686-cmake mingw-w64-clang-i686-clang mingw-w64-clang-i686-vulkan-loader mingw-w64-clang-i686-vulkan-headers mingw-w64-clang-i686-opencl-icd mingw-w64-clang-i686-opencl-headers
560563

561564
- name: print msys version
562565
run: uname -a
@@ -578,6 +581,9 @@ jobs:
578581
- name: copy necessary dlls
579582
run: cp /clang32/bin/{OpenCL,vulkan-1}.dll .
580583

584+
- name: download amd_ags
585+
run: curl -LO https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/raw/master/ags_lib/lib/amd_ags_x86.dll
586+
581587
- name: run fastfetch
582588
run: time ./fastfetch -c presets/ci.jsonc
583589

@@ -594,10 +600,10 @@ jobs:
594600
run: ctest
595601

596602
- name: create zip archive
597-
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-i686.zip *.dll fastfetch.exe flashfetch.exe presets
603+
run: 7z a -tzip -mx9 -bd -y fastfetch-windows-i686.zip LICENSE *.dll fastfetch.exe flashfetch.exe presets
598604

599605
- name: create 7z archive
600-
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-i686.7z *.dll fastfetch.exe flashfetch.exe presets
606+
run: 7z a -t7z -mx9 -bd -y fastfetch-windows-i686.7z LICENSE *.dll fastfetch.exe flashfetch.exe presets
601607

602608
- name: upload artifacts
603609
uses: actions/upload-artifact@v4

CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,46 @@
1+
# 2.17.0
2+
3+
Changes:
4+
* CMake option `ENABLE_PROPRIETARY_GPU_DRIVER_API` is removed. The GPU driver APIs are now enabled by default.
5+
* The option was introduced to reduce the license concerns. Since all non MIT proprietary code has been rewritten manually from scratch, it is no longer necessary.
6+
* See <https://github.com/fastfetch-cli/fastfetch/issues/533#issuecomment-2122830958> for detail
7+
* Option `--logo-separate true` is changed to `--logo-position top` for better readability
8+
* Builtin ascii logos can be positioned on the right side now with`--logo-position right`
9+
10+
Features:
11+
* Add support for `--gpu-detection-method opencl` which uses OpenCL to detect GPUs.
12+
* Support detecting CPU cache size by using SMBIOS as fallback (CPUCache)
13+
* Support GPU detection (SunOS)
14+
* Support GPU type detection with AMD GPU driver (GPU, Windows)
15+
* Add fast path of version and font detection for kitty (Terminal / TerminalFont)
16+
* Make sure `stdin` and `stdout` are TTYs when querying terminal
17+
* So modules like `TerminalSize` should work when `stdin` or `stdout` is redirected
18+
* Support argument truncation in `--<module>-format` (#1043)
19+
* See `fastfetch --help format` for detail
20+
* Improve Qt theme detection (#1047, Theme, Linux)
21+
* Add new JSON config option `general.preRun`, which is executed before fastfetch prints output.
22+
* It can be used to generate a temp logo file. For example
23+
```jsonc
24+
{
25+
"general": {
26+
"preRun": "kitten icat --align=left /path/to/image > /tmp/logo.kitty"
27+
},
28+
"logo": {
29+
"source": "/tmp/logo.kitty",
30+
"type": "raw"
31+
}
32+
}
33+
```
34+
35+
Bugfixes:
36+
* Fix invalid path (#1031, LM, Linux)
37+
* Fix VMEM detection for Nvidia GPU (requires `--gpu-driver-specific`) (GPU)
38+
* Fix AMD `--gpu-driver-specific` for AMD cards (#1032, GPU, Windows)
39+
* Use Coordinated Universal Time rather than timezone-varying local date (#1046)
40+
41+
Logo:
42+
* Fix colors of Asahi Linux
43+
144
# 2.16.0
245

346
This release added basic support for SunOS (Solaris, illumos). The binaries provided in the release lack a few useful features (such as Display detection). People who use SunOS should consider building fastfetch themselves.

CMakeLists.txt

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT libs & project homepage url
22

33
project(fastfetch
4-
VERSION 2.16.0
4+
VERSION 2.17.0
55
LANGUAGES C
66
DESCRIPTION "Fast neofetch-like system information tool"
77
HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch"
@@ -64,7 +64,7 @@ cmake_dependent_option(ENABLE_ZLIB "Enable zlib" ON "ENABLE_IMAGEMAGICK6 OR ENAB
6464
cmake_dependent_option(ENABLE_EGL "Enable egl" ON "LINUX OR BSD OR SunOS" OFF)
6565
cmake_dependent_option(ENABLE_GLX "Enable glx" ON "LINUX OR BSD OR SunOS" OFF)
6666
cmake_dependent_option(ENABLE_OSMESA "Enable osmesa" ON "LINUX OR BSD OR SunOS" OFF)
67-
cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR BSD OR WIN32 OR SunOS" OFF)
67+
cmake_dependent_option(ENABLE_OPENCL "Enable opencl" ON "LINUX OR BSD OR WIN32 OR ANDROID OR SunOS" OFF)
6868
cmake_dependent_option(ENABLE_LIBNM "Enable libnm" ON "LINUX" OFF)
6969
cmake_dependent_option(ENABLE_FREETYPE "Enable freetype" ON "ANDROID" OFF)
7070
cmake_dependent_option(ENABLE_PULSE "Enable pulse" ON "LINUX OR SunOS" OFF)
@@ -74,7 +74,6 @@ cmake_dependent_option(ENABLE_THREADS "Enable multithreading" ON "Threads_FOUND"
7474

7575
option(ENABLE_SYSTEM_YYJSON "Use system provided (instead of fastfetch embedded) yyjson library" OFF)
7676
option(ENABLE_ASAN "Build fastfetch with ASAN (address sanitizer)" OFF)
77-
option(ENABLE_PROPRIETARY_GPU_DRIVER_API "Enable proprietary GPU driver API (NVML, IGCL and AGS)" ON)
7877
option(BUILD_TESTS "Build tests" OFF) # Also create test executables
7978
option(SET_TWEAK "Add tweak to project version" ON) # This is set to off by github actions for release builds
8079
option(IS_MUSL "Build with musl libc" OFF) # Used by Github Actions
@@ -256,7 +255,7 @@ if(APPLE)
256255
configure_file(src/util/apple/Info.plist.in Info.plist @ONLY)
257256
endif()
258257

259-
string(TIMESTAMP FASTFETCH_BUILD_DATE "%d %B %Y")
258+
string(TIMESTAMP FASTFETCH_BUILD_DATE "%d %B %Y" UTC)
260259
configure_file(doc/fastfetch.1.in fastfetch.1 @ONLY)
261260

262261
####################
@@ -549,7 +548,7 @@ elseif(BSD)
549548
src/detection/brightness/brightness_bsd.c
550549
src/detection/chassis/chassis_bsd.c
551550
src/detection/cpu/cpu_bsd.c
552-
src/detection/cpucache/cpucache_nosupport.c
551+
src/detection/cpucache/cpucache_shared.c
553552
src/detection/cpuusage/cpuusage_bsd.c
554553
src/detection/cursor/cursor_linux.c
555554
src/detection/disk/disk_bsd.c
@@ -749,7 +748,7 @@ elseif(SunOS)
749748
src/detection/brightness/brightness_nosupport.c
750749
src/detection/chassis/chassis_windows.c
751750
src/detection/cpu/cpu_sunos.c
752-
src/detection/cpucache/cpucache_nosupport.c
751+
src/detection/cpucache/cpucache_shared.c
753752
src/detection/cpuusage/cpuusage_sunos.c
754753
src/detection/cursor/cursor_linux.c
755754
src/detection/bluetooth/bluetooth_nosupport.c
@@ -813,15 +812,13 @@ if(ENABLE_DIRECTX_HEADERS)
813812
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_wsl.cpp)
814813
endif()
815814

816-
if(ENABLE_PROPRIETARY_GPU_DRIVER_API AND (LINUX OR BSD OR WIN32))
817-
message(STATUS "Enabling proprietary GPU driver API")
818-
if(LINUX OR BSD OR WIN32)
819-
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_nvidia.c)
820-
endif()
821-
if(WIN32)
822-
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_intel.c)
823-
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_amd.c)
824-
endif()
815+
# Proprietary GPU driver APIs
816+
if(LINUX OR BSD OR WIN32)
817+
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_nvidia.c)
818+
endif()
819+
if(WIN32)
820+
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_intel.c)
821+
list(APPEND LIBFASTFETCH_SRC src/detection/gpu/gpu_amd.c)
825822
endif()
826823

827824
include(CheckFunctionExists)
@@ -850,10 +847,6 @@ add_library(libfastfetch OBJECT
850847
${LIBFASTFETCH_SRC}
851848
)
852849

853-
if(ENABLE_PROPRIETARY_GPU_DRIVER_API AND (LINUX OR BSD OR WIN32))
854-
target_compile_definitions(libfastfetch PRIVATE FF_USE_PROPRIETARY_GPU_DRIVER_API)
855-
endif()
856-
857850
if(yyjson_FOUND)
858851
target_compile_definitions(libfastfetch PRIVATE FF_USE_SYSTEM_YYJSON)
859852
target_link_libraries(libfastfetch PRIVATE yyjson::yyjson)
@@ -1082,7 +1075,6 @@ if(LINUX)
10821075
)
10831076
elseif(APPLE)
10841077
target_link_libraries(libfastfetch
1085-
PRIVATE "resolv"
10861078
PRIVATE "-framework AVFoundation"
10871079
PRIVATE "-framework Cocoa"
10881080
PRIVATE "-framework CoreFoundation"
@@ -1267,6 +1259,13 @@ install(
12671259
DESTINATION "${CMAKE_INSTALL_BINDIR}"
12681260
)
12691261

1262+
if (TARGET ffwinrt)
1263+
install(
1264+
TARGETS ffwinrt
1265+
DESTINATION "${CMAKE_INSTALL_BINDIR}"
1266+
)
1267+
endif()
1268+
12701269
install(
12711270
FILES "${CMAKE_SOURCE_DIR}/completions/${CMAKE_PROJECT_NAME}.bash"
12721271
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/bash-completion/completions"

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
[![latest packaged version(s)](https://repology.org/badge/latest-versions/fastfetch.svg)](https://repology.org/project/fastfetch/versions)
1212
[![Packaging status](https://repology.org/badge/tiny-repos/fastfetch.svg)](https://repology.org/project/fastfetch/versions)
1313

14-
Fastfetch is a [neofetch](https://github.com/dylanaraps/neofetch)-like tool for fetching system information and displaying them in a pretty way. It is written mainly in C, with performance and customizability in mind. Currently, Linux, Android, FreeBSD, MacOS and Windows 7+ are supported.
14+
Fastfetch is a [neofetch](https://github.com/dylanaraps/neofetch)-like tool for fetching system information and displaying them in a pretty way. It is written mainly in C, with performance and customizability in mind. Currently, Linux, Android, FreeBSD, macOS, SunOS and Windows 7+ are supported.
1515

1616
<img src="screenshots/example1.png" width="49%" align="left" />
1717
<img src="https://upload.wikimedia.org/wikipedia/commons/2/24/Transparent_Square_Tiles_Texture.png" width="49%" height="16px" align="left" />
@@ -30,6 +30,7 @@ There are [screenshots on different platforms](https://github.com/fastfetch-cli/
3030
Some distros packaged an outdated fastfetch version. Older version is not supported, please always ensure that the latest version is used.
3131

3232
* Ubuntu: [`ppa:zhangsongcui3371/fastfetch`](https://launchpad.net/~zhangsongcui3371/+archive/ubuntu/fastfetch) (for Ubuntu 22.04 or newer)
33+
* Debian: `sudo apt install fastfetch` (for Debian 13 or newer)
3334
* Debian / Ubuntu: Download `fastfetch-linux-<proper architecture>.deb` from [Github release page](https://github.com/fastfetch-cli/fastfetch/releases/latest) and double-click it (for Ubuntu 20.04 or newer and Debian 11 or newer).
3435
* Arch Linux: `sudo pacman -S fastfetch`
3536
* Fedora: `sudo dnf install fastfetch`

completions/fastfetch.bash

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ __fastfetch_completion()
347347
"--users-key"
348348
"--users-format"
349349
"--users-key-color"
350+
"--users-myself-only"
350351
"--bluetooth-key"
351352
"--bluetooth-format"
352353
"--bluetooth-key-color"

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
fastfetch (2.16.0) jammy; urgency=medium
2+
3+
* Update to 2.16.0
4+
5+
-- Carter Li <[email protected]> Wed, 19 Jun 2024 14:53:43 +0800
6+
17
fastfetch (2.15.0) jammy; urgency=medium
28

39
* Update to 2.15.0

debian/files

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
fastfetch_2.15.0_source.buildinfo universe/utils optional
1+
fastfetch_2.16.0_source.buildinfo universe/utils optional

doc/json_schema.json

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"default": 0
2424
},
2525
"format": {
26-
"description": "Output format of the module. See `-h &lt;module&gt;-format` for detail",
26+
"description": "Output format of the module. See `-h <module>-format` for detail. I.e: fastfetch -h disk-format",
2727
"type": "string"
2828
},
2929
"outputColor": {
@@ -89,10 +89,12 @@
8989
"default": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json"
9090
},
9191
"logo": {
92+
"description": "Fastfetch logo configurations\nSee also https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options",
9293
"oneOf": [
9394
{
9495
"description": "Disable logo",
95-
"type": "null"
96+
"type": "null",
97+
"const": null
9698
},
9799
{
98100
"description": "Set the source file of the logo",
@@ -217,10 +219,15 @@
217219
"description": "If true, regenerate image logo cache",
218220
"default": false
219221
},
220-
"separate": {
221-
"type": "boolean",
222-
"description": "If true, print modules at bottom of the logo",
223-
"default": false
222+
"position": {
223+
"type": "string",
224+
"description": "Set the position of the logo should be displayed",
225+
"enum": [
226+
"left",
227+
"top",
228+
"right"
229+
],
230+
"default": "left"
224231
},
225232
"chafa": {
226233
"type": "object",
@@ -327,6 +334,11 @@
327334
"type": "integer",
328335
"description": "Set the timeout (ms) when waiting for child processes, `-1` for no timeout",
329336
"default": 1000
337+
},
338+
"preRun": {
339+
"type": "string",
340+
"description": "Set the command to be executed before printing logos",
341+
"default": ""
330342
}
331343
}
332344
},
@@ -1523,6 +1535,7 @@
15231535
"auto",
15241536
"pci",
15251537
"vulkan",
1538+
"opencl",
15261539
"opengl"
15271540
],
15281541
"default": "auto"

0 commit comments

Comments
 (0)