Vulkan Support on L4T
What is Vulkan?
Vulkan is a low level API that gives direct access of the GPU to developers who want the ultimate in control. With a simpler, thinner driver, Vulkan has less latency and overhead than traditional OpenGL or Direct3D. Vulkan has efficient multi-threading capabilities with multi-core CPUs that keep the graphics pipeline loaded, enabling a new level of performance on existing hardware.
Vulkan is the first new generation, low-level API that is cross platform. This allows developers to create applications for a variety of PC and mobile devices and operating systems. Like OpenGL, Vulkan is an open, royalty-free standard for any platform to adopt. For developers who prefer to remain on OpenGL, NVIDIA will continue to lead OpenGL innovations.
Learn more about Vulkan here.
Vulkan Driver is a default component of Linux For Tegra BSP release. Jetson AGX Xavier, Jetson TX2, and Jetson TX1 are conformant to Vulkan 1.1.100. The current compliance status of Jetson platforms can be found at The current compliance status of Jetson platforms can be found at khronos.org/conformance.
L4T SW Driver Package
Vulkan SDK from LunarG
The LunarG Vulkan SDK provides development and runtime components required to build, run, and debug Vulkan applications. Refer to the LunarG Vulkan SDK, Documentation and Known Issues at vulkan.lunarg.com for the most up to date SDK information.
A pre-built SDK can be downloaded from vulkan.lunarg.com but currently there is no prebuilt SDK provided for Linux-ARM.The source code can be downloaded from the below location and built for ARM architecture with the instructions mentioned inside the package.The git repos below contain different pieces of Vulkan SDK:
For developer convenience, NVIDIA has pre-built above repos and created a Vulkan SDK package, downloaded from above location.
This Vulkan SDK file is based on loader version release 1.1.100. This version of the loader library and demo apps are verified to be working properly on the latest L4T BSP release.The pre-built SDK contains:
- LICENSE.txt: License under which this package is distributed
- COPYRIGHT.txt: Copyright file from LunarG git repository
- vkcube/vkcubepp : demo app showing rotating cube
- include/vulkan : Folder contains all Public Vulkan Headers required to develop new vulkan apps.
- vulkaninfo : app to know vulkan implementation details on platform
- libvulkan.so.1.1.100: Vulkan loader library