Description of problem: mpv is current the only video player that uses efficiently VAAPI hardware acceleration, which is the only api with intel hardware. So it is the best option for watching movies on laptop's battery. My own tests with an Haswell i3 gives 30% more playing time for 1080p videos. Mpv was not packaged for MGA5, so I will provide a backport for end users convenience. Reproducible: Steps to Reproduce:
Keywords: (none) => BackportCC: (none) => lists.jjorge
RPMS in core mpv-0.15.0-1.mga5.x86_64.rpm lib64mpv1-0.15.0-1.mga5.x86_64.rpm lib64mpv-devel-0.15.0-1.mga5.x86_64.rpm SRPM : mpv-0.15.0-1.mga5.src.rpm
Status: NEW => ASSIGNED
Since mga5 it is: s/Suggests/Recommends/ , take care! :)
CC: (none) => geiger.david68210
Testing M5 x64 under LXDE - OK I used the following advice to install this backport: # urpmi.update --no-ignore "backports" # urpmi.update -a # urpmi mpv lib64mpv1 # urpmi.update --ignore "backports" but this was equally advised: # urpmi.update "" // to update all repos, even the non-active ones # urpmi --searchmedia "backports" mpv lib64mpv1 It is very sparse, with no menus, icons, but a huge man page. Started from the normal application menu, it presents only a blank window to drag files into [presume from a file manager window]. This worked fine for an audio file - a difficult .wma format. To play a DVD was not obvious: Ctrl/O has no effect. In a file manager window, it appeared as two directories (sound & vision) dragging which killed mpv. But from the command line: $ mpv /dev/sr0 worked a treat (despite a lot of complaints) on the DVD film normally 'difficult'. So well done!
CC: (none) => lewyssmithWhiteboard: (none) => MGA5-64-OK
José, currently mpv does not require or recommend lib(64)mpv1. Should it do so? # urpmi.update "Core Backports Testing" # urpmi --searchmedia "Core Backports Testing" mpv To satisfy dependencies, the following packages are going to be installed: Package Version Release Arch (medium "Core Release") lib64guess1 1.2 0.git.201311> x86_64 lib64mowgli-2_0 2.0.0 4.mga5 x86_64 lib64rubberband2 1.8.1 6.mga5 x86_64 (medium "Core Backports Testing") mpv 0.15.0 1.mga5 x86_64 (medium "Tainted Updates") lib64wayland-egl1 10.5.9 3.mga5.taint> x86_64 2.5MB of additional disk space will be used. 948KB of packages will be retrieved. Proceed with the installation of the 5 packages? (Y/n) y Tested with an HD video clip.. $ mpv --hwdec auto Videos/SomeVideo_hd1080.mov <snip> libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: va_openDriver() returns -1 Using software decoding. $ urpmf /usr/lib64/dri/i965_drv_video.so vaapi-driver-intel:/usr/lib64/dri/i965_drv_video.so $ rpm -q vaapi-driver-intel package vaapi-driver-intel is not installed Installed vaapi-driver-intel and tried again.. $ mpv --hwdec auto Videos/SomeVideo_hd1080.mov Playing: Videos/SomeVideo_hd1080.mov (+) Video --vid=1 (*) (mjpeg) libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 [vo/opengl/vaapi] mapping VAAPI EGL image failed Using software decoding. Installed lib64mpv1 and tried again.. # urpmi --searchmedia "Core Backports Testing" lib64mpv1 $ mpv --hwdec auto Videos/SomeVideo_hd1080.mov Playing: Videos/SomeVideo_hd1080.mov (+) Video --vid=1 (*) (mjpeg) libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 [vo/opengl/vaapi] mapping VAAPI EGL image failed Using software decoding. Have temporary access to a haswell i3 laptop. It plays video but is using software decoding - which sort of defies the point. I'll log out/in/reboot and try it again.
$ mpv --hwdec vaapi --vo=vaapi Videos/SomeVideo_hd1080.mov Playing: Videos/SomeVideo_hd1080.mov (+) Video --vid=1 (*) (mjpeg) libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 Using software decoding. Using conversion filter. VO: [vaapi] 1920x1080 yuyv422 Does this mean it is using gpu acceleration, as it should?
It seems different gpu's have different decoding capabilities. Tested with a different video file (mp4) and all is well. (with or without lib64mpv1 installed, so it appears not to be needed) $ mpv --hwdec vaapi --vo=vaapi Videos/AnotherVideo.mp4 Playing: Videos/AnotherVideo.mp4 (+) Video --vid=1 (*) (h264) (+) Audio --aid=1 --alang=und (*) (aac) libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 AO: [pulse] 48000Hz stereo 2ch float Using hardware decoding (vaapi). VO: [vaapi] 720x390 vaapi All appears normal. Ready to be pushed.
(In reply to claire robinson from comment #5) > Using software decoding. > Does this mean it is using gpu acceleration, as it should? No : software decoding should be hardware decoding. Hint : vainfo will tell what hardware does.
Another point : libmpv is not needed by mpv but by other GUIs. So it is normal it is not required by mpv package. vainfo example where hardware works : vainfo: Driver version: Intel i965 driver for Intel(R) Bay Trail - 1.4.1 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 VAProfileH264StereoHigh : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD
Hardware decoding play : libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 AO: [pulse] 48000Hz 5.1(side) 6ch float Using hardware decoding (vaapi). VO: [vaapi] 1920x1040 vaapi
MGA5-32 on Acer D620 Xfce Wondering what mpv would do on older hardware with home made DVD at CLI $ vainfo libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/r300_drv_video.so libva info: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit libva package is installed played DVD with mpv /dev/sr0 Playing: /dev/sr0 [ffmpeg/demuxer] mpeg: Could not find codec parameters for stream 3 (Audio: mp2, 0 channels): unspecified frame size [ffmpeg/demuxer] Consider increasing the value for the 'analyzeduration' and 'probesize' options (+) Video --vid=1 (mpeg2video) (+) Audio --aid=1 (mp2) Audio --aid=2 (mp2) [vo/opengl] Could not create EGL context! AO: [pulse] 48000Hz stereo 2ch s16 VO: [opengl] 720x576 => 1024x576 yuv420p [osd/libass] fontconfig: cannot find font 'sans-serif', falling back to 'DejaVu Sans' AV: 00:00:04 / 00:20:38 (0%) A-V: 0.000 (+) Video --vid=1 (mpeg2video) (+) Audio --aid=1 (mp2) Audio --aid=2 (mp2) Subs --sid=1 (dvd_subtitle) AV: 00:00:05 / 00:20:38 (0%) A-V: 0.000 Invalid audio PTS: 6.000000 -> 0.315344 and some more on audio... Exiting... (End of file) The sound was perfectly in sync when playing But mpv did not handle the DVD menu, it just started playing the VTS_01_0.VOB file and exited when this file was finished. VLC player did all the DVD menu stuff correctly.
CC: (none) => herman.viaene
In VirtualBox, M5, KDE, 32-bit Package(s) under test: mpv librubberband2 default install of mpv & librubberband2 [root@localhost wilcal]# urpmi mpv Package mpv-0.15.0-1.mga5.i586 is already installed [root@localhost wilcal]# urpmi librubberband2 Package librubberband2-1.8.1-6.mga5.i586 is already installed mpv seems to behave properly at least in vbox. I'll give it a challenge later today on a low power laptop and some mov files. It would be really nice if it did well there.
CC: (none) => wilcal.int
CC: lewyssmith => (none)
On real hardware, M5, KDE, 64-bit Package(s) under test: mpv default install of mpv [root@localhost wilcal]# urpmi mpv Package mpv-0.15.0-1.mga5.x86_64 is already installed Test file: 455MB, 1min 22sec, MOV, Video: h264, yuvj420p, 1920x1080, 45934 kb/s, 29.97 fps Platform: Dell Vostro 1015 Laptop Celeron 925 2.3Ghz 64-bit 1MB L2 cache 800Mhz FSB RTL8111/8168B PCI Express 1Gbit Ethernet Atheros AR9285 WiFi adapter 1ea Crucial 4GB 204-Pin DDR3 SO-DIMM DDR3 1333 HD: Samsung 240GB SSD When played with VLC playback studders badly. When played with mpv playback is smooth as silk. Nice.
On real hardware, M5, KDE, 32-bit Package(s) under test: mpv default install of mpv [root@localhost wilcal]# urpmi mpv Package mpv-0.15.0-1.mga5.i586 is already installed Platform: Intel, P4 530J 3.0 GHz, 800MHz FSB, 1MB L2, LGA 775 GigaByte GA-81915G Pro F4 i915G LGA 775 MoBo Marvel Yukon 88E8001 Gigabit LAN Intel High Def Audio, Azalia (C-Media 9880) (snd-hda-intel) Intel Graphics Media Accelerator 900 (Intel 82915G) mpv playback is ok and very much improves the video performance of this 12 year old beast.
This looks fine. I'm gonna validate it in 24-hours unless someone else objects.
Whiteboard: MGA5-64-OK => MGA5-32-OK MGA5-64-OK
Keywords: (none) => validated_updateCC: (none) => sysadmin-bugs
Keywords: validated_update => (none)
Moved to backports
Status: ASSIGNED => RESOLVEDCC: (none) => tmbResolution: (none) => FIXED