CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
106 lines
2.9 KiB
ReStructuredText
106 lines
2.9 KiB
ReStructuredText
NVK
|
|
===
|
|
|
|
NVK is a Vulkan driver for NVIDIA GPUs.
|
|
|
|
Hardware support
|
|
----------------
|
|
|
|
NVK currently supports Kepler (GeForce 600 and 700 series) and later GPUs up to
|
|
and including Ada (RTX 4000 series), as well as consumer Blackwell GPUs
|
|
(RTX 5000 series).
|
|
|
|
Conformance status:
|
|
-------------------
|
|
|
|
NVK is a conformant Vulkan 1.4 implementation for all officially supported
|
|
GPUs.
|
|
|
|
OpenGL support through Zink:
|
|
----------------------------
|
|
|
|
Starting with Mesa 25.1, all Turing (RTX 2000 series and GTX 16xx) and
|
|
later GPUs will get NVK+Zink as their OpenGL implementation by default
|
|
instead of the old Nouveau GL driver. NVK+Zink is a conformant OpenGL 4.6
|
|
implementation. The Nouveau GL driver is no longer supported on these cards.
|
|
|
|
Kernel requirements
|
|
-------------------
|
|
|
|
NVK requires at least a Linux 6.6 kernel
|
|
|
|
Debugging
|
|
---------
|
|
|
|
Here are a few environment variable debug environment variables
|
|
specific to NVK:
|
|
|
|
.. envvar:: NAK_DEBUG
|
|
|
|
a comma-separated list of named flags affecting the NVK back-end shader
|
|
compiler:
|
|
|
|
``print``
|
|
Prints the shader at various stages of the compile pipeline
|
|
``serial``
|
|
Forces serial instruction execution; this is often useful for
|
|
debugging or working around dependency bugs
|
|
``spill``
|
|
Forces the GPR file to a minimal size to test the spilling code
|
|
``annotate``
|
|
Adds extra annotation instructions to the IR to track information
|
|
from various compile passes
|
|
|
|
.. envvar:: NVK_DEBUG
|
|
|
|
a comma-separated list of named flags, which do various things:
|
|
|
|
``push``
|
|
Dumps all pushbufs to stderr on submit. This requires that
|
|
``push_sync`` also be set.
|
|
``push_sync``
|
|
Waits for submit to complete before continuing
|
|
``zero_memory``
|
|
Zeros all VkDeviceMemory objects upon creation
|
|
``trash_memory``
|
|
Write repeating nonzero patterns to client memory allocations
|
|
``vm``
|
|
Logs VM binds and unbinds
|
|
``no_cbuf``
|
|
Disables automatic promotion of UBOs to constant buffers
|
|
``edb_bview``
|
|
Forces the driver to use the VK_EXT_descriptor_buffer path for buffer
|
|
views.
|
|
``gart``
|
|
Forces all memory to be allocated from system RAM (GART)
|
|
``coherent``
|
|
Forces all memory maps to be coherent with the CPU caches. This only
|
|
applies to Tegra devices.
|
|
``no_compression``
|
|
Disables image compression.
|
|
|
|
.. envvar:: NVK_EXPERIMENTAL
|
|
|
|
a comma-separated list of named flags, which enable experimental features:
|
|
|
|
``dlss``
|
|
Enable DLSS if precompiled support for the gpu is found in the DLSS library.
|
|
|
|
``dlss_backwards_compat``
|
|
Allow using DLSS bytecode intended for earlier architectures if compatible.
|
|
|
|
.. envvar:: NVK_I_WANT_A_BROKEN_VULKAN_DRIVER
|
|
|
|
If defined to ``1`` or ``true``, this will enable enumeration of all
|
|
GPUs Kepler and later, including GPUs for which hardware support is
|
|
poorly tested or completely broken. This is intended for developer use
|
|
only.
|
|
|
|
Developer info
|
|
--------------
|
|
|
|
.. toctree::
|
|
:glob:
|
|
|
|
nvk/*
|