@Dave: We would love to collaborate and work towards solving this problem. With guidance from your team I can extend help. Please suggest me next steps!
On Wed, Jul 16, 2014 at 12:02 PM, Prasant J <pj0...@gmail.com> wrote: > On Tue, Jul 15, 2014 at 8:37 PM, David Hill <david.h...@oracle.com> wrote: >> On 7/15/14, 10:28 AM, Anthony Petrov wrote: >>> >>> Hi Prasant, >>> >>> JavaFX supports multi-screen configurations on all the desktop platforms >>> (Windows, Mac, and Linux). > > @Anthony: > Windows multiscreen support is via D3D pipeline... I have checked that. > Linux (x86) multiscreen support via "sw" (software) rendering works > I was not able to setup opengl on windows or linux, so I could not verify > that. > > >>> >>> David, or Daniel, or Lisa (all cc'ed) could clarify whether this is >>> supported on embedded platforms currently. >> >> This is not something we have targeted yet for ARM devices. >> >> There are several reasons for this, none of which is a "stopper". >> * we do not have a device in house that supports multiple screens (ie 2 >> HDMI ports), though I may be wrong on this because I do have a device with >> an LCD touch and an HDMI port, so I might be able to configure both to work. > > @Dave: My device uses one HDMI and one LVDS port. > >> * we have not been asked to spend the time support this >> * because of our focus on direct to framebuffer, we need vendor specific >> API is pick which screen we are referencing. I have seen this capability >> documented for the i.MX6, but have not seen how to do it on on other >> platforms. >> > > @Anthony & @Dave: > I am 100% sure that multi screen support is not added to ARM linux > platforms (direct framebuffer). > I'm an embedded linux expert but this is my maiden foray into high > level library like openjfx and I'm clearly not an expert at that. > > But I have a few pointers to substantiate my point: > > - In file: modules/graphics/src/main/native-glass/lens/wm/screen/fbdevScreen.c > the framebuffer is hard coded to /dev/fb0. > If a system has multiple screens, then why is the framebuffer handle > (/dev/fbn) not populated dynamically? > > - in file: modules/graphics/src/main/native-glass/lens/LensScreen.c in > function createJavaSCreens() the screen count is hard coded to "1" and > the comment clearly says that "we know that is all we currently > support". > > Could you please confirm if my understanding is correct and that > currently only 1 screen is supported. > > > @Dave: > On iMX6 platform: vivante opengl libraries (framebuffer build) lets > the openjfx query a display using screen index, but it does not return > the exact framebuffer (/dev/fbn) to which that index points to. > So my understanding is that: openjfx using linux framebuffer handle > (/dev/fbn) to query the screen information and uses opengl screen > index to display the data. As there is no way for openjfx to know > which screen index of opengl refers to which framebuffer, so the > screen is limited to only 1. > Can you please confirm my understanding, (if you are handling these > portions of openjfx development)? > > >> Certainly adding support for multiple screens should not be hard, if I am >> right, it would mean extending code in two to three places. (discovery in >> MonocleScreen, and then using the screen in the creation of the EGL context >> in prism). >> >> Can you share which device you were thinking of using this with ? > > I'm using Freescale's iMX6 Cortex A9 processor. > >> Would you be interested in helping with this? > > I will need to check my company policies and manager's permission. > Before that, I would like to know what kind of help are you looking > at? > > > We are attempting to add multiple screen support but we are no experts > and without reference code we are not able to make surgical changes > for our configuration. > > With surgical changes I was able to add multi-screen query to > (native-glass/lens/wm/screen) code (although I cannot test it > completely yet) and like the already existing hard coded /dev/fb0, I > have also hard coded it to the other framebuffer that I intend to use. > Now Java reports two screens. > But it displays only on one screen. This is because native-prism-es2 > (eglfb) does not have handles to individual screens. It always gets > the handle from prisms native code > (module/graphics/src/main/native-glass/lens/lensport/wrapped_functions.c) > from fucntion util_getNativeDisplayType() which in the case of vivante > always gets screen index 0 { wr_fbGetDisplayByIndex(0) hard coded} > > We are stuck at that point. > > > Awaiting for your inputs! > >> >> Dave >> >> >> >>> >>> -- >>> best regards, >>> Anthony >>> >>> On 7/15/2014 4:28 PM, Prasant J wrote: >>>> >>>> Hi, >>>> >>>> I'm using javafx (build 1.8.0-b132) using opengl-es2 pipeline. >>>> >>>> >>>> I have found out on my ARM linux board (when using opengl-es2 using >>>> eglfb pipeline) only one screen is supported. >>>> >>>> >>>> I would like to know whether multiple displays is supported at all (on >>>> any platform: windows/mac/linux) when opengl-es2 pipeline is used? >>>> >>>> >>>> Any inputs will be of help. >>>> >>>> -Pj >>>> >> >> >> -- >> 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) >>