Hello, I’m running Manjaro Sway on Pinebook 11" 1080p. I’ve decided on this distro because it had flawless, smooth and hw accelerated video playback through mpv when I installed it about a year ago. I’ve downloaded som test videos in various formats (mpeg2, mpeg4, h264, vp8, vc1) and sizes (1080p, 720p, 480p) and the Pinebook successfully played smoothly all of them (except 1080p version of vc1 or vp8 I don’t recall which one). I’ve periodically checked the video playback after every update and when there was no issue after half a year, I stopped to check.
After last update I remembered my video testing and just for fun I’ve tried to test the video playback again. And I was surprised to find out, that none of the 1080p videos were smooth. All of them had frames drop.
Does anybody know why, the video playback stopped to be smooth?
I’ve read somewhere, that from some graphics drivers video hw acceleration was dropped recently, could it be this case? If yes, how can I fix it?
Here is output of mpv when playing the mpeg2 video:
(+) Video --vid=1 (mpeg2video 1920x1080 25.000fps)
(+) Audio --aid=1 (mp2 2ch 44100Hz)
AO: [pulse] 44100Hz stereo 2ch s16
VO: [gpu] 1920x1080 yuv420p
AV: 00:00:00 / 00:00:44 (2%) A-V: 0.483 Dropped: 7
Audio/Video desynchronisation detected! Possible reasons include too slow
hardware, temporary CPU spikes, broken drivers, and broken files. Audio
position will not match to the video (see A-V status field).
AV: 00:00:03 / 00:00:44 (7%) A-V: 2.176 Dropped: 38
Exiting... (Quit)
try vd-lavc-dr=no in your mpv.conf or just as a switch.
it solves the issue for me. (credit: CounterPillow over at #mpv irc.libera.chat)
[with vd-lavc-dr=yes (default)]
Resuming playback. This behavior can be disabled with --no-resume-playback.
(+) Video --vid=1 (*) (h264 1280x720 50.000fps)
(+) Audio --aid=1 --alang=eng (*) (aac 2ch 44100Hz)
File tags:
Artist: mark ifi
Comment: https://www.youtube.com/watch?v=S-abWcegtnk
Date: 2022
Title: youtubeupload2022 11 12T23:54+01:00
[auto_profiles] Applying auto profile: focus-lost
AO: [pipewire] 44100Hz stereo 2ch floatp
VO: [gpu] 1280x720 yuv420p
[auto_profiles] Restoring profile: focus-lost
AV: 00:00:15 / 00:01:26 (18%) x1.01 A-V: 0.471 Dropped: 68
Audio/Video desynchronisation detected! Possible reasons include too slow
hardware, temporary CPU spikes, broken drivers, and broken files. Audio
position will not match to the video (see A-V status field).
AV: 00:00:31 / 00:01:26 (36%) x1.01 A-V: 6.292 Dropped: 708
Audio device underrun detected.
AV: 00:01:26 / 00:01:26 (100%) x1.01 A-V: 0.000 Dropped: 3028
Exiting... (End of file)
framedrops
[with vd-lavc-dr=no]
(+) Video --vid=1 (*) (h264 1280x720 50.000fps)
(+) Audio --aid=1 --alang=eng (*) (aac 2ch 44100Hz)
File tags:
Artist: mark ifi
Comment: https://www.youtube.com/watch?v=S-abWcegtnk
Date: 2022
Title: youtubeupload2022 11 12T23:54+01:00
[auto_profiles] Applying auto profile: focus-lost
AO: [pipewire] 44100Hz stereo 2ch floatp
VO: [gpu] 1280x720 yuv420p
[auto_profiles] Restoring profile: focus-lost
AV: 00:01:26 / 00:01:26 (100%) A-V: 0.000 Dropped: 3
Exiting... (End of file)
no more framedrops
--vd-lavc-dr=<yes|no>
Enable direct rendering (default: yes). If this is set to yes, the video
will be decoded directly to GPU video memory (or staging buffers). This
can speed up video upload, and may help with large resolutions or slow
hardware. This works only with the following VOs:
• gpu: requires at least OpenGL 4.4 or Vulkan.
• libmpv: The libmpv render API has optional support.
Using video filters of any kind that write to the image data (or output
newly allocated frames) will silently disable the DR code path.
i also would have thought this should work the other way around, that is enabling direct decoding to graphical memory being faster than not doing that. i didn’t ask the developers of mpv about this, but it might have something to do with needing opengl 4.4. your laptop only supports 1.1, mine 2.1 with the option for 3.3 with some tinkering. (only a guess)