Skip to content

Commit acd4696

Browse files
authored
Merge pull request #140 from crimist/documentation-update
Update documentation
2 parents 44b24ca + 93e6524 commit acd4696

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

README.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
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.
44

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-
75
# Table of contents
86

97
- [nvidia-vaapi-driver](#nvidia-vaapi-driver)
@@ -14,6 +12,7 @@ This library requires that the `nvidia_drm` kernel module is [configured with th
1412
- [Building](#building)
1513
- [Removal](#removal)
1614
- [Configuration](#configuration)
15+
- [Kernel parameters](#kernel-parameters)
1716
- [Environment Variables](#environment-variables)
1817
- [Firefox](#firefox)
1918
- [MPV](#mpv)
@@ -22,7 +21,7 @@ This library requires that the `nvidia_drm` kernel module is [configured with th
2221

2322
# Codec Support
2423

25-
Only decoding video is currently supported.
24+
Hardware decoding only, encoding is [not supported](/../../issues/116).
2625

2726
| Codec | Supported | Comments |
2827
|---|---|---|
@@ -36,7 +35,7 @@ Only decoding video is currently supported.
3635
|MPEG-4|:x:|VA-API does not supply enough of the original bitstream to allow NVDEC to decode it.|
3736
|JPEG|:x:|This is unlikely to ever work, the two APIs are too different.|
3837

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).
4039

4140
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).
4241

@@ -50,10 +49,11 @@ To install and use `nvidia-vaapi-driver`, follow the steps in installation and c
5049

5150
## Package manager
5251

53-
| Package manager | Package name | Notes |
54-
|-----------------|---------------------------------------------------------------------------------------|----------------|
55-
| pacman (AUR) | [libva-nvidia-driver](https://aur.archlinux.org/packages/libva-nvidia-driver) | Latest release |
56-
| pacman (AUR) | [nvidia-vaapi-driver-git](https://aur.archlinux.org/packages/nvidia-vaapi-driver-git) | @master |
52+
| Distribution | Package name |
53+
|---|---|
54+
| Arch<sup>AUR</sup> | [libva-nvidia-driver](https://aur.archlinux.org/packages/libva-nvidia-driver) |
55+
| Arch<sup>AUR</sup> | [nvidia-vaapi-driver-git](https://aur.archlinux.org/packages/nvidia-vaapi-driver-git) |
56+
| Debian,Ubuntu | nvidia-vaapi-driver<sup>[debian](https://packages.ubuntu.com/kinetic/nvidia-vaapi-driver) [ubuntu](https://packages.ubuntu.com/kinetic/nvidia-vaapi-driver)</sup> |
5757

5858
Feel free to add your distributions package in an issue/PR.
5959

@@ -81,6 +81,10 @@ By default the driver installs itself as `/usr/lib64/dri/nvidia_drv_video.so` (t
8181

8282
**IMPORTANT**: The [direct backend](#direct-backend) is currently required on NVIDIA driver series 525 due to a regression (see [issue #126](/../../issues/126)).
8383

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+
8488
## Environment Variables
8589

8690
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
123127
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
124128
a greater degree of control over buffer allocation and freeing.
125129

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**
127131

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) |||
129139

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`.
132143

133144
This backend uses headers files from the NVIDIA [open-gpu-kernel-modules](https://github.com/NVIDIA/open-gpu-kernel-modules)
134145
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

Comments
 (0)