You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-12Lines changed: 23 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,6 @@
2
2
3
3
This is an VA-API implementation that uses NVDEC as a backend. This implementation is specifically designed to be used by Firefox for accelerated decode of web content, and may not operate correctly in other applications.
4
4
5
-
This library requires that the `nvidia_drm` kernel module is [configured with the parameter](https://wiki.archlinux.org/title/Kernel_parameters)`nvidia-drm.modeset=1`
6
-
7
5
# Table of contents
8
6
9
7
-[nvidia-vaapi-driver](#nvidia-vaapi-driver)
@@ -14,6 +12,7 @@ This library requires that the `nvidia_drm` kernel module is [configured with th
14
12
-[Building](#building)
15
13
-[Removal](#removal)
16
14
-[Configuration](#configuration)
15
+
-[Kernel parameters](#kernel-parameters)
17
16
-[Environment Variables](#environment-variables)
18
17
-[Firefox](#firefox)
19
18
-[MPV](#mpv)
@@ -22,7 +21,7 @@ This library requires that the `nvidia_drm` kernel module is [configured with th
22
21
23
22
# Codec Support
24
23
25
-
Only decoding video is currently supported.
24
+
Hardware decoding only, encoding is [not supported](/../../issues/116).
26
25
27
26
| Codec | Supported | Comments |
28
27
|---|---|---|
@@ -36,7 +35,7 @@ Only decoding video is currently supported.
36
35
|MPEG-4|:x:|VA-API does not supply enough of the original bitstream to allow NVDEC to decode it.|
37
36
|JPEG|:x:|This is unlikely to ever work, the two APIs are too different.|
38
37
39
-
YUV444 video support currently unavailable. It is a work in progress [here](/../../pull/134).
38
+
YUV444 support is a work in progress [here](/../../pull/134).
40
39
41
40
To view which codecs your card is capable of decoding you can use the `vainfo` command with this driver installed, or visit the NVIDIA website [here](https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new#geforce).
42
41
@@ -50,10 +49,11 @@ To install and use `nvidia-vaapi-driver`, follow the steps in installation and c
Feel free to add your distributions package in an issue/PR.
59
59
@@ -81,6 +81,10 @@ By default the driver installs itself as `/usr/lib64/dri/nvidia_drv_video.so` (t
81
81
82
82
**IMPORTANT**: The [direct backend](#direct-backend) is currently required on NVIDIA driver series 525 due to a regression (see [issue #126](/../../issues/126)).
83
83
84
+
## Kernel parameters
85
+
86
+
This library requires that the `nvidia_drm` kernel module is [configured with the parameter](https://wiki.archlinux.org/title/Kernel_parameters)`nvidia-drm.modeset=1`
87
+
84
88
## Environment Variables
85
89
86
90
Environment variables used to control the behavior of this library.
@@ -123,12 +127,19 @@ There's no real reason to run it with mpv except for testing, as mpv already sup
123
127
The direct backend is a experimental backend that accesses the NVIDIA kernel driver directly, rather than using EGL to share the buffers. This allows us
124
128
a greater degree of control over buffer allocation and freeing.
125
129
126
-
Given this backend accesses the NVIDIA driver directly, via NVIDIA's unstable API, this module is likely to break often with new versions of the kernel driver. If you encounter issues using this backend raise an issue and including logs generated by `NVD_LOG=1`.
130
+
**Generational compatibility**
127
131
128
-
**Currently tested and verified generations**
132
+
| Generation | Desktop | Mobile |
133
+
|---|---|---|
134
+
| <=Maxwell (<=9XX) | ❓ | ❓ |
135
+
| Pascal (10XX) | ✅ | ❓ |
136
+
| Turing (20XX/16XX) | ❓ | ✅ |
137
+
| Ampere (30XX) | ✅ | ❓ |
138
+
| Lovelace (40XX) | ❓ | ❓ |
129
139
130
-
* Pascal (10XX)
131
-
* Turing mobile (20XX)
140
+
❓ - Unknown, let us know the test results of an unknown generation [here](/../../issues/126).
141
+
142
+
Given this backend accesses the NVIDIA driver directly, via NVIDIA's unstable API, this module is likely to break often with new versions of the kernel driver. If you encounter issues using this backend raise an issue and including logs generated by `NVD_LOG=1`.
132
143
133
144
This backend uses headers files from the NVIDIA [open-gpu-kernel-modules](https://github.com/NVIDIA/open-gpu-kernel-modules)
134
145
project. The `extract_headers.sh` script, along with the `headers.in` file list which files we need, and will copy them from a checked out version of the NVIDIA project
0 commit comments