2

omxplayer is supposed to be a nice player that can play movies on Raspberry PI. I'd like to test it on debian virtual machine first, that would be also more suitable environment for remote control development as I don't have my HDMI screen in a very suitable location.

Can I run omxplayer on 64bit debian? What should I do to do so? Do I have to build something (please no!)?

3
+50

Short answer: It does not appear possible to do what you're asking for, even with hand compilation.

 

Long answer

Since there is no pre-made package for amd64 or i386, you'll have to either install from source or find some emulator capable of running binaries made for an architecture it is compiled for.

Theoretically, this is as easy as following the directions on the github site for OMXplayer:

git clone https://github.com/popcornmix/omxplayer.git
cd omxplayer
make ffmpeg

Oops, that hits an error due to the assumed cross-compilation for an ARM chipset. I tweaked the Makefile to omit the arm-linux-gnueabihf inclusion as well as the vchiq_arm library and it was then able to see that I already had ffmpeg installed (so this phase is done). If this were the only hurdle, you could just skip this step rather than altering the Makefile.

make

Here you get a fatal error:

Makefile:46: recipe for target 'linux/XMemUtils.o' failed
make: /home/dc4/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian//bin/arm-linux-gnueabihf-g++: Command not found
make: *** [linux/XMemUtils.o] Error 127

/home/dc4 is a hard-coded path. I haven't dug in to see if that's part of some jail it builds for cross-compilation, but the cross-compilation is extremely integral to the design of this code base and it looks like it'd be a major effort to port it to another architecture like amd64 or i386.

There's a similar question on raspberrypi.SE (asked by this question's bounty provider?!) whose accepted answer agrees with my conclusion that this is not possible and additionally states:

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.

 

Other options

  • Consider something like mpv instead. This player works very well on amd64 and i386. See also this thread on mpv for Raspberry Pi, which implies it's available in modern package managers.
  • You mentioned not having an "HDMI screen in a very suitable location" but HDMI and DVI only differ by the physical pins. A HDMI to DVI converter costs about $6, which might allow for easier experimentation on your Raspberry Pi at your desk.
  • I don't know OpenMAX at all, but I'd take impossibility to use it on a desktop with a grain of salt, because I see it among gallium state-trackers, thus is should work at least on gallium drivers (e.g. r300, r600, radeonsi, nouveau). – Hi-Angel Aug 14 '17 at 22:32
  • Thanks - I had forgotten about my related question at the other forum. I came back to it, and then found this one, and so I put some hope into it :) – 0__ Aug 15 '17 at 2:40
  • Hi-Angel – Nothing is impossible just as nothing is infinite; it's all relative. Consider an ant running a 26.2mi marathon; not infinite, perhaps possible, but effectively both infinite and impossible. All I'm really saying here is that it's a massive pile of work and mpv is probably a very satisfactory substitute, though the adapter may work around the issue altogether (… for Tomáš; perhaps not for 0__). – Adam Katz Aug 15 '17 at 15:01

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.