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

    Loading...
  1. Dashboard
  2. Wakefield
  3. OpenJDK Project Wakefield - Wayland desktop support for JDK on Linux
  4. Pure Wayland toolkit prototype

Page History

Versions Compared

Old Version 1

changes.mady.by.user Alexey Ushakov

Saved on Jan 13, 2022

compared with

New Version 2

changes.mady.by.user Alexey Ushakov

Saved on Feb 04, 2022

  • Next Change: Difference between versions 2 and 3
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

XWayland server provides limited capabilities for X11 desktop applications (see X11 Application Support  and JDK-8269245). In order to get full support of the desktop features we need to implement a pure wayland client toolkit for java. Wayland architecture in many ways differs from X11, so we cannot reuse XAWT even for basic capabilities. The new toolkit should be implemented from scratch. Here are some major chunks of work:


  • Event handling

    • Dispatch native events on EDT, to avoid potential race conditions when the state is updated both from EDT and toolkit thread. See the full proposal here  

  • Graphics devices support

    • Onscreen/offscreen Wayland surface management

    • Adopt OGL pipeline for rendering on Wayland surfaces

    • Implement a new rendering pipeline based on Vulkan (for better performance)

  • java.awt.Robot

    • Sending input events

    • Reading screen data (at least current java application windows)

  • Client-side decorations for windows

    • Swing internal frames rendering code can be reused


Prototype implementation of pure Wayland toolkit  can be found in Wakefield repository (pure_wl_toolkit branch). It uses software rendering loops to draw geometry primitives on Wayland surfaces. Text rendering is not yet supported (JDK-8281285)


Overview
Content Tools
ThemeBuilder

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": 206, "requestCorrelationId": "1cf0ddf79ad0e961"}