OpenBSD Adds Initial User-Space Support For Vulkan
Somewhat surprisingly, OpenBSD has added the Vulkan library and ICD loader support as their newest port.
This new graphics/vulkan-loader port provides the generic Vulkan library and ICD support that is the common code for Vulkan implementations on the system. This doesn't enable any Vulkan hardware drivers or provide something new not available elsewhere, but is rare seeing Vulkan work among the BSDs. There is also in ports the related components like the SPIR-V headers and tools, glsllang, and the Vulkan tools and validation layers.
This is of limited usefulness at least for the time being considering OpenBSD like the other BSDs lag behind in their DRM kernel driver support that is ported over from the mainline Linux kernel tree but generally years behind the kernel upstream. Particularly with Vulkan, newer kernel releases are needed for some Vulkan features as well as achieving decent performance. The Vulkan drivers of relevance are the open-source Intel ANV Vulkan driver and Radeon RADV drivers, both of which are in Mesa though we haven't seen any testing results to know how well they would work if at all currently on OpenBSD, but they're at least in Mesa and obviously open-source.
[Update: A reader has pointed out the OpenBSD AMDGPU driver build was recently added to their tree and will work with Vulkan, but the AMDGPU driver is currently disabled by default due to remaining bugs. The current Linux DRM driver ports are from a 4.19 era kernel.]
With Vulkan on the BSDs there is also limited native games/applications supporting the Vulkan API though possible at least on FreeBSD is decent support for Linux binary compatibility. OpenBSD (6.0), however, a few years back dropped its Linux binary compatibility support in the name of security. So even if there happens to be Vulkan drivers working nicely on OpenBSD, there isn't much software to take advantage of them.
So there is now the vulkan-loader port but we'll see what use-cases if any come about in due course. [Update: Apparently the iniitial intended users of Vulkan on OpenBSD are Dolphin and vkQuake.]
This new graphics/vulkan-loader port provides the generic Vulkan library and ICD support that is the common code for Vulkan implementations on the system. This doesn't enable any Vulkan hardware drivers or provide something new not available elsewhere, but is rare seeing Vulkan work among the BSDs. There is also in ports the related components like the SPIR-V headers and tools, glsllang, and the Vulkan tools and validation layers.
This is of limited usefulness at least for the time being considering OpenBSD like the other BSDs lag behind in their DRM kernel driver support that is ported over from the mainline Linux kernel tree but generally years behind the kernel upstream. Particularly with Vulkan, newer kernel releases are needed for some Vulkan features as well as achieving decent performance. The Vulkan drivers of relevance are the open-source Intel ANV Vulkan driver and Radeon RADV drivers, both of which are in Mesa though we haven't seen any testing results to know how well they would work if at all currently on OpenBSD, but they're at least in Mesa and obviously open-source.
[Update: A reader has pointed out the OpenBSD AMDGPU driver build was recently added to their tree and will work with Vulkan, but the AMDGPU driver is currently disabled by default due to remaining bugs. The current Linux DRM driver ports are from a 4.19 era kernel.]
With Vulkan on the BSDs there is also limited native games/applications supporting the Vulkan API though possible at least on FreeBSD is decent support for Linux binary compatibility. OpenBSD (6.0), however, a few years back dropped its Linux binary compatibility support in the name of security. So even if there happens to be Vulkan drivers working nicely on OpenBSD, there isn't much software to take advantage of them.
So there is now the vulkan-loader port but we'll see what use-cases if any come about in due course. [Update: Apparently the iniitial intended users of Vulkan on OpenBSD are Dolphin and vkQuake.]
13 Comments