We're hiring!
*

Vulkan 1.0 specification released with day-one support for Wayland

Daniel Stone avatar

Daniel Stone
February 16, 2016

Share this post:

Today sees the public release of Vulkan 1.0, the next-generation graphics API from the Khronos Group. As a member of Khronos, Collabora has been committed to improving EGL, OpenGL ES and OpenGL itself, and this continues with Vulkan.

With lineage dating back to 1992, OpenGL has served the industry well for many years, establishing itself as the standard for accelerated graphics rendering from large-scale cloud render farms to devices as small as the Raspberry Pi. Through this time, the nature of both graphics hardware and software has changed dramatically, from simple fixed-function pipelines to fully-programmable general-purpose co-processors.

In parallel with the evolution of OpenGL, Khronos has developed Vulkan as a radically different API to meet the needs of modern users. Vulkan offers users an unprecedented level of control and visibility over the graphics hardware, allowing maximum performance to be extracted.

Window system integration

Just as OpenGL and OpenGL ES use the standard EGL interface to manage devices and displays, Vulkan introduces WSI: the Window System Interface. The WSI allows applications to discover the different GPUs on the system, and display the results of GPU rendering to a window system.

This integration is an important, yet often-neglected part of the pipeline: all the careful work put in to your application can be let down at the last stage of actually displaying the result to the user. To provide the best possible base for fluid modern user interfaces, Collabora have worked extensively on the Wayland window system, the underlying Kernel Mode Setting drivers and atomic modesetting, and also the EGL specifications and implementations. We are proud to continue this work with Vulkan.

Day One Wayland support

The Vulkan WSI includes support for Wayland, amongst other window systems, from day one. Vulkan clients can run on unmodified Wayland servers, including Weston, GENIVI LayerManager, Mutter / GNOME Shell, Enlightenment, and more.

'vkcube' test client running on the Weston display server
Figure 1. 'vkcube' test client running on the Weston display server.


Vulkan's WSI offers a powerful model to clients, allowing multiple buffer queues, ahead-of-time buffer reuse with explicit synchronisation, and more. As with Vulkan generally, the WSI model on Wayland allows an unprecedented amount of visibility and control, with fine-tuning and debugging easier than ever.

The road ahead

Collabora remains committed to advancing not only Vulkan, but also EGL and OpenGL ES for their existing large client bases. Just some of this work includes support for the EGL_EXT_device_base, GL_ARB_shading_language_420pack, and GL_ARB_arrays_of_arrays extensions, as well as improved specification conformance for OpenGL ES 3.1. We continue to develop Wayland and low-level kernel APIs suitable for the widest possible range of graphics users, from embedded user interfaces for the medical industry up to the latest AAA games.

To find out more about how Vulkan and OpenGL can work for you, please contact us.


Related Posts

Related Posts

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


Search the newsroom

Latest Blog Posts

Venus on QEMU: Enabling the new virtual Vulkan driver

26/11/2021

A step-by-step guide on how to enable 3D acceleration of Vulkan applications in QEMU through the new Venus experimental Vulkan driver for…

Run your own CI pipeline with GStreamer's new monorepo

26/10/2021

Maintaining a non-trivial set of GStreamer patches can be tricky. Thanks to the recent move to a single, unified git repo, you can now easily…

Improving test coverage for cameras in KernelCI

08/10/2021

Earlier this year, I joined Collabora as an intern to work on improving testing in libcamera and automating it through KernelCI. Having…

A tale of two toolchains and glibc

30/09/2021

With the LLVM toolchain seeing increasing development and adoption alongside the older, more established GNU toolchain, projects needing…

An xrdesktop summer of code

10/09/2021

This summer, Christoph Haag and I had the pleasure of taking part in Google Summer of Code as mentors for xrdesktop, the Open Source project…

Adding VP9 and MPEG2 stateless support in v4l2codecs for GStreamer

23/06/2021

Earlier this year, from January to April 2021, I worked on adding support for stateless decoders for GStreamer as part of a multimedia internship…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2021. All rights reserved. Privacy Notice. Sitemap.

Collabora Limited is registered in England and Wales. Company Registration number: 5513718. Registered office: The Platinum Building, St John's Innovation Park, Cambridge, CB4 0DS, United Kingdom. VAT number: 874 1630 19.