I'm developing an application that runs and controls the omxplayer. I very much prefer to develop on my desktop machine, though. So I wonder if it is possible to install omxplayer for a regular desktop Debian (i386)? Are there any builds (I'm on Jessie).

  • 1
    There's a 3 year old issue on the omxplayer Github page which suggests that some of the libraries used are exclusive to the Pi. I don't think you'll be able to compile it for another platform. – goobering Oct 24 '16 at 9:21
  • If you write a small application that behaves like omxplayer (except actually doing anything OMX related) you can develop on any machine you want, and then just test on the pi. – Thorbjørn Ravn Andersen Dec 11 '17 at 2:39

I don't think it would work.

You still can develop on your i386 desktop and compile/deploy remotely via SSH. That would be the easiest way I can think of. If you really want it, you can setup a cross-compiling environment. But you'd get much overhead in the beginning.

I personally use a set of Makefiles that copy the changes to my Raspberry Pi via rsync (only copying deltas) and running make on the Pi to compile the code (that changed). It works pretty fast and is convenient.

But for why you should not try to compile omxplayer directly on your i386:

omxplayer works by utilizing hardware capabilities of the VideoCore IV part of the CPU which has an embedded media encoder and decoder. OMX refers to OpenMAX which is an interface to that hardware. I am not aware of any device compatible with OpenMAX except in the mobile/embedded space. But as modern intel/AMD CPUs and also nVidia/AMD GPUs also include hardware media encoder and decoder, they might provide OpenMAX compatible driver. Only then you might have a chance. But still I am not aware of such drivers.

  • 1
    Openmax runtime is available even in Debian Wheezy – Dmitry Grigoryev Oct 24 '16 at 13:34
  • 1
    I don't doubt that. But do all the devices provide the required driver? Like with OpenGL you need a device and a driver or you end with a software renderer. I'm not aware of a software implementation that fakes a hardware media encoder/decoder. – kwasmich Oct 24 '16 at 13:57
  • 1
    I think it's exactly that: a software implementation, much like MESA library for OpenGL. You don't need any device to use it. – Dmitry Grigoryev Oct 24 '16 at 14:01
  • As with OpenGL there need not to be as software implementation. The library works as intended by reporting no compatible devices. Just like you request an OpenGL ES 3 context on the Pi you won't get one and therefore cannot progress. The presence of a library doesn't imply that It can be used without a proper environment. – kwasmich Oct 24 '16 at 14:06
  • 1
    I think the issue is that ambiguities in the statement "OpenMAX which is an interface to [the VideoCore IV]" might be taken to imply it is a library specific to that hardware, which it isn't. However, there are further limitations to omxplayer (e.g., since it can use the framebuffer, it is probably linux specific, which OpenMAX is not). I doubt there are binaries available for anything but the Pi, and there may be other reasons it cannot be compiled on anything but a Pi. You can always try though: github.com/huceke/omxplayer – goldilocks Oct 24 '16 at 14:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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