Some general information about my Pi:

  • It's a Pi3
  • Raspbian Jessie, latest updates as of 13th March 2016
  • The GPU has 256MB memory

I am using the Raspberry Pi as a retro console (mainly Playstation 1 games using pcsx_rearmed) and as a normal PC for simple web browsing so I don't have to turn on my normal PC (which is running Ubuntu).

Now, since the Pi is connected to a LED projector, it would be amazing if it could replace my PC in that regard as well. The projector has a resolution of 1280x800 so it would only need to play 720p h264 (.mkv with subs) files (although 1080p would be nice).

Unfortunately the performance of the Pi in this regard using SMPlayer or VLC is just plain bad. I've succeeded getting some files to play smoothly in SMPlayer, but VLC is just barfing at 100% CPU most of the time.

So I discovered omxplayer which supposedly uses the GPU to decode h264. Using a video file (that had no subs) to test this showed that this player is indeed performing a lot better. No audio on 3.5mm jack could be fixed with command line options. However it's a major pain to use this way so after some searching I came up with this line to put in a shell script so I can just use that with the "Open with" GUI option of Raspbian:

xterm -fullscreen -fg black -bg black -e omxplayer --align center -b -o local "$1"

Since you'll get used to the keyboard controls after some time, I thought I was done, but apparently omxplayer does not support (displaying?) the builtin softsubs in any of my .mkv files. Pressing "s" to toggle them did not work. This makes omxplayer utterly useless to me.

So, long story short:
Are there any alternatives to omxplayer with hardware accelerated decoding and subtitle support? For the past 10 years I've been using MPlayer (with various GUIs) or failing that, VLC, which pretty much covered everything. Preferably I'd like a solution that can be installed from a repository or at least something that will compile painlessly. I've just wasted several days of my free time trying to get a 5 GHz USB Wi-Fi driver to compile for the Pi, which I'd like to avoid doing again.

2 Answers 2


Kodi does a good job with most formats. You can install it using:

sudo apt-get update
sudo apt-get install kodi

It has both hardware decoding and subtitle support.

  • Perfect! All the h264 files I tested worked with subs and played smoothly. I wonder why I didn't come across this during my search. In any case, the only thing it doesn't play well is old .avi (XviD) files. My guess is due to a lack of parallelization and hardware decoding. Doesn't matter much, tho.
    – Anpan
    Commented Mar 14, 2016 at 18:58

It should be noted that current versions of VLC 3.X support Pi hardware decoder out of the box via omxil and mmal plugins.

Custom builds of VLC 2.X with Pi support were available since at least 2013.

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