From 42fd1a9cd7cf7078f9da590db762778d62677c0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Sun, 3 Dec 2023 12:10:52 +0800 Subject: [PATCH] DisplayServer (FreeBSD): enable libdrm support --- .github/workflows/ci.yml | 2 +- CMakeLists.txt | 3 ++- src/detection/displayserver/linux/displayserver_linux.c | 2 -- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f3272e4f..b0e04f6ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -211,7 +211,7 @@ jobs: run: | uname -a sudo pkg update - sudo pkg install -y cmake git pkgconf binutils pciutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 glib dconf dbus sqlite3-tcl xfce4-conf ImageMagick6 ImageMagick7 chafa egl libosmesa opencl ocl-icd pulseaudio + sudo pkg install -y cmake git pkgconf binutils pciutils wayland vulkan-headers vulkan-loader libxcb libXrandr libX11 libdrm glib dconf dbus sqlite3-tcl xfce4-conf ImageMagick6 ImageMagick7 chafa egl libosmesa opencl ocl-icd pulseaudio cmake -DSET_TWEAK=Off -DBUILD_TESTS=On . cmake --build . --target package --verbose ./fastfetch --list-features diff --git a/CMakeLists.txt b/CMakeLists.txt index 798abf8ff..a80b14f70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ cmake_dependent_option(ENABLE_XCB_RANDR "Enable xcb-randr" ON "LINUX OR BSD" OFF cmake_dependent_option(ENABLE_XCB "Enable xcb" ON "LINUX OR BSD" OFF) cmake_dependent_option(ENABLE_XRANDR "Enable xrandr" ON "LINUX OR BSD" OFF) cmake_dependent_option(ENABLE_X11 "Enable x11" ON "LINUX OR BSD" OFF) -cmake_dependent_option(ENABLE_DRM "Enable libdrm" ON "LINUX" OFF) +cmake_dependent_option(ENABLE_DRM "Enable libdrm" ON "LINUX OR BSD" OFF) cmake_dependent_option(ENABLE_GIO "Enable gio-2.0" ON "LINUX OR BSD" OFF) cmake_dependent_option(ENABLE_DCONF "Enable dconf" ON "LINUX OR BSD" OFF) cmake_dependent_option(ENABLE_DBUS "Enable dbus-1" ON "LINUX OR BSD" OFF) @@ -505,6 +505,7 @@ elseif(BSD) src/detection/disk/disk_bsd.c src/detection/diskio/diskio_bsd.c src/detection/displayserver/linux/displayserver_linux.c + src/detection/displayserver/linux/drm.c src/detection/displayserver/linux/wayland.c src/detection/displayserver/linux/wmde.c src/detection/displayserver/linux/xcb.c diff --git a/src/detection/displayserver/linux/displayserver_linux.c b/src/detection/displayserver/linux/displayserver_linux.c index 5336ade4a..d6eb3da99 100644 --- a/src/detection/displayserver/linux/displayserver_linux.c +++ b/src/detection/displayserver/linux/displayserver_linux.c @@ -33,12 +33,10 @@ void ffConnectDisplayServerImpl(FFDisplayServerResult* ds) ffdsConnectXlib(ds); } - #ifdef __linux__ //This display detection method is display server independent. //Use it if all connections failed if(ds->displays.length == 0) ffdsConnectDrm(ds); - #endif //This fills in missing information about WM / DE by using env vars and iterating processes ffdsDetectWMDE(ds);