1 | NVK
|
---|
2 | ===
|
---|
3 |
|
---|
4 | NVK is a Vulkan driver for Nvidia GPUs.
|
---|
5 |
|
---|
6 | Hardware support
|
---|
7 | ----------------
|
---|
8 |
|
---|
9 | NVK currently supports Turing (RTX 20XX and GTX 16XX) and later GPUs.
|
---|
10 | Eventually, we plan to support as far back as Kepler (GeForce 600 and 700
|
---|
11 | series) GPUs but anything pre-Turing is currently disabled by default.
|
---|
12 |
|
---|
13 | Kernel requirements
|
---|
14 | -------------------
|
---|
15 |
|
---|
16 | NVK requires at least a Linux 6.6 kernel
|
---|
17 |
|
---|
18 | Conformance status:
|
---|
19 | -------------------
|
---|
20 |
|
---|
21 | NVK is not currently conformant on any hardware. As of the writing of this
|
---|
22 | documentation, it was failing about 2000 tests with the current feature
|
---|
23 | set.
|
---|
24 |
|
---|
25 | Debugging
|
---|
26 | ---------
|
---|
27 |
|
---|
28 | Here are a few environment variable debug environment variables
|
---|
29 | specific to NVK:
|
---|
30 |
|
---|
31 | :envvar:`NVK_DEBUG`:
|
---|
32 | a comma-separated list of named flags, which do various things:
|
---|
33 |
|
---|
34 | ``push_dump``
|
---|
35 | Dumps all pusbufs to stderr on submit. This requires that
|
---|
36 | ``push_sync`` also be set.
|
---|
37 | ``push_sync``
|
---|
38 | Waits for submit to complete before continuing
|
---|
39 | ``zero_memory``
|
---|
40 | Zeros all VkDeviceMemory objects upon creation
|
---|
41 |
|
---|
42 | :envvar:`NVK_I_WANT_A_BROKEN_VULKAN_DRIVER`
|
---|
43 | If defined to ``1`` or ``true``, this will enable enumeration of all
|
---|
44 | GPUs Kepler and later, including GPUs for which hardware support is
|
---|
45 | poorly tested or completely broken. This is intended for developer use
|
---|
46 | only.
|
---|
47 |
|
---|
48 | Hardware Documentation
|
---|
49 | ----------------------
|
---|
50 |
|
---|
51 | What little documentation we have can be found in the `NVIDIA open-gpu-doc
|
---|
52 | repository <https://github.com/NVIDIA/open-gpu-doc>`__. The majority of
|
---|
53 | our documentation comes in the form of class headers which describe the
|
---|
54 | class state registers.
|
---|