Hi,
I write this post to share some thoughts about ways of improvement of ubuntu mate (and the other ubuntu distos xubuntu, lubuntu) for raspberry pi 2.
PPA
I think the first thing is to have a ppa somewhere (launchpad ?) to put there some special packages for raspberry pi 2.
Because ubuntu mate is based on official armhf ubuntu packages we will never have hardware acceleration out the box until we had an additionnal ppa for example.
Do you know if it is planned someday ?
There is a list by category of packages we can have on the ppa :
VIDEO DECODING
- FFmpeg with mmal video decoding (h264 in current version plus mpeg2 and vc1 in last snapshot)
- VLC with openmax until mmal video decoding don't work
- MPV with rpi support (for next release Xenial, rpi is not support in version bundled by wily)
VIDEO ENCODING / GStreamer
In raspbian distubution they have a really cool package gstreamer1.0-omx
That package enable hardware video decoding for gstreamer for a lot a video formats :
omx: omxmpeg2videodec: OpenMAX MPEG2 Video Decoder
omx: omxmpeg4videodec: OpenMAX MPEG4 Video Decoder
omx: omxh263dec: OpenMAX H.263 Video Decoder
omx: omxh264dec: OpenMAX H.264 Video Decoder
omx: omxtheoradec: OpenMAX Theora Video Decoder
omx: omxvp8dec: OpenMAX VP8 Video Decoder
omx: omxmjpegdec: OpenMAX MJPEG Video Decoder
omx: omxvc1dec: OpenMAX WMV Video Decoder
So it can decode with hardware accelration a lot of video formats.
But the cherry on the cake is h264 hardware accelerated encoding :
omx: omxh264enc: OpenMAX H.264 Video Encoder
I tried to convert some video in my old pi B+ and encoding was fast !
So I think we need to port that package to ubuntu mate.
I tried to compile it, it compile god but don't work.
I tried to install rapsbian package under ubuntu mate and it don't work too.
I don't have any errors, but when I type :
gst-inspect-1.0 | grep omx
I hope ffmpeg team add soon mmal encoding and vp8 decoding to ffmpeg but waiting that it will be great to have gestreamer omx work.
FLASH SUPPORT
I did a tutorial to add flash support to chromium, it is fast to do but maybe when can do a package like adobe-flashplugin canonical partner package for x86 / amd64.
I had a look on the package there is some generic scripts and the two libs of flash for firefox (libflashplayer.so) and chromium (libpepflashplayer.so).
We can extract libpepflashplayer.so form ARM Chromebook "Samsung Chromebook 2".
I think there is not libflashplayer.so for arm device (maybe I wrong let me know).
So we can remove the stuff for firefox from the source package of adobe-flashplugin and replace libpepflashplayer.so by the one of Samsung Chromebook 2 from latest recovery image (I don't know if they update it for all new version of flash).
If someone have a Samsung Chromebook 2 let me know, I am interrested
Additionnaly for firefox we can use Freshplayerplugin wrapper to make flash work too !
(I didn't test yet but it may work)
Youtube / SMTUBE
Create a package with the lastest snapshot of smtube which manage to browse youtube fast and play video with an external video player (vlc, ffplay, ...)
HTML5 VIDEO SUPPORT
Firefox from version 43 use system ffmpeg installation to read html5 video if present and gstreamer for audio. (it will use ffmpeg for audio too in version 44)
http://news.softpedia.com/news/firefox-43-to-use-ffmpeg-by-default-on-linux-496213.shtml
So because it use system ffmpeg and we can compile ffpmeg with hardware acceleration decoding maybe it is possible it use h264_mmal codec instead of h264 normal ffmpef codec.
I don't know yet if we need to compile firefox to do that or configure something somewhere or if is impossible.
But we need to check it, it can be great !
For youtube take care if you do some tests some video are in vp8 or vp9 format so there is no hardware decoding for that in ffmpeg.
You must force to read h264 videos for tests with some plugin like :
NETFLIX Support
I notice last days that there is Widevine Content Decryption Module Enabled in chromium natively now !
type under chromium url :
about:plugins
You will see it, if not we can install widevine libs from the Samsung Chromebook too
So, there is an another big problem, we don't have hardware video acceleration on chromium but maybe we can watch no hd videos ?
Somebody who have netflix can try it and give me feedback please ?
So Chromium is based on ffmpeg too (but bundeled ffmpeg I guess) maybe it can be possible to recompile it changing some options to enbale h264_mmal codec instead of h264 for reading h264 videos ?
Thank you for reading, this is a wishlist and some ways to improve our pi, don't be shame and talk here maybe we can do some imporvements !
Enjoy
Aworan