Bug 4981

Summary: mpv player which is shipped in repo don't support VAAPI acceleration, but mpv builded by myself support VAAPI
Product: Fedora Reporter: Mikhail <mikhail.v.gavrilov>
Component: mpvAssignee: Miro Hrončok <mhroncok>
Status: RESOLVED INVALID    
Severity: enhancement CC: dominik, leigh123linux
Priority: P1    
Version: f29   
Hardware: x86_64   
OS: GNU/Linux   
namespace:
Attachments: mpv full verbose output (rpmfusion build)
mpv full verbose output (builded by me)
mpv full verbose output (rpmfusion build + gpu-context=wayland)
mpv full verbose output (rpmfusion build + vo=vaapi)
mpv full verbose output (rpmfusion build + vo=gpu)
mpv full verbose output (rpmfusion build + vo=gpu + gpu-context=wayland)
mpv full verbose output (rpmfusion + Xorg session)
mpv full verbose output (rpmfusion + Xorg session + gpu-context=x11egl)

Description Mikhail 2018-07-30 05:57:43 CEST
This is snip from mpv from RPMFusion:
[vd] Codec list:
[vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[vd]     h264_qsv (h264) - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)
[vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[vd] Opening decoder h264
[vd] Looking at hwdec h264-vaapi...
[vo/gpu] Loading hwdec driver 'vaapi-egl'
[vo/gpu] Loading failed.
[vo/gpu] Loading hwdec driver 'cuda-nvdec'
Cannot load libcuda.so.1
[vo/gpu/cuda-nvdec] Failed to load CUDA symbols
[vo/gpu] Loading failed.
[vo/gpu] Loading hwdec driver 'vdpau-glx'
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vo/gpu/vdpau-glx] Error when calling vdp_device_create_x11: 1
[vo/gpu] Loading failed.
[vd] Could not create device.
[vd] No hardware decoding available for this codec.
[vd] Using software decoding.


This is snip from mpv compiled by myself:
[vd] Codec list:
[vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[vd]     h264_qsv (h264) - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)
[vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[vd] Opening decoder h264
[vd] Looking at hwdec h264-vaapi...
[vo/gpu] Loading hwdec driver 'vaapi-egl'
[vo/gpu/vaapi-egl] Trying to open a wayland VA display...
[vo/gpu/vaapi-egl/vaapi] libva: VA-API version 1.2.0
[vo/gpu/vaapi-egl/vaapi] libva: va_getDriverName() returns 0
[vo/gpu/vaapi-egl/vaapi] libva: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
[vo/gpu/vaapi-egl/vaapi] libva: Found init function __vaDriverInit_1_2
[vo/gpu/vaapi-egl/vaapi] libva: va_openDriver() returns 0
[vo/gpu/vaapi-egl/vaapi] Initialized VAAPI: version 1.2
[vo/gpu/vaapi-egl] using VAAPI EGL interop
[vo/gpu/vaapi-egl] Supported formats:
[vo/gpu/vaapi-egl]  nv12
[vo/gpu/vaapi-egl]  p010
[vo/gpu/vaapi-egl]  yuv420p
[vo/gpu/vaapi-egl]  bgra
[vo/gpu/vaapi-egl]  rgba
[vo/gpu/vaapi-egl]  bgr0
[vo/gpu/vaapi-egl]  rgb0
[vd] Trying hardware decoding via h264-vaapi.
[vd] Pixel formats supported by decoder: vdpau cuda vaapi_vld yuv420p
[vd] Codec profile: High (0x64)
[vd] Requesting pixfmt 'vaapi_vld' from decoder.
[vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
[vf] User filter list:
[vf]   (empty)
[ad] Codec list:
[ad]     ac3 - ATSC A/52A (AC-3)
[ad]     ac3_fixed (ac3) - ATSC A/52A (AC-3)
[ad] Opening decoder ac3
[ad] Requesting 1 threads for decoding.
[ad] Selected codec: ac3 (ATSC A/52A (AC-3))
[af] User filter list:
[af]   (empty)
[sub/ass] Shaper: FriBidi 1.0.4 (SIMPLE) HarfBuzz-ng 1.8.4 (COMPLEX)
[sub/ass] Setting up fonts...
[sub/ass] Using font provider fontconfig
[sub/ass] Done.
[cplayer] Starting playback...
[af] [in] 48000Hz 5.1(side) 6ch floatp
[af] [userspeed] 48000Hz 5.1(side) 6ch floatp
[af] [userspeed] (disabled)
[af] [convert] 48000Hz 5.1(side) 6ch floatp
[vd] Pixel formats supported by decoder: vdpau cuda vaapi_vld yuv420p
[vd] Codec profile: High (0x64)
[vd] Requesting pixfmt 'vaapi_vld' from decoder.
[vd] Using hardware decoding (vaapi).
[vd] Decoder format: 1920x1080 [0:1] vaapi[nv12] auto/auto/auto/auto/auto CL=mpeg2/4/h264 (auto 0.000000/0.000000/0.000000)

I don't understand why your build don't support vaapi.
Comment 1 Mikhail 2018-07-30 06:19:30 CEST
This is configuration from mpv from RPMFusion:
[cplayer] Configuration: /usr/bin/waf configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --mandir=/usr/share/man --docdir=/usr/share/doc/mpv --confdir=/etc/mpv --disable-build-date --enable-libmpv-shared --enable-sdl2 --enable-libarchive --enable-libsmbclient --enable-dvdread --enable-dvdnav --enable-cdda --enable-tv --enable-dvbin
[cplayer] List of enabled features: 51fbsd alsa asm atomics audio-input cdda cplayer cplugins cuda-hwaccel debug-build drm dvbin dvdnav dvdread dvdread-common egl-drm egl-helpers egl-x11 fchmod ffmpeg ffnvcodec gbm gbm.h gl gl-wayland gl-x11 glibc-thread-name glob glob-posix gnuc gpl iconv jack jpeg lcms2 libaf libarchive libass libass-osd libav-any libavcodec libavdevice libbluray libdl libm libmpv-shared librt libsmbclient libv4l2 linux-fstatfs lua optimize oss-audio plain-gl posix posix-or-mingw posix-spawn posix-spawn-native pthreads pulse rubberband sdl2 stdatomic tv tv-v4l2 uchardet vaapi vaapi-drm vaapi-egl vaapi-glx vaapi-wayland vaapi-x-egl vaapi-x11 vdpau vdpau-gl-x11 videodev vt.h vulkan wayland wayland-protocols x11 xv zlib



This is configuration from mpv compiled by myself:
[cplayer] Configuration: ./waf configure
[cplayer] List of enabled features: asm atomics build-date cplayer cplugins debug-build drm egl-helpers fchmod ffmpeg gl gl-wayland glibc-thread-name glob glob-posix gnuc gpl iconv javascript libaf libass libass-osd libav-any libavcodec libavdevice libbluray libdl libm librt linux-fstatfs lua luajit optimize oss-audio posix posix-or-mingw posix-spawn posix-spawn-native pthreads pulse stdatomic vaapi vaapi-egl vaapi-wayland vt.h wayland wayland-protocols zlib
Comment 2 leigh scott 2018-07-30 08:28:11 CEST
Without providing mpv version your report is pointless, also I have no vaapi hardware to test.
Are you using mpv-0.29.0?

https://koji.rpmfusion.org/koji/buildinfo?buildID=7937

You also don't specify what DE your using(is it some wayland session?).
Comment 3 Nicolas Chauvet 2018-07-30 09:14:30 CEST
Our mpv build has most useful features enabled:
http://koji.rpmfusion.org/kojifiles/work/tasks/5231/235231/build.log

If you find something that worth to enable, please send a patch against the package.

Now maybe because the rpmfusion package enable more features, you need to select which video output and hw acceleration you want to use by default.
Comment 4 Dominik 'Rathann' Mierzejewski 2018-07-30 09:45:12 CEST
FWIW, I can't reproduce this on F28, but I use X11 and Intel GPU, not Wayland/AMD.

What is the contents of your ~/.config/mpv/mpv.conf?

$ rpm -q mpv
mpv-0.29.0-1.fc28.x86_64
$ mpv -v Videos/arrival-tlr2_h1080p.mov 
[cplayer] Command line options: '-v' 'Videos/arrival-tlr2_h1080p.mov'
[cplayer] mpv 0.29.0 Copyright © 2000-2018 mpv/MPlayer/mplayer2 projects
[cplayer]  built on UNKNOWN
[cplayer] ffmpeg library versions:
[cplayer]    libavutil       56.14.100
[cplayer]    libavcodec      58.18.100
[cplayer]    libavformat     58.12.100
[cplayer]    libswscale      5.1.100
[cplayer]    libavfilter     7.16.100
[cplayer]    libswresample   3.1.100
[cplayer] ffmpeg version: 4.0.1
[cplayer] 
[cplayer] Configuration: /usr/bin/waf configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --mandir=/usr/share/man --docdir=/usr/share/doc/mpv --confdir=/etc/mpv --disable-build-date --enable-libmpv-shared --enable-sdl2 --enable-libarchive --enable-libsmbclient --enable-dvdread --enable-dvdnav --enable-cdda --enable-tv --enable-dvbin
[cplayer] List of enabled features: 51fbsd alsa asm atomics audio-input cdda cplayer cplugins cuda-hwaccel debug-build drm dvbin dvdnav dvdread dvdread-common egl-drm egl-helpers egl-x11 fchmod ffmpeg ffnvcodec gbm gbm.h gl gl-wayland gl-x11 glibc-thread-name glob glob-posix gnuc gpl iconv jack jpeg lcms2 libaf libarchive libass libass-osd libav-any libavcodec libavdevice libbluray libdl libm libmpv-shared librt libsmbclient libv4l2 linux-fstatfs lua optimize oss-audio plain-gl posix posix-or-mingw posix-spawn posix-spawn-native pthreads pulse rubberband sdl2 stdatomic tv tv-v4l2 uchardet vaapi vaapi-drm vaapi-egl vaapi-glx vaapi-wayland vaapi-x-egl vaapi-x11 vdpau vdpau-gl-x11 videodev vt.h vulkan wayland wayland-protocols x11 xv zlib
[cplayer] Reading config file /etc/mpv/encoding-profiles.conf
[cplayer] Reading config file /home/rathann/.config/mpv/mpv.conf
[cplayer] Waiting for scripts...
[ytdl_hook] script-opts/ytdl_hook.conf not found. 
[ytdl_hook] lua-settings/ytdl_hook.conf not found. 
[stats] script-opts/stats.conf not found. 
[stats] lua-settings/stats.conf not found. 
[osc] script-opts/osc.conf not found. 
[osc] lua-settings/osc.conf not found. 
[cplayer] Done loading scripts.
[cplayer] Playing: Videos/arrival-tlr2_h1080p.mov
[ifo] Opening Videos/arrival-tlr2_h1080p.mov
[ifo_dvdnav] Opening Videos/arrival-tlr2_h1080p.mov
[osd/libass] Shaper: FriBidi 1.0.2 (SIMPLE) HarfBuzz-ng 1.7.5 (COMPLEX)
[osd/libass] Setting up fonts...
[bdmv/bluray] Opening Videos/arrival-tlr2_h1080p.mov
[file] Opening Videos/arrival-tlr2_h1080p.mov
[demux] Trying demuxers for level=normal.
[lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
[demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
[cplayer] Opening done: Videos/arrival-tlr2_h1080p.mov
[find_files] Loading external files in Videos/
[cplayer] Running hook: ytdl_hook/on_preloaded
[lavf] select track 0
[lavf] select track 1
[cplayer]  (+) Video --vid=1 (*) (h264 1920x816 23.976fps)
[cplayer]  (+) Audio --aid=1 --alang=eng (*) (aac 2ch 44100Hz)
[vo/vaapi/x11] X11 opening display: :0
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[vo/vaapi/x11] X11 running at 1920x1200 (":0" => local display)
[vo/vaapi/x11] Detected wm supports NetWM.
[vo/vaapi/x11] Detected wm supports FULLSCREEN state.
[vo/vaapi/x11] Detected wm supports ABOVE state.
[vo/vaapi/x11] Detected wm supports BELOW state.
[vo/vaapi/x11] Display 0 (HDMI-1): [0, 0, 1920, 1200] @ 59.950171 FPS
[vo/vaapi/x11] Current display FPS: 59.950171
[vo/vaapi/vaapi] libva: VA-API version 1.1.0
[vo/vaapi/vaapi] libva: va_getDriverName() returns 0
[vo/vaapi/vaapi] libva: Trying to open /usr/lib64/dri/i965_drv_video.so
[vo/vaapi/vaapi] libva: Found init function __vaDriverInit_1_1
[vo/vaapi/vaapi] libva: va_openDriver() returns 0
[vo/vaapi/vaapi] Initialized VAAPI: version 1.1
[vo/vaapi] 9 image formats available:
[vo/vaapi]   YV12
[vo/vaapi]   I420
[vo/vaapi]   NV12
[vo/vaapi]   YUY2
[vo/vaapi]   UYVY
[vo/vaapi]   422H
[vo/vaapi]   RGBX
[vo/vaapi]   BGRX
[vo/vaapi]   P010
[vo/vaapi] 6 subpicture formats available:
[vo/vaapi]   AI44, flags 0x6
[vo/vaapi]   IA44, flags 0x6
[vo/vaapi]   IA88, flags 0x6
[vo/vaapi]   AI88, flags 0x6
[vo/vaapi]   BGRA, flags 0x6
[vo/vaapi]   RGBA, flags 0x6
[vo/vaapi] Assuming 59.950171 FPS for display sync.
[vd] Container reported FPS: 23.976025
[vd] Codec list:
[vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd]     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
[vd]     h264_qsv (h264) - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)
[vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[vd] Opening decoder h264
[vd] Looking at hwdec h264-vaapi...
[vd] Trying hardware decoding via h264-vaapi.
[vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
[vf] User filter list:
[vf]   (empty)
[ad] Codec list:
[ad]     aac - AAC (Advanced Audio Coding)
[ad]     aac_fixed (aac) - AAC (Advanced Audio Coding)
[ad] Opening decoder aac
[ad] Requesting 1 threads for decoding.
[ad] Selected codec: aac (AAC (Advanced Audio Coding))
[af] User filter list:
[af]   (empty)
[cplayer] Starting playback...
[af] [in] 44100Hz stereo 2ch floatp
[af] [userspeed] 44100Hz stereo 2ch floatp
[af] [userspeed] (disabled)
[af] [convert] 44100Hz stereo 2ch floatp
[ao] Trying audio driver 'pulse'
[ao/pulse] requested format: 44100 Hz, stereo channels, floatp
[ao/pulse] Library version: 12.0.0
[ao/pulse] Proto: 32
[ao/pulse] Server proto: 4294967295
[ao/pulse] Channel layouts:
[ao/pulse]  - #fl
[ao/pulse]  - #fr
[ao/pulse]  - #fc
[ao/pulse]  - #lfe
[ao/pulse]  - #bl
[ao/pulse]  - #br
[ao/pulse]  - #flc
[ao/pulse]  - #frc
[ao/pulse]  - #bc
[ao/pulse]  - #sl
[ao/pulse]  - #sr
[ao/pulse]  - #tc
[ao/pulse]  - #tfl
[ao/pulse]  - #tfc
[ao/pulse]  - #tfr
[ao/pulse]  - #tbl
[ao/pulse]  - #tbc
[ao/pulse]  - #tbr
[ao/pulse] result: stereo
[ao/pulse] device buffer: 2205 samples.
[ao/pulse] using soft-buffer of 8820 samples.
[cplayer] AO: [pulse] 44100Hz stereo 2ch float
[cplayer] AO: Description: PulseAudio audio output
[autoconvert] inserting resampler
[swresample] format change, reinitializing resampler
[swresample] 44100Hz stereo floatp -> 44100Hz stereo float
[af] [out] 44100Hz stereo 2ch float
[vd] Pixel formats supported by decoder: vdpau cuda vaapi_vld yuv420p
[vd] Codec profile: Main (0x4d)
[vd] Requesting pixfmt 'vaapi_vld' from decoder.
[vd] Using hardware decoding (vaapi).
[vd] Decoder format: 1920x816 [0:1] vaapi[nv12] bt.709/bt.709/bt.1886/limited/auto CL=unknown (auto 0.000000/0.000000/0.000000)
[vf] [in] 1920x816 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [userdeint] 1920x816 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [userdeint] (disabled)
[vf] [autorotate] 1920x816 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [autorotate] (disabled)
[vf] [convert] 1920x816 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [convert] (disabled)
[vf] [out] 1920x816 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[cplayer] VO: [vaapi] 1920x816 vaapi[nv12]
[cplayer] VO: Description: VA API with X11
[vo/vaapi] reconfig to 1920x816 vaapi[nv12] bt.709/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vo/vaapi/x11] not waiting for MapNotify
[vo/vaapi] Window size: 1912x816
[vo/vaapi] Video source: 1920x816 (1:1)
[vo/vaapi] Video display: (0, 0) 1920x816 -> (0, 2) 1912x812
[vo/vaapi] Video scale: 0.995833/0.995098
[vo/vaapi] OSD borders: l=0 t=2 r=0 b=2
[vo/vaapi] Video borders: l=0 t=2 r=0 b=2
[osd/libass] fontselect: (sans-serif, 400, 0) -> /usr/share/fonts/dejavu/DejaVuSans.ttf, 0, DejaVuSans
[cplayer] first video frame after restart shown
[cplayer] starting audio playback
[cplayer] playback restart complete
[statusline] AV: 00:00:00 / 00:01:00 (0%) A-V:  0.000
[vo/vaapi/x11] Disabling screensaver.
[statusline] AV: 00:00:00 / 00:01:00 (0%) A-V:  0.000
[vo/vaapi] Window size: 1912x813
[vo/vaapi] Video source: 1920x816 (1:1)
[vo/vaapi] Video display: (0, 0) 1920x816 -> (0, 0) 1912x813
[vo/vaapi] Video scale: 0.995833/0.996324
[vo/vaapi] OSD borders: l=0 t=0 r=0 b=0
[vo/vaapi] Video borders: l=0 t=0 r=0 b=0
[statusline] AV: 00:00:00 / 00:01:00 (1%) A-V:  0.000 Dropped: 1
[cplayer] EOF code: 5  
[ad] Uninit decoder.
[vd] Uninit decoder.
[cplayer] finished playback, success (reason 3)
[cplayer] 
[cplayer] 
[cplayer] Exiting... (Quit)
[stats] Exiting...
[osc] Exiting...
[ytdl_hook] Exiting...
[ao/pulse] draining...
[vo/vaapi/x11] Enabling screensaver.
[vo/vaapi/x11] uninit ...
Comment 5 Mikhail 2018-07-30 18:31:02 CEST
(In reply to leigh scott from comment #2)
> Without providing mpv version your report is pointless, also I have no vaapi
> hardware to test.
> Are you using mpv-0.29.0?
> 
> https://koji.rpmfusion.org/koji/buildinfo?buildID=7937
> 

yes, today updated.

$ rpm -q mpv
mpv-0.29.0-1.fc29.x86_64

$ mpv --version
mpv 0.29.0 Copyright © 2000-2018 mpv/MPlayer/mplayer2 projects
 built on UNKNOWN
ffmpeg library versions:
   libavutil       56.14.100
   libavcodec      58.18.100
   libavformat     58.12.100
   libswscale      5.1.100
   libavfilter     7.16.100
   libswresample   3.1.100
ffmpeg version: 4.0.2

> You also don't specify what DE your using(is it some wayland session?).

GNOME with Wayland session.
$ gnome-shell --version
GNOME Shell 3.29.4


(In reply to Dominik 'Rathann' Mierzejewski from comment #4)
> FWIW, I can't reproduce this on F28, but I use X11 and Intel GPU, not
> Wayland/AMD.
> 
> What is the contents of your ~/.config/mpv/mpv.conf?

$ cat ~/.config/mpv/mpv.conf
cat: /home/mikhail/.config/mpv/mpv.conf: No such file or directory

(In reply to Nicolas Chauvet from comment #3)
> Our mpv build has most useful features enabled:
> http://koji.rpmfusion.org/kojifiles/work/tasks/5231/235231/build.log
> 
> If you find something that worth to enable, please send a patch against the
> package.
> 
> Now maybe because the rpmfusion package enable more features, you need to
> select which video output and hw acceleration you want to use by default.

I would like to understand what feature prevents working hardware acceleration.
Comment 6 leigh scott 2018-07-31 01:26:48 CEST
(In reply to Mikhail from comment #5)

> I would like to understand what feature prevents working hardware
> acceleration.

You compiled mpv without X support which isn't an option for rpmfusion as we care little for wayland.
Did you try passing any -hwdec options to force vaapi?
Comment 7 Mikhail 2018-07-31 05:58:12 CEST
(In reply to leigh scott from comment #6)
> You compiled mpv without X support which isn't an option for rpmfusion as we
> care little for wayland.
> Did you try passing any -hwdec options to force vaapi?

Yes of course.

[cplayer] Command line options: '-v' '--hwdec=vaapi' '/home/mikhail/Videos/3D/Metallica.ThroughTheNever(2013)3D-halfOU(Ash61)Audio-5.1(MVO.TNT).mkv'
Comment 8 Mikhail 2018-07-31 05:58:50 CEST
Created attachment 1944 [details]
mpv full verbose output (rpmfusion build)
Comment 9 Mikhail 2018-07-31 06:19:50 CEST
Created attachment 1945 [details]
mpv full verbose output (builded by me)
Comment 10 Dominik 'Rathann' Mierzejewski 2018-07-31 11:20:03 CEST
(In reply to Mikhail from comment #7)
> (In reply to leigh scott from comment #6)
> > Did you try passing any -hwdec options to force vaapi?
> 
> Yes of course.
> 
> [cplayer] Command line options: '-v' '--hwdec=vaapi'
> '/home/mikhail/Videos/3D/Metallica.ThroughTheNever(2013)3D-
> halfOU(Ash61)Audio-5.1(MVO.TNT).mkv'

Try adding '--vo=vaapi', too.
Comment 11 leigh scott 2018-07-31 11:37:32 CEST
Also try with  --gpu-context=wayland
Comment 12 Mikhail 2018-08-01 00:35:46 CEST
(In reply to leigh scott from comment #11)
> Also try with  --gpu-context=wayland

Yesss, with this parameter hw acceleration start working in rpmfusion build.
This is means vaapi not working under X11? So I have question why by default mpv use X11 instead of wayland in wayland session?
Comment 13 Mikhail 2018-08-01 00:36:22 CEST
Created attachment 1946 [details]
mpv full verbose output (rpmfusion build + gpu-context=wayland)
Comment 14 Dominik 'Rathann' Mierzejewski 2018-08-02 00:04:55 CEST
(In reply to Mikhail from comment #12)
> (In reply to leigh scott from comment #11)
> > Also try with  --gpu-context=wayland
> 
> Yesss, with this parameter hw acceleration start working in rpmfusion build.
> This is means vaapi not working under X11?

VA-API under X11 definitely works for me and is the sole reason why I started using mpv instead of mplayer. I'm not sure why you are drawing such conclusion. Did you try running with both --vo=vaapi and --hwdec=vaapi on an X11 display?

> So I have question why by default
> mpv use X11 instead of wayland in wayland session?

That's a completely different question and probably simply a matter of upstream defaults.
Comment 15 Mikhail 2018-08-04 14:53:15 CEST
(In reply to Dominik 'Rathann' Mierzejewski from comment #14)
> Did you try running with both --vo=vaapi and --hwdec=vaapi on an
> X11 display?
> 

[vo/vaapi/x11] X11 opening display: :0
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[vo/vaapi/x11] X11 running at 3840x2160 (":0" => local display)
[vo/vaapi/x11] Detected wm supports NetWM.
[vo/vaapi/x11] Detected wm supports FULLSCREEN state.
[vo/vaapi/x11] Detected wm supports ABOVE state.
[vo/vaapi/x11] Detected wm supports BELOW state.
[vo/vaapi/x11] Display 0 (XWAYLAND0): [0, 0, 3840, 2160] @ 59.980927 FPS
[vo/vaapi/x11] Current display FPS: 59.980927
[vo/vaapi/vaapi] libva: VA-API version 1.2.0
[vo/vaapi/vaapi] libva: va_getDriverName() returns -1
[vo/vaapi/vaapi] libva: va_getDriverName() failed with unknown libva error,driver_name=(null)
[vo/vaapi/vaapi] Failed to initialize VAAPI: unknown libva error
[vo/vaapi/x11] uninit ...
[cplayer] Error opening/initializing the selected video_out (--vo) device.
[mkv] deselect track 0
[cplayer] Video: no video

Such combination of parameters not works on my system.
Comment 16 Dominik 'Rathann' Mierzejewski 2018-08-04 22:04:14 CEST
(In reply to Mikhail from comment #15)
> (In reply to Dominik 'Rathann' Mierzejewski from comment #14)
> > Did you try running with both --vo=vaapi and --hwdec=vaapi on an
> > X11 display?
> > 
> 
> [vo/vaapi/x11] X11 opening display: :0
> [osd/libass] Using font provider fontconfig
> [osd/libass] Done.
> [vo/vaapi/x11] X11 running at 3840x2160 (":0" => local display)
> [vo/vaapi/x11] Detected wm supports NetWM.
> [vo/vaapi/x11] Detected wm supports FULLSCREEN state.
> [vo/vaapi/x11] Detected wm supports ABOVE state.
> [vo/vaapi/x11] Detected wm supports BELOW state.
> [vo/vaapi/x11] Display 0 (XWAYLAND0): [0, 0, 3840, 2160] @ 59.980927 FPS
> [vo/vaapi/x11] Current display FPS: 59.980927
> [vo/vaapi/vaapi] libva: VA-API version 1.2.0
> [vo/vaapi/vaapi] libva: va_getDriverName() returns -1
> [vo/vaapi/vaapi] libva: va_getDriverName() failed with unknown libva
> error,driver_name=(null)
> [vo/vaapi/vaapi] Failed to initialize VAAPI: unknown libva error
> [vo/vaapi/x11] uninit ...
> [cplayer] Error opening/initializing the selected video_out (--vo) device.
> [mkv] deselect track 0
> [cplayer] Video: no video
> 
> Such combination of parameters not works on my system.

Please don't trim the output and use -v in the command line as well. Attach if log file is large.

What does vainfo command say on your system? What's the output of ls -l /usr/lib64/dri ?

Please try --vo=gpu instead of --vo=vaapi. I've just noticed this in the manpage:

This driver is for compatibility with crappy systems. You can use vaapi hardware  decoding with --vo=gpu too.
Comment 17 Mikhail 2018-08-04 23:25:29 CEST
Created attachment 1948 [details]
mpv full verbose output (rpmfusion build + vo=vaapi)
Comment 18 Mikhail 2018-08-04 23:25:54 CEST
Created attachment 1949 [details]
mpv full verbose output (rpmfusion build + vo=gpu)
Comment 19 Mikhail 2018-08-04 23:29:15 CEST
(In reply to Dominik 'Rathann' Mierzejewski from comment #16)
> Please don't trim the output and use -v in the command line as well. Attach
> if log file is large.

Ok, attached.

> What does vainfo command say on your system?

$ vainfo
libva info: VA-API version 1.2.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_2
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.2 (libva 2.2.0)
vainfo: Driver version: Mesa Gallium driver 18.1.5 for Radeon RX Vega (VEGA10, DRM 3.26.0, 4.18.0-0.rc7.git1.1.fc29.x86_64, LLVM 6.0.1)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc


> What's the output of ls -l /usr/lib64/dri ?

$ ls -l /usr/lib64/dri
total 156336
-rwxr-xr-x. 5 root root  9486576 Jul 31 02:08 i915_dri.so
-rwxr-xr-x. 5 root root  9486576 Jul 31 02:08 i965_dri.so
-rwxr-xr-x. 8 root root 11862464 Jul 31 02:08 kms_swrast_dri.so
-rwxr-xr-x. 8 root root 11862464 Jul 31 02:08 nouveau_dri.so
-rwxr-xr-x. 3 root root  5898344 Jul 31 02:08 nouveau_drv_video.so
-rwxr-xr-x. 5 root root  9486576 Jul 31 02:08 nouveau_vieux_dri.so
-rwxr-xr-x. 5 root root  9486576 Jul 31 02:08 r200_dri.so
-rwxr-xr-x. 8 root root 11862464 Jul 31 02:08 r300_dri.so
-rwxr-xr-x. 8 root root 11862464 Jul 31 02:08 r600_dri.so
-rwxr-xr-x. 3 root root  5898344 Jul 31 02:08 r600_drv_video.so
-rwxr-xr-x. 5 root root  9486576 Jul 31 02:08 radeon_dri.so
-rwxr-xr-x. 8 root root 11862464 Jul 31 02:08 radeonsi_dri.so
-rwxr-xr-x. 3 root root  5898344 Jul 31 02:08 radeonsi_drv_video.so
-rwxr-xr-x. 8 root root 11862464 Jul 31 02:08 swrast_dri.so
-rwxr-xr-x. 8 root root 11862464 Jul 31 02:08 virtio_gpu_dri.so
-rwxr-xr-x. 8 root root 11862464 Jul 31 02:08 vmwgfx_dri.so


> Please try --vo=gpu instead of --vo=vaapi.

With parameter vo=gpu used software decoder.
Comment 20 Dominik 'Rathann' Mierzejewski 2018-08-05 01:35:26 CEST
Try with --vo=gpu --hwdec=vaapi --gpu-context=wayland
Comment 21 Mikhail 2018-08-05 08:43:25 CEST
Created attachment 1950 [details]
mpv full verbose output (rpmfusion build + vo=gpu + gpu-context=wayland)
Comment 22 Mikhail 2018-08-05 08:45:31 CEST
(In reply to Dominik 'Rathann' Mierzejewski from comment #20)
> Try with --vo=gpu --hwdec=vaapi --gpu-context=wayland

I did not notice the difference between parameters `--vo=gpu --hwdec=vaapi --gpu-context=wayland` and `--hwdec=vaapi --gpu-context=wayland`.
Comment 23 Dominik 'Rathann' Mierzejewski 2018-08-05 13:46:12 CEST
(In reply to Mikhail from comment #22)
> (In reply to Dominik 'Rathann' Mierzejewski from comment #20)
> > Try with --vo=gpu --hwdec=vaapi --gpu-context=wayland
> 
> I did not notice the difference between parameters `--vo=gpu --hwdec=vaapi
> --gpu-context=wayland` and `--hwdec=vaapi --gpu-context=wayland`.

That's because --vo=gpu is the default. From your latest log I can see it's working fine with those options and it's using VAAPI hw accel. Closing as not a bug, then.
Comment 24 Mikhail 2018-08-05 13:49:23 CEST
(In reply to Dominik 'Rathann' Mierzejewski from comment #23)
> That's because --vo=gpu is the default. From your latest log I can see it's
> working fine with those options and it's using VAAPI hw accel. Closing as
> not a bug, then.

I did not understand reason why vaapi not work under X11. Who is culprit here?
Comment 25 Dominik 'Rathann' Mierzejewski 2018-08-05 13:52:00 CEST
(In reply to Mikhail from comment #24)
[...]
> I did not understand reason why vaapi not work under X11. Who is culprit
> here?

Wayland. If you had run it under plain X11 session, not under Wayland emulation, it would have worked. It does work for me under MATE on X11.
Comment 26 Mikhail 2018-08-05 14:06:20 CEST
(In reply to Dominik 'Rathann' Mierzejewski from comment #25)
> Wayland. If you had run it under plain X11 session, not under Wayland
> emulation, it would have worked. It does work for me under MATE on X11.

Wait, under Gnome Xorg session hw acceleration not works too.

[snip]
[vd] Opening decoder h264
[vd] Looking at hwdec h264-vaapi...
[vo/gpu] Loading hwdec driver 'vaapi-egl'
[vo/gpu] Loading failed.
[vo/gpu] Loading hwdec driver 'cuda-nvdec'
Cannot load libcuda.so.1
[vo/gpu/cuda-nvdec] Failed to load CUDA symbols
[vo/gpu] Loading failed.
[vo/gpu] Loading hwdec driver 'vdpau-glx'
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vo/gpu/vdpau-glx] Error when calling vdp_device_create_x11: 1
[vo/gpu] Loading failed.
[vd] Could not create device.
[vd] No hardware decoding available for this codec.
[vd] Using software decoding.
[/snip]
Comment 27 Mikhail 2018-08-05 14:07:38 CEST
Created attachment 1951 [details]
mpv full verbose output (rpmfusion + Xorg session)
Comment 28 leigh scott 2018-08-05 14:53:12 CEST
(In reply to Mikhail from comment #26)
> (In reply to Dominik 'Rathann' Mierzejewski from comment #25)
> > Wayland. If you had run it under plain X11 session, not under Wayland
> > emulation, it would have worked. It does work for me under MATE on X11.
> 
> Wait, under Gnome Xorg session hw acceleration not works too.
> 
> [snip]
> [vd] Opening decoder h264
> [vd] Looking at hwdec h264-vaapi...
> [vo/gpu] Loading hwdec driver 'vaapi-egl'
> [vo/gpu] Loading failed.
> [vo/gpu] Loading hwdec driver 'cuda-nvdec'
> Cannot load libcuda.so.1
> [vo/gpu/cuda-nvdec] Failed to load CUDA symbols
> [vo/gpu] Loading failed.
> [vo/gpu] Loading hwdec driver 'vdpau-glx'
> Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object
> file: No such file or directory
> [vo/gpu/vdpau-glx] Error when calling vdp_device_create_x11: 1
> [vo/gpu] Loading failed.
> [vd] Could not create device.
> [vd] No hardware decoding available for this codec.
> [vd] Using software decoding.
> [/snip]

Maybe you have this issue, does running it with --gpu-context=x11egl help

https://github.com/mpv-player/mpv/issues/5305

https://github.com/mpv-player/mpv/pull/5298
Comment 29 Mikhail 2018-08-05 15:01:25 CEST
$ vainfo 
libva info: VA-API version 1.2.0
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
vaInitialize failed with error code -1 (unknown libva error),exit


... interesting it means that under Xorg vaapi fully unavailable on my system.
Comment 30 Mikhail 2018-08-05 15:03:01 CEST
Created attachment 1952 [details]
mpv full verbose output (rpmfusion + Xorg session + gpu-context=x11egl)
Comment 31 Dominik 'Rathann' Mierzejewski 2018-08-05 15:12:18 CEST
(In reply to Mikhail from comment #29)
> $ vainfo 
> libva info: VA-API version 1.2.0
> libva info: va_getDriverName() returns -1
> libva error: va_getDriverName() failed with unknown libva
> error,driver_name=(null)
> vaInitialize failed with error code -1 (unknown libva error),exit
> 
> 
> ... interesting it means that under Xorg vaapi fully unavailable on my
> system.

You have to solve that issue first before mpv can use VA-API, then.