RPI2 optimized version?


I’m just curious how Volumio supports RPI2.
I’ve downloaded and try it, it’s working.
But in all other distros (osmc, openelec, …) there are two distinct versions: one for the rpi and another one for the rpi2.
For what I understand, the rpi2 packages are compiled with the “armhf” flag, instead of “arm”.
the “arm” ones are compatible with the armv7, but won’t use hardware floating point.

So if I want to extend volumio, and install some other packages, it will use armhf packages?
And the kernel is not optimized for rpi2, right?

I’m not a linux guru, so my apoplogies if I said something wrong ^^


No problem, everyone has been a newbie!

Actually, ARMHF is as you said the Hardware Floating Point Support. But is a different thing than armv6 or v7.

So, rpi 2 is a processor capable of running armv7 code instructions, while the pi1 can do only armv6. This means that if you build armv7 compiled code it will run only on the pi2, while if you build armv6 it will run on both, cause armv7 is back compatible.
So why building armv7 packages? Because this is slightly faster, as it has some further optimizations. Especially for video playback or hardware intensive tasks.
That’s why openelec may have a bigger advantage on delivering a armv7 version, since it will run better for the task that it needs to accomplish.
With Volumio, the difference is almost unnoticeable, so I prefer to have a wider compatibility with a single image than having more optimized code for a very little performance boost.
Hope I explained it in a clear way, if you are curious to know more, let me know

Thanks for this great reply!

I try to get a multipurpose rpi2, with both MPD and HifiDigi+ for audio, and xbmc/kodi for video.
So I guess I’ll have to use osmc/openelec to have armhf support and better video optimizations.