I'm pleased to announce support for Vulkan for Fedora!
== What is Vulkan? ==
Vulkan is a new generation graphics and compute API that provides high- efficiency, cross-platform access to modern GPUs.
Or: Vulkan is to OpenGL as Wayland is to X11. It does many of the same things, but - with the benefit of a few decades of experience - it's a much better match for both the hardware it targets, and the applications trying to use the hardware.
== How do I get it? ==
$ sudo dnf copr enable ajax/vulkan $ sudo dnf install vulkan anvil vkcube $ vulkaninfo
Currently the repository includes the driver loader, as well as Intel's open source drivers for gen8+ (Broadwell, Cherryview, Skylake, Broxton and Kabylake) GPUs. The Intel drivers also have incomplete support for Ivybridge, Haswell, and Baytrail devices; I can vouch that the Ivybridge support is good enough to run the vkcube demo.
Package reviews have been created so this can all be integrated into the OS directly:
https://bugzilla.redhat.com/show_bug.cgi?id=1308985 https://bugzilla.redhat.com/show_bug.cgi?id=1308986
== What else can I do with it? ==
The Khronos group hosts a number of open source repositories related to the Vulkan standard, including the specification and conformance test suite:
https://github.com/KhronosGroup?utf8=%E2%9C%93&query=vulkan
A number of sample applications are available:
https://github.com/SaschaWillems/Vulkan https://github.com/McNopper/Vulkan
The API reference is available online:
https://www.khronos.org/registry/vulkan/specs/1.0/refguide/Vulkan-1.0-web.pd... https://www.khronos.org/registry/vulkan/specs/1.0/apispec.html
Your favorite hardware driver or 3D game engine quite likely could use help in enabling a Vulkan port, if you feel like getting your hands dirty. The vulkan branch of Mesa would be a good place to start:
https://cgit.freedesktop.org/mesa/mesa/log/?h=vulkan
- ajax
On Tue, Feb 16, 2016 at 10:48 AM, Adam Jackson ajax@redhat.com wrote:
$ sudo dnf copr enable ajax/vulkan $ sudo dnf install vulkan anvil vkcube $ vulkaninfo
vulkaninfo seems to work:
[...] VkPhysicalDeviceProperties: =========================== apiVersion = 4194306 driverVersion = 1 vendorID = 0x8086 deviceID = 0x1916 deviceType = INTEGRATED_GPU deviceName = Intel(R) HD Graphics 520 (Skylake GT2) [...]
vkcube barfs:
$ vkcube 1 physical devices anv_device.c:405: FINISHME: Get correct values for VkPhysicalDeviceLimits vendor id 8086, device name Intel(R) HD Graphics 520 (Skylake GT2) vulkan: No DRI3 support Vulkan not supported on given X windowAborted (core dumped)
Is there some prerequisite or configuration I'm missing?
--Andy
On Tue, 2016-02-16 at 11:34 -0800, Andrew Lutomirski wrote:
$ vkcube 1 physical devices anv_device.c:405: FINISHME: Get correct values for VkPhysicalDeviceLimits vendor id 8086, device name Intel(R) HD Graphics 520 (Skylake GT2) vulkan: No DRI3 support Vulkan not supported on given X windowAborted (core dumped)
Is there some prerequisite or configuration I'm missing?
DRI3 is a prerequisite, yes. The F23 builds of the intel driver had it disabled until fairly recently, but this update should sort you out:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-606ca05253
Alternatively you can enable it in xorg.conf:
Section "Device" Identifier "intel" Driver "intel" Option "DRI" "3" EndSection
- ajax
On Tue, 2016-02-16 at 11:34 -0800, Andrew Lutomirski wrote:
DRI3 is a prerequisite, yes. The F23 builds of the intel driver had it disabled until fairly recently, but this update should sort you out:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-606ca05253
This is great, not only does the updated intel driver "enable" Vulkan, but it also seems to have fixed my tearing issue. I guess it what because DRI3 was disabled before? In any case this is a fantastic update.
Anyone know if/when nvidia drivers will be included? On Wed, Feb 17, 2016 at 7:24 AM Peter T. ageha@fedoraproject.org wrote:
On Tue, 2016-02-16 at 11:34 -0800, Andrew Lutomirski wrote:
DRI3 is a prerequisite, yes. The F23 builds of the intel driver had it disabled until fairly recently, but this update should sort you out:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-606ca05253
This is great, not only does the updated intel driver "enable" Vulkan, but it also seems to have fixed my tearing issue. I guess it what because DRI3 was disabled before? In any case this is a fantastic update. -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
----- Original Message -----
From: "Zach Villers" zachvatwork@gmail.com To: "Development discussions related to Fedora" devel@lists.fedoraproject.org Sent: Wednesday, 17 February, 2016 11:34:47 PM Subject: Re: [ANNOUNCE] Fedora support for Vulkan
Anyone know if/when nvidia drivers will be included?
There are no open source vulkan drivers for nvidia.
Dave.
Peter T. wrote:
On Tue, 2016-02-16 at 11:34 -0800, Andrew Lutomirski wrote:
DRI3 is a prerequisite, yes. The F23 builds of the intel driver had it disabled until fairly recently, but this update should sort you out:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-606ca05253
This is great, not only does the updated intel driver "enable" Vulkan, but it also seems to have fixed my tearing issue. I guess it what because DRI3 was disabled before? In any case this is a fantastic update. -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
How do I get this update?
sudo dnf --enablerepo=updates-testing install xorg-x11-drv-intel ... Last metadata expiration check performed 0:00:00 ago on Wed Feb 17 08:41:57 2016. Package xorg-x11-drv-intel-2.99.917-16.20150729.fc23.x86_64 is already installed, skipping. Dependencies resolved. =============================================================================================================== Package Arch Version Repository Size =============================================================================================================== Skipping packages with conflicts: (add '--best --allowerasing' to command line to force their upgrade): xorg-x11-drv-intel x86_64 2.99.917-19.20151206.fc23 updates-testing 679 k
Transaction Summary =============================================================================================================== Skip 1 Package
Nothing to do. Complete!
On Wed, Feb 17, 2016 at 08:43:09AM -0500, Neal Becker wrote:
Peter T. wrote:
On Tue, 2016-02-16 at 11:34 -0800, Andrew Lutomirski wrote:
DRI3 is a prerequisite, yes. The F23 builds of the intel driver had it disabled until fairly recently, but this update should sort you out:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-606ca05253
This is great, not only does the updated intel driver "enable" Vulkan, but it also seems to have fixed my tearing issue. I guess it what because DRI3 was disabled before? In any case this is a fantastic update. -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
How do I get this update?
sudo dnf --enablerepo=updates-testing install xorg-x11-drv-intel
WFM if you add the `--best' option on the command line.
Rich.
On Wed, Feb 17, 2016 at 1:24 PM, Peter T. ageha@fedoraproject.org wrote:
On Tue, 2016-02-16 at 11:34 -0800, Andrew Lutomirski wrote:
DRI3 is a prerequisite, yes. The F23 builds of the intel driver had it disabled until fairly recently, but this update should sort you out:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-606ca05253
This is great, not only does the updated intel driver "enable" Vulkan, but it also seems to have fixed my tearing issue. I guess it what because DRI3 was disabled before?
Yes.
drago01 wrote:
On Wed, Feb 17, 2016 at 1:24 PM, Peter T. ageha@fedoraproject.org wrote:
On Tue, 2016-02-16 at 11:34 -0800, Andrew Lutomirski wrote:
DRI3 is a prerequisite, yes. The F23 builds of the intel driver had it disabled until fairly recently, but this update should sort you out:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-606ca05253
This is great, not only does the updated intel driver "enable" Vulkan, but it also seems to have fixed my tearing issue. I guess it what because DRI3 was disabled before?
Yes.
devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Looks good, but screen is not power off after 10 min, as configured. I'm using KDE, so that could be an issue.
I read the readme in the Vulkan branch on the mesa git but how do you tell if your chipset is specifically supported?
Thanks, Richard
On Wed, 2016-02-17 at 14:30 -0600, Richard Shaw wrote:
I read the readme in the Vulkan branch on the mesa git but how do you tell if your chipset is specifically supported?
The driver emits a warning chirp if the chipset isn't fully supported, and will refuse to initialize on devices that are not supported at all:
dmt:~/fedora/anvil/anvil% grep -A13 -- '->is_haswell' src/vulkan/anv_device.c if (device->info->is_haswell) { fprintf(stderr, "WARNING: Haswell Vulkan support is incomplete\n"); } else if (device->info->gen == 7 && !device->info->is_baytrail) { fprintf(stderr, "WARNING: Ivy Bridge Vulkan support is incomplete\n"); } else if (device->info->gen == 7 && device->info->is_baytrail) { fprintf(stderr, "WARNING: Bay Trail Vulkan support is incomplete\n"); } else if (device->info->gen >= 8) { /* Broadwell, Cherryview, Skylake, Broxton, Kabylake is as fully * supported as anything */ } else { result = vk_errorf(VK_ERROR_INCOMPATIBLE_DRIVER, "Vulkan not yet supported on %s", device->name); goto fail; }
As far as earlier chipsets are concerned, Ironlake and earlier are almost certainly never going to be supported. I don't know about Sandy Bridge, but I doubt it. If you're unsure which Intel GPU you have:
% lspci -n -s 0:2 00:02.0 0300: 8086:0166 (rev 09)
and then match the device ID (here 0166) to the architecture code name here:
https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units
- ajax
On Mon, Feb 22, 2016 at 8:52 AM, Adam Jackson ajax@redhat.com wrote:
On Wed, 2016-02-17 at 14:30 -0600, Richard Shaw wrote:
I read the readme in the Vulkan branch on the mesa git but how do you tell if your chipset is specifically supported?
The driver emits a warning chirp if the chipset isn't fully supported, and will refuse to initialize on devices that are not supported at all:
dmt:~/fedora/anvil/anvil% grep -A13 -- '->is_haswell' src/vulkan/anv_device.c if (device->info->is_haswell) { fprintf(stderr, "WARNING: Haswell Vulkan support is incomplete\n"); } else if (device->info->gen == 7 && !device->info->is_baytrail) { fprintf(stderr, "WARNING: Ivy Bridge Vulkan support is incomplete\n"); } else if (device->info->gen == 7 && device->info->is_baytrail) { fprintf(stderr, "WARNING: Bay Trail Vulkan support is incomplete\n"); } else if (device->info->gen >= 8) { /* Broadwell, Cherryview, Skylake, Broxton, Kabylake is as fully * supported as anything */ } else { result = vk_errorf(VK_ERROR_INCOMPATIBLE_DRIVER, "Vulkan not yet supported on %s", device->name); goto fail; }
As far as earlier chipsets are concerned, Ironlake and earlier are almost certainly never going to be supported. I don't know about Sandy Bridge, but I doubt it. If you're unsure which Intel GPU you have:
% lspci -n -s 0:2 00:02.0 0300: 8086:0166 (rev 09)
and then match the device ID (here 0166) to the architecture code name here:
https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units
That got me close enough, mine is Ironlake.
Thanks, Richard
W dniu 16.02.2016 o 19:48, Adam Jackson pisze:
Currently the repository includes the driver loader, as well as Intel's open source drivers for gen8+ (Broadwell, Cherryview, Skylake, Broxton and Kabylake) GPUs. The Intel drivers also have incomplete support for Ivybridge, Haswell, and Baytrail devices; I can vouch that the Ivybridge support is good enough to run the vkcube demo.
Your favorite hardware driver or 3D game engine quite likely could use help in enabling a Vulkan port
Any info about Radeon support?
23:59 hrw@puchatek:~$ vulkaninfo =========== VULKAN INFO ===========
Vulkan API Version: 1.0.3
INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_unique_objects.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_draw_state.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_device_limits.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_swapchain.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_mem_tracker.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_threading.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_param_checker.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_image.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_object_tracker.json, version "1.0.0" INFO: [loader] Code 0 : Found manifest file /etc/vulkan/icd.d/anv_icd.json, version "1.0.0" Instance Extensions and layers: =============================== Instance Extensions count = 4 VK_KHR_surface : extension revision 25 VK_KHR_xcb_surface : extension revision 5 VK_KHR_wayland_surface : extension revision 4 VK_EXT_debug_report : extension revision 1
Instance Layers count = 9 VK_LAYER_GOOGLE_unique_objects (Google Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_GOOGLE_unique_objects Extensions count = 0
VK_LAYER_LUNARG_draw_state (LunarG Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_LUNARG_draw_state Extensions count = 1 VK_EXT_debug_report : extension revision 1
VK_LAYER_LUNARG_device_limits (LunarG Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_LUNARG_device_limits Extensions count = 1 VK_EXT_debug_report : extension revision 1
VK_LAYER_LUNARG_swapchain (LunarG Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_LUNARG_swapchain Extensions count = 1 VK_EXT_debug_report : extension revision 1
VK_LAYER_LUNARG_mem_tracker (LunarG Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_LUNARG_mem_tracker Extensions count = 1 VK_EXT_debug_report : extension revision 1
VK_LAYER_LUNARG_threading (LunarG Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_LUNARG_threading Extensions count = 1 VK_EXT_debug_report : extension revision 1
VK_LAYER_LUNARG_param_checker (LunarG Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_LUNARG_param_checker Extensions count = 1 VK_EXT_debug_report : extension revision 1
VK_LAYER_LUNARG_image (LunarG Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_LUNARG_image Extensions count = 1 VK_EXT_debug_report : extension revision 1
VK_LAYER_LUNARG_object_tracker (LunarG Validation Layer) Vulkan version 1.0.3, layer version 1 VK_LAYER_LUNARG_object_tracker Extensions count = 1 VK_EXT_debug_report : extension revision 1
/builddir/build/BUILD/vulkan/demos/vulkaninfo.c:1183: failed with VK_ERROR_INITIALIZATION_FAILED 23:59 hrw@puchatek:~$ vkcube 0 physical devices Segmentation fault (core dumped) 23:59 hrw@puchatek:~$ lspci|grep VGA 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland PRO [Radeon R7 240/340]
----- Original Message -----
From: "Marcin Juszkiewicz" mjuszkiewicz@redhat.com To: devel@lists.fedoraproject.org Sent: Wednesday, 17 February, 2016 8:59:51 AM Subject: Re: [ANNOUNCE] Fedora support for Vulkan
W dniu 16.02.2016 o 19:48, Adam Jackson pisze:
Currently the repository includes the driver loader, as well as Intel's open source drivers for gen8+ (Broadwell, Cherryview, Skylake, Broxton and Kabylake) GPUs. The Intel drivers also have incomplete support for Ivybridge, Haswell, and Baytrail devices; I can vouch that the Ivybridge support is good enough to run the vkcube demo.
Your favorite hardware driver or 3D game engine quite likely could use help in enabling a Vulkan port
Any info about Radeon support?
No, AMD haven't shared any firm plans on Linux Vulkan support, I think the latest is,
a binary stack will be released at some point supporting amdgpu using GPUs, this binary stack at some undisclosed point after that will be open sourced.
Dave.
I had just installed vulkan on my Alienware m14x, and it seemed to erase my previous light settings as well as making fedora unbootable. I'm currently looking into how to get around it.
Adam Jackson wrote:
Currently the repository includes the driver loader, as well as Intel's open source drivers for gen8+ (Broadwell, Cherryview, Skylake, Broxton and Kabylake) GPUs. The Intel drivers also have incomplete support for Ivybridge, Haswell, and Baytrail devices; I can vouch that the Ivybridge support is good enough to run the vkcube demo.
What about software rendering? Is something like llvmpipe, or a port of the existing llvmpipe, in the works for Vulkan?
Kevin Kofler
Adam Jackson wrote:
Currently the repository includes the driver loader, as well as Intel's open source drivers for gen8+ (Broadwell, Cherryview, Skylake, Broxton and Kabylake) GPUs. The Intel drivers also have incomplete support for Ivybridge, Haswell, and Baytrail devices; I can vouch that the Ivybridge support is good enough to run the vkcube demo.
What about software rendering? Is something like llvmpipe, or a port of the existing llvmpipe, in the works for Vulkan?
No, nothing concrete has been mentioned in this area at all.
sw rendering won't benefit from vulkan very much, in fact it would be worse than GL in some cases, as Vulkan really works on the building up long command buffers and executing them, rather than direct execution in a context that GL does.
Dave.
David Airlie wrote:
No, nothing concrete has been mentioned in this area at all.
sw rendering won't benefit from vulkan very much, in fact it would be worse than GL in some cases, as Vulkan really works on the building up long command buffers and executing them, rather than direct execution in a context that GL does.
But eventually there will be Vulkan-only software and some fallback is needed for the hardware not supported by any hardware driver.
Kevin Kofler
----- Original Message -----
From: "Kevin Kofler" kevin.kofler@chello.at To: devel@lists.fedoraproject.org Sent: Saturday, 20 February, 2016 12:14:00 PM Subject: Re: [ANNOUNCE] Fedora support for Vulkan
David Airlie wrote:
No, nothing concrete has been mentioned in this area at all.
sw rendering won't benefit from vulkan very much, in fact it would be worse than GL in some cases, as Vulkan really works on the building up long command buffers and executing them, rather than direct execution in a context that GL does.
But eventually there will be Vulkan-only software and some fallback is needed for the hardware not supported by any hardware driver.
Not necessarily. Until someone writes one, there are no plans to have one.
We have GL, I doubt we'll be writing compositors in Vulkan anytime soon,
fallbacks would probably be to use GL.
Dave.