hi,
on default F44 install,
$ distro
Name: Fedora Linux 44 (Forty Four)
Version: 44
Codename:
$ uname -rm
7.0.4-200.fc44.x86_64 x86_64
with Intel DG2 GPU h/w, e.g.
$ lspci -k -s 09:00.0
09:00.0 VGA compatible controller: Intel Corporation DG2 [Arc
A380] (rev 05)
Subsystem: ASRock Incorporation Device 6004
Kernel driver in use: xe
Kernel modules: i915, xe
$
vulkan accel is via software render
vulkan accel's provided by mesa-vulkan-drivers pkg, which ships llvmpipe --
Mesa's
software rasterizer -- as the vulkan ICD.
it enumerates as
$ vulkaninfo | grep -Ei "llvm|lava"
...
GPU0:
VkPhysicalDeviceProperties:
---------------------------
apiVersion = 1.4.335 (4211023)
driverVersion = 26.0.6 (109051910)
vendorID = 0x10005
deviceID = 0x0000
deviceType = PHYSICAL_DEVICE_TYPE_CPU
deviceName = llvmpipe (LLVM 22.1.4, 256
bits)
...
GPU id : 0 (llvmpipe (LLVM 22.1.4, 256 bits))
[VK_KHR_xcb_surface, VK_KHR_xlib_surface]:
vulkanMemoryModelAvailabilityVisibilityChains
= true
deviceName = llvmpipe (LLVM 22.1.4, 256
bits)
driverID
= DRIVER_ID_MESA_LLVMPIPE
driverName
= llvmpipe
driverInfo
= Mesa 26.0.6 (LLVM 22.1.4)
vulkanMemoryModelAvailabilityVisibilityChains
= true
...
performance regression from using llvmpipe software render rather than hardware
accel is orders of magnitude.
video decode/encode is also unavailable in the llvmpipe path.
this is the case on DG2 here; it might extend to other GPU hardware (not tested)
in order to enable vulkan *hardware* accel on the DG2 `vulkan-wsi-layer`
https://docs.vulkan.org/guide/latest/wsi.html
an optional vulkan extension
https://docs.vulkan.org/spec/latest/chapters/VK_KHR_surface/wsi.html
is needed
specifically, it's a vulkan implicit layer extension that provides the WSI
extensions not natively exposed by the standard Mesa drivers
it's a simple build; it installs two files:
$ rpm -ql vulkan-wsi-layer
/usr/share/vulkan/implicit_layer.d/VkLayer_window_system_integration.json
/usr/share/vulkan/implicit_layer.d/libVkLayer_window_system_integration.so
in to the vulkan _implicit_ layer
with llvmpipe:
deviceType = PHYSICAL_DEVICE_TYPE_CPU
deviceName = llvmpipe (LLVM 22.1.4, 256 bits)
driverID = DRIVER_ID_MESA_LLVMPIPE
with vulkan-wsi-layer installed, and env config, e.g.
echo $VDPAU_DRIVER $LIBVA_DRIVER_NAME $VK_DRIVER_FILES $RUSTICL_ENABLE
va_gl
iHD
/usr/share/vulkan/icd.d/intel_icd.x86_64.json
iris
instead,
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = Intel(R) Arc(tm) A380 Graphics (DG2)
driverID = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
unlike e.g. standalone `vulkan-validation-layers` pkg which lives in
explicit_layer.d/, the wsi extension lives in implicit_layer.d/
vulkan-loader pkg owns /usr/share/vulkan/implicit_layer.d/
rpm -q --whatprovides /usr/share/vulkan/implicit_layer.d/
vulkan-loader-1.4.341.0-1.fc44.x86_64
vulkan-loader scans implicit_layer.d/ at startup, and loads found manifests
into vulkan apps automatically.
on (at least) Intel Arc (DG2) the layer's req'd get h/w rendering at all.
otherwise, vulkan-loader falls back to llvmpipe.
no layer extension, no h/w accel.
to get out-of-the-box vulkan accel, `vulkan-wsi-layer` seems to make sense
belongs as a dep of `vulkan-loader`
--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it:
https://forge.fedoraproject.org/infra/tickets/issues/new