Компания JetBrains объявила о поддержке Wayland в IDE IntelliJ и OpenJDK

Компания JetBrains объявила о реализации поддержки протокола Wayland в платформе IntelliJ и построенных на её основе интегрированных средах разработки. Предложенные изменения имеют значение для всех разработчиков графических приложений на языке Java, так как охватывают и добавление поддержки Wayland в OpenJDK. После включения подготовленных изменений в один из будущих релизов OpenJDK, Java-программы смогут напрямую запускаться в окружениях на основе Wayland без задействования прослойки XWayland. Для тестирования уже доступен JetBrainsRuntime 21, форк OpenJDK 21 со встроенной поддержкой Wayland, используемый в продуктах JetBrains.

Работа по добавлению в OpenJDK поддержки Wayland ведётся в рамках проекта Wakefield совместно с инженерами из компании Oracle и под крылом сообщества OpenJDK. На текущем этапе развития развиваемый инструментарий поддерживает программную отрисовку, минимальное декорирование окон, изменение размера, раскрытие, сворачивание и перемещение окон, раскрытие на весь экран, всплывающие окна (используются в меню), раздельные уровни масштабирвоания для каждого монитора, работу на экранах HiDPI, навигацию при помощи мыши и клавиатурный ввод.

Проект пока не вышел из стадии разработки, но отмечается, что реализованной функциональности достаточно для выполнения в окружении на базе Wayland некоторых Java-приложений, использующих фреймворки Swing и AWT (Abstract Window Toolkit). Производительность имеющейся программной отрисовки при использовании Wayland сопоставима с производительностью при запуске X11-версии IntelliJ. Из приоритетных задач, которые планируют реализовать в следующие несколько месяцев, названы: аппаратно ускоренная отрисовка с поддержкой графического API Vulkan, поддержка методов ввода, буфера обмена и манипуляций в режиме drag&drop, возможность вывода экранной заставки, средства для навигации между окнами с использованием клавиатурных комбинаций.

Среди достоинств полноценной поддержки Wayland в IDE IntelliJ упоминается: решение давних проблем с XWayland, связанных с размытием текста при включении дробного масштабирования; избавление от проблем с безопасностью, свойственных X11 (например, протокол X11 предоставляет доступ ко всем событиям ввода и осуществить подстановку фиктивных нажатий клавиш); полноценная интеграция с окружением WSL (Windows Subsystem for Linux), использующим Wayland; возможность добиться более высокой производительности отрисовки и отзывчивости интерфейса.

Release. Ссылка here.