Mailinglist Archive: opensuse-factory (421 mails)

< Previous Next >
Re: [opensuse-factory] CUDA on Tumbleweed and HEVC/H.265 decoding
  • From: Martin Herkt <lachs0r@xxxxxxxxxxx>
  • Date: Thu, 14 Sep 2017 20:27:20 +0200
  • Message-id: <1699813.DRkY6DSuXe@sakuya>
On 2017 M09 14, Thu 17:20:22 CEST Bjoern Voigt wrote:
Is there a way to install Nvidia CUDA on Tumbleweed?

(The official download site https://developer.nvidia.com/cuda-downloads
lists only openSUSE 13.2, SLES 11 SP4 and 2. On
https://software.opensuse.org/package/cuda-8.0 there are unofficial
packages from the Bumblebeed project. I have a Nvidia Geforce GTX 750,
which supports H.264, but not H.265 over VDPAU.)

I tried the openSUSE 13.2 packages. They install, but it seems, that
they do not work.

$ mpv --hwdec=cuda hevc-testvideo.ts
(+) Video --vid=1 (hevc 1920x1080 50.000fps)
(+) Audio --aid=1 --alang=deu (aac_latm 6ch 48000Hz)
Audio --aid=2 --alang=fra (aac_latm 2ch 48000Hz)
Subs --sid=1 --slang=deu,deu,fra (dvb_teletext)
[ffmpeg/video] hevc_cuvid: ctx->cvdl->cuvidCreateDecoder(&cudec,
&cuinfo) failed -> CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
Could not open codec.
[ffmpeg/video] hevc: Could not find ref with POC 21386
AO: [pulse] 48000Hz 5.1 6ch float
VO: [opengl] 1920x1080 yuv420p
AV: 00:00:02 / 01:17:57 (0%) A-V: 0.000

Greetings,
Björn

Sounds like a permission issue. Make sure the nvidia-uvm module is loaded and
your user is a member of the video group. Note: the GTX 750 will not support
HEVC via CUDA either. GTX 750 SE (which is a newer model) does.
It won’t work if vdpauinfo doesn’t show at least the HEVC_MAIN capability.
CUDA only adds is 10-bit support.

You don’t need to install the CUDA SDK to use the CUVID functionality that is
needed for hardware decoding.

Also, CUDA has known bugs. 10-bit decoding is broken in various ways (don’t
expect Rec. 2020/HDR to work) and even 8-bit will not always decode correctly.
Expect frame corruption, flickering, random lines of garbage at the bottom of
the screen, and juddery playback because CUDA messes with the timestamps.
Blame NVIDIA.
< Previous Next >
Follow Ups
References