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
  • 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 at 18:44
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).

  • 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 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.

  • 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 at 20:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.