4

Whenever I open a video, mkv, mp4, etc, with either Media Player or VLC, everything appears like so:

1

This used to work fine, but I'm afraid I messed something up trying to get the Linux version of Shadow to work.

vlc outputs the following: avcodec decoder: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding.

When I set VDPAU_DRIVER=vdpau I get the error Failed to open VDPAU backend libvdpau_vdpau.so: cannot open shared object file: No such file or directory but then the video plays perfectly fine. Any ideas on how to fix this?

EDIT: I uninstalled mesa-vdpau-driver and VLC works, I am guessing it is defaulting to VA-API, Media Player continues to be an issue. I still am not sure why this started.

sudo lshw -c video
  *-display                 
       description: VGA compatible controller
       product: Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:01:00.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
       configuration: driver=radeon latency=0
       resources: irq:46 memory:c0000000-cfffffff memory:dfe00000-dfe3ffff ioport:e000(size=256) memory:c0000-dffff
1
  • It happens to me as well on a fresh install of 18.10 (only in gnome video, vlc works fine). I have an amd apu.
    – dsSTORM
    Jan 7, 2019 at 18:44

2 Answers 2

1
+50

The reason is that your acceleration backend is not working properly. AMD/Intel chips natively support VA-API HW Acceleration.
But most players only support VDPAU which is an NVIDIA standard.
The solution is to use VA-API backend to accelerate VDPAU.

First check what do you have:

 sudo apt install vdpauinfo vainfo
 vainfo
 vdpauinfo

vainfo will give a result something akin to:

  libva info: VA-API version 0.39.0
  libva info: va_getDriverName() returns 0
  libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
  libva info: Found init function __vaDriverInit_0_39
  libva info: va_openDriver() returns 0
  vainfo: VA-API version: 0.39 (libva 1.7.0)
  vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 1.7.0
  vainfo: Supported profile and entrypoints
        VAProfileMPEG2Simple            : VAEntrypointVLD
        VAProfileMPEG2Simple            : VAEntrypointEncSlice
        VAProfileMPEG2Main              : VAEntrypointVLD
        VAProfileMPEG2Main              : VAEntrypointEncSlice
        VAProfileH264ConstrainedBaseline: VAEntrypointVLD
        VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
        VAProfileH264Main               : VAEntrypointVLD
        VAProfileH264Main               : VAEntrypointEncSlice
        VAProfileH264High               : VAEntrypointVLD
        VAProfileH264High               : VAEntrypointEncSlice
        VAProfileH264MultiviewHigh      : VAEntrypointVLD
        VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
        VAProfileH264StereoHigh         : VAEntrypointVLD
        VAProfileH264StereoHigh         : VAEntrypointEncSlice
        VAProfileVC1Simple              : VAEntrypointVLD
        VAProfileVC1Main                : VAEntrypointVLD
        VAProfileVC1Advanced            : VAEntrypointVLD
        VAProfileNone                   : VAEntrypointVideoProc
        VAProfileJPEGBaseline           : VAEntrypointVLD

(Working) vdpauinfo should show something like:

 Decoder capabilities:

 name                        level macbs width height
 ----------------------------------------------------
 MPEG1                          --- not supported ---
 MPEG2_SIMPLE                   --- not supported ---
 MPEG2_MAIN                     --- not supported ---
 H264_BASELINE                  51 16384  2048  2048
 H264_MAIN                      51 16384  2048  2048
 H264_HIGH                      51 16384  2048  2048
 VC1_SIMPLE                     --- not supported ---
 VC1_MAIN                       --- not supported ---
 VC1_ADVANCED                   --- not supported ---
 MPEG4_PART2_SP                 --- not supported ---
 MPEG4_PART2_ASP                --- not supported ---
 DIVX4_QMOBILE                  --- not supported ---
 DIVX4_MOBILE                   --- not supported ---
 DIVX4_HOME_THEATER             --- not supported ---
 DIVX4_HD_1080P                 --- not supported ---
 DIVX5_QMOBILE                  --- not supported ---
 DIVX5_MOBILE                   --- not supported ---
 DIVX5_HOME_THEATER             --- not supported ---
 DIVX5_HD_1080P                 --- not supported ---
 H264_CONSTRAINED_BASELINE      51 16384  2048  2048
 H264_EXTENDED                  --- not supported ---
 H264_PROGRESSIVE_HIGH          --- not supported ---
 H264_CONSTRAINED_HIGH          --- not supported ---
 H264_HIGH_444_PREDICTIVE       --- not supported ---
 HEVC_MAIN                      --- not supported ---
 HEVC_MAIN_10                   --- not supported ---
 HEVC_MAIN_STILL                --- not supported ---
 HEVC_MAIN_12                   --- not supported ---
 HEVC_MAIN_444                  --- not supported ---

This is the (correct) output for my system. Both VA-API and VDPAU provide acceleration. Your issue is that VDPAU backend is not providing correct acceleration. That is why when VDPAU is disabled (the VDPAU_DRIVER=vdpau setting), you get correct output, but no acceleration.

So, assuming you have VA-API correctly setup, install the VA-API backend for VDPAU. Do this:

   apt install  libvdpau-va-gl1

and try with VDPAU_DRIVER=va_gl

Also, since you are using VDPAU on top of VA-API, just cut the middle man, and (on VLC) directly use the VA-API hw accel (VLC supports that).

Also, you can use mpv (it is a great player that supports VA-API natively).

1
  • This got it working with mpv and vlc. This hardware has run Fedora for a few years and I recently switched, it always worked out of the box for me. I was confident I messed this up though because I was messing with VA-API settings.
    – rtaft
    Jan 8, 2019 at 14:53
0

Since you have a Radeon (AMD/ATI) graphics card, you should install the Radeon drivers. There a two vdpau "flavours": one intel (provided by the kernel) and one AMD (provided by the close source radeon driver). The error could be explained that the wrong VDPAU driver was adressed.

1
  • The card is not listed in the supported cards list, they list the 7700, but not the 7800 line, R9 285 but not R9 280, maybe it is supported, idk.
    – rtaft
    Jan 7, 2019 at 20:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .