Chris Billington wrote:
I noticed on a machine with Intel Graphics running 8.0-current with the
Xfce desktop that the xorg vulkan driver does not get loaded by
graphics/vulkan-loader. 'vulkaninfo' from vulkan-tools returns an error.
This is because /usr/local/bin/startxfce4 (which is installed by the
xfce4-session package) checks for the environment variable
XDG_DATA_DIRS, which is used by vulkan-loader to define the search paths
for the driver/loader json definitions.
If it is not previously defined, XDG_DATA_DIRS is set to
XDG_DATA_DIRS=/usr/share:/usr/local/share
and the files from the xbase80 set in /usr/X11R6/share/vulkan/icd.d are
therefore not found.
Rather than patching xfce4-session, a 'fix' might be to add
export XDG_DATA_DIRS=/usr/X11R6/share:/usr/share:/usr/local/share
to ~/.xsession
A note to this effect could be added to the pkg-readme/xfce file in
meta/xfce
As well as the 'vulkan ports', I believe this is relevant for Chromium
and friends if so configured.
Regards
Chris Billington
A suggested diff for the above:
Index: pkg/README-main
===================================================================
RCS file: /cvs/ports/meta/xfce/pkg/README-main,v
diff -u -p -u -p -r1.24 README-main
--- pkg/README-main 17 Dec 2024 12:42:33 -0000 1.24
+++ pkg/README-main 28 Jul 2026 08:16:02 -0000
@@ -87,3 +87,17 @@ the compositor.
the 'startxfce4' script now has a --wayland option.
see https://wiki.xfce.org/releng/wayland_roadmap#testing for more details.
+
+Vulkan Graphics Driver
+======================
+
+The 'startxfce4' script defines the environment variable XDG_DATA_DIRS
+incorrectly for using Vulkan drivers in Xenocara if it is not manually
+set before the script is run.
+
+To load the Xenocara Vulkan drivers when Xfce starts, install the
+vulkan-loader package and add:
+
+export XDG_DATA_DIRS=/usr/X11R6/share:/usr/share:/usr/local/share
+
+to your .xsession or .xinitrc file above the startxfce4 command.