• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. OpenJFX
  4. Monocle

Monocle

  • Created by Daniel Blaukopf, last modified on Jan 08, 2014

Overview

Monocle is an experimental implementation of the Glass windowing component of JavaFX. It's targeted at simple embedded systems that do not have an underlying window system. It is an ongoing effort.

Description of Monocle components

This is hard to read in the web interface, so you'll want to download the PDF if you are interested in Monocle's inner workings.

How to build Monocle

If you build OpenJFX for embedded Linux/ARM platforms from the 8u-dev repository then you get a functioning Monocle as well. You can also build it for Linux/x86 using the x86egl compile target (build with -PCOMPILE_TARGETS=x86egl on a system with GLESv2 and EGL development libraries installed). This builds the embedded stack for the Linux desktop; it is not the same as the GTK implementation of Glass. You cannot currently build any of the graphical implementations of Monocle for desktop windowing systems.

How to run Monocle

Since Monocle is an experimental implementation of Glass, it is not the default on any platform. To select it you run Java with the system property -Djavafx.platform=monocle on embedded platforms. This selects the Monocle implementation of Glass and sets other JavaFX options to match the embedded stack.

You can also select one of the specific back-ends of Monocle with the system property monocle.platform. Not all Monocle back-ends work with all Prism back-ends, so you might need to set prism.order as well.

monocle.platformprism.order optionsHardware on which this might work
OMAPes2 (default) or swBeagleBoard xM. Note that the es2 pipeline requires PowerVR graphics drivers, which are only available on soft float configurations of Linux on the BeagleBoard
OMAPX11es2BeagleBoard (might require additional Prism changes)
X11es2BeagleBoard (might require additional Prism changes); Linux/x86 desktop
LinuxswAny Linux system
HeadlessswAny system

If you are running the desktop build of JavaFX then your only monocle options is Headless. Desktop JavaFX does not support the javafx.platform system property, but you can select Monocle with:
-Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw

Status

What's working:

  • Mouse input and accelerated rendering on X11
  • Accelerated rendering on Freescale i.MX6 and BeagleBoard xM
  • Mouse input with Linux device nodes
  • Software rendering to /dev/fb0
  • Cursors on OMAP3
  • Much of HelloSanity is working on BeagleBoard xM

What's not working:

  • Window ordering (which is essential for Popups and Virtual Keyboard)
  • Window location in software rendering

What's not done yet:

  • Touch, key input
  • Freescale i.MX6 Cursor
  • Dispman port
  • Android port
  • DirectFB port
  • Nested event loops
  • Drag and drop
  • Window input grabbing
  • Robot input and capture
  • Unification with Prism's platform recognition

See also the JIRA query for open issues on Monocle

 

 

Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 185, "requestCorrelationId": "1c557ef8538f6d36"}