In short, this FLOSS driver allows to enable video acceleration with
vdpau on older tegra soc.
How does this relate to the tegr-vde driver for video acceleration
that's already in the upstream kernel[1] , albeit in staging, that
supports tegra20-114 now.
There is also a very basic mesa driver, but it only advertise opengl
1.4 and gles 2.0 (probably not really conformant even). At least it
doesn't crash with glxgears.
There is support up to Tegra114, Tegra K1 may comes later using the
same framework.
There's also a patch series to add 124 AKA TK1 support [2] and once
they add support for the v4l requests API [3] this should all work
OOTB with standard mesa AFAICT. So my question is how does grate fit
into / relate to the upstream work?
Please reminds that for later SOC (Tegra K1+), f29 will have a
better
support. There mesa has tegra/nouveau mesa drivers that will operate.
(not tested recently).
Well with the VDE driver and the v4l requests API the TK1 should
support accelerated video once the userspace settles down, the newer
devices (tegra210/186 etc) have completely different video decode IP
blocks.
Mini FAQ:
- Why not upstream ?
There is an ABI destaging process in progress for tegra in the Linux
kernel. Once done, it will be probably possible to have more changes
upstream. Unfortunately, this is a long process and the review queue
in Tegra is growing.
- How to enable video hw acceleration ?
Look at the grate-driver page for libvdpau-tegra for the doc
You will need the mesa libdrm libvdpau-tegra xorg-x11-drv-opentegra
packages from the (2) repos. These replace fedora ones. You can keep
the fedora kernel. Please verify to have about cma=128M.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
[2]
https://www.spinics.net/lists/linux-tegra/msg35020.html
[3]
https://www.spinics.net/lists/linux-tegra/msg35462.html