On 3/17/15, 8:04 AM, Erik De Rijcke wrote:
Why are there limitations on the "embedded" port of javafx to begin with?
Are there technical reasons for it?
Quite a few actually....
The "embedded" platforms have quite a few "features" that make them difficult.
(and I have the bruises to prove it :-)
To start with, an "embedded" application is usually a single purpose instead of
a general purpose computing device. Think a kiosk for example. When I say general purpose
devices - I mean classic desktops and now the mobile platforms, where the expectation is
that the machine will be used for a number of application.
Several of you will say that I am wrong, that a Raspberry Pi for example behaves just
like a pokey "desktop" machine. This is a case where the lines have blurred and
will continue to get more blurry. The Pi was one of a new generation of ARM platforms
that have a community around them - a place where you can both buy a cheap board and get
an OS and drivers without an NDA. So just as you can make a kiosk using a desktop
machine, you can also use the PI with XMBC as a media center.
As part of the "embedded" FX team, our design center was less the Pi running
with X11, but rather a direct to framebuffer (without the overhead and limitations of
X11). And the Pi was an after thought for us, a way to help out the community. We were
targeting a more modern platforms liek the i.MX6.
The problem with the direct to framebuffer, and to some extent with the rest of
the ARM platforms - the platforms are really fractured and it is hard to build
a working distro. I personally spend many a frustrating day trying to get some
ARM platform to do something we take for granted on the desktop. Starting
with.... OpenGLES drivers, especially ones that would talk to the framebuffer
(and not X11). The Pi is one of the few examples out there of a port that has
an easy download that contains most of the needed drivers already integrated
(and documented). I spent almost a week fighting the Beagle Bone Black before
getting up. Oh yes - and add on top of this all that GL initialization direct
to framebuffer is non-standard API, so we ended up with 3 code paths for the
platforms we were able to build.
So in summary it is easy to download a Linux distro. The hardpart is right
after you do that, and you want the proprietary hardware accelerated drivers.
There are very few platforms that make this easy.
And the Pi (version 1) is really too slow. The i.MX6 has enough power for a
real application. The ODROID U3 and XU are also pretty spiffy, but I could not
get direct to framebuffer working for either of those. If you want to use X11 -
OpenJFX will probably work for you, and it might even have graphical
acceleration if the drivers are present and integrated.
Our Embedded team had ARM media as the next big thing to do, but ...
So now we have all of the gstreamer code in the OpenJFX repo. I really expect
that media on the Pi (1) will probably not work well due to the speed of the
CPU and the memory bus. Maybe the Pi 2.....
Again, you really need the right drivers in place to take advantage of hardware
accelerated decoding of the media stream.
With the right gstreamer libraries and drivers, I expect the media port would
not take that long for someone that understands gstreamer.
There might need to be some changes in Monocle to take the video stream hand
off.
I really would not expect that media would work without some debugging, and
that after getting the build issues worked out.
If you think about it, "It's arm, so it's embedded. It's x86 so it's
desktop" doesn't make much sense... (atom is embedded, and there are arm
windows netbooks that are not).
Anyway, as a workaround, can't openjfx simply be compiled on an arm host
(so no cross compilation is required) and as such generate the missing
libraries? Qemu with an arm vm can be used to do that on an x86 host for
example.
On Tue, Mar 17, 2015 at 12:50 PM, Fabrizio Giudici<
fabrizio.giud...@tidalwave.it> wrote:
On Tue, 17 Mar 2015 01:21:29 +0100, Felix Bembrick<
felix.bembr...@gmail.com> wrote:
I really admire guys like this and wish that my own personal circumstances
enabled me to get involved in a similar way but my main concern is that
the
"community" required to make JavaFX truly viable on iOS, Android and ARM
needs to be about 50-100 times bigger than it currently is. Without an
It's my concern too. At this point we're at 20 years of Java, and I lived
them from the very beginning. The idea "the community will fix it" is a
déjà vu that, unfortunately, says that in the past the thing didn't work
many times.
This doesn't mean I'm necessarily in a fatalistic mood. When my RPI2
arrives, I'll try the option you and others suggested.
--
Fabrizio Giudici - Java Architect @ Tidalwave s.a.s.
"We make Java work. Everywhere."
http://tidalwave.it/fabrizio/blog - fabrizio.giud...@tidalwave.it
--
David Hill<david.h...@oracle.com>
Java Embedded Development
"A man's feet should be planted in his country, but his eyes should survey the
world."
-- George Santayana (1863 - 1952)