I'm working on a project who involve JavaFX and Omxplayer. On Windows, where I develop, my code works.

I set my stage to


On Windows, there is no problem, I can see behind the stage my other window. But on the Raspberry Pi with JavaFXPort (Gluon), I try the same .jar and opacity and Transparent seem to not work.

I don't use the X11, only in framebuffer.

If I start the Omxplayer before (or after) the JavaFX .jar, I can't see it.

JavaFX is in fullscreen mode on framebuffer, but on Windows it's on 800x600 (like I defined for test purposes).

This is the command I use to launch my .jar

/opt/jdk1.8.0_161/bin/java  -Djava.ext.dirs=/root/armv6hf-sdk- corrected/armv6hf-sdk/rt/lib/ext/ -Dcom.sun.javafx.experimental.embedded.3d=true -Dprism.verbose=true -   Dmonocle.screen.fb=/dev/fb0 -Dprism.forceGPU=true -Dprism.order=es2,sw,j2d    -Dsun.java2d.opengl=true -Xms300m -Xmx400m -jar 

And for Omxplayer, it's simple :

omxplayer --win "1920 1080 0 0" /root/movie.mp4 --loop

I already tried with -Dcom.sun.javafx.transparentFramebuffer

Can you help me please ?

1 Answer 1


If you need to run multiple applications, do not use the framebuffer. Or at least, do not use the framebuffer unless you have something multiplexing the applications for you, because the framebuffer itself will not do it.


One purpose of an open tiered GUI software stack is you can choose to start lower down, but then you may run into problems that are solved by higher layers and have to solve them yourself. In this case, that is probably not worthwhile.

On Windows, you do not have this choice, so you cannot run into this problem. So you are developing your code in a multi-client GUI environment, but you are not deploying it in one.

Note that you do not have to use a desktop environment (DE) like PIXEL (the default in Raspbian) or a window manager (WM) in order to benefit from X server's management of multiple clients.


Just plain X is used to run single applications kiosks, etc. There are no menus, no window borders, no taskbars, no nothing except a mouse cursor unless you add them in. If you do not want mouse functionality, it should not be hard to disable that too.

  • Ok, thanks for the info. It's what I guessed, one framebuffer for one view. Anyway, how Omxplayer can be windowed ? It use the framebuffer too and we can play in window mode (set size). Can we do the same in JavaFX or it will be always in Full screen mode ? May 17, 2018 at 12:51
  • You'd probably have to dig into the oxmplayer source to find out. I doubt Java has any library for this, you could search around ("java linux framebuffer" turns up a few things, I don't know if any of them are appropriate to your needs). But I really don't see what advantage you gain from using the framebuffer; you'd be much better off using X.
    – goldilocks
    May 18, 2018 at 11:38
  • Yes, it use gst-omx to play videos :) May 29, 2018 at 6:42

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.