Выпуск композитного сервера Hyprland 0.50

Доступен композитный сервер Hyprland 0.50, использующий протокол Wayland. Проект ориентирован на мозаичную (tiling) компоновку окон, но поддерживает и классическое произвольное размещение окон, группировку окон в форме вкладок, псевдомозаичный режим и полноэкранное раскрытие окон. Код написан на языке С++ и распространяется под лицензией BSD.

Предоставляются возможности для создания визуально привлекательных интерфейсов: градиенты в обрамлении окон, размытие фона, анимационные эффекты и тени. Для расширения функциональности могут подключаться плагины, а для внешнего управления работой предоставляется IPC на базе сокетов. Настройка осуществляется через файл конфигурации, изменения в котором подхватываются на лету без перезапуска. Из функций также выделяются: динамически создаваемые виртуальные рабочие столы; режимы компоновки элементов на экране; глобальная обработка горячих клавиш; управление жестами на тачпаде/сенсорном экране.

В новой версии:

  • Добавлена экспериментальная опция “render:new_render_scheduling”, обеспечивающая динамическое включение тройной буферизации при нехватке ресурсов при выводе. При тройной буферизации используется три экранных буфера – в первый осуществляется отрисовка, из второго производится вывод на экран, а третий используется для продолжения непрерывного процесса отрисовки, если первый буфер был заполнен до завершения вертикальной развёртки. Новый режим позволяет заметно повысить частоту кадров на маломощных устройствах, ценой увеличения задержки вывода.
  • Добавлено новое правило управления окнами “noscreenshare”, позволяющее запретить показ содержимого выбранного окна при предоставлении совместного доступа к экрану (при трансляции вывода вместо окна будет чёрный прямоугольник).
  • Введён в строй собственный тестовый инструментарий, запускающий набор тестов при каждом коммите для выявления возможных регрессий.
  • Предложен упрощённый синтаксис настройки параметров монитора (monitorv2).
  • Добавлена поддержка Wayland-расширения ext-workspace, реализующего события с информацией о состоянии виртуальных рабочих столов, а также возможности для активации и деактивации рабочих столов.
  • Добавлена опция “cm_auto_hdr” для автоматического использования HDR.
  • Реализованы новые правила для управления доступом к клавиатуре.
  • Прекращена поддержка старых API отрисовки, для работы теперь требуется как минимум OpenGL ES 3.0.
  • Убраны настройки для отключения механизма “explicit sync”, дающего возможность снизить задержки и избавиться от появления артефактов.




Release. Ссылка here.