Состоялся выпуск музыкального проигрывателя Fooyin 0.8, нацеленного на предоставление широких возможностей по настройке и адаптации программы под свои предпочтения. В Fooyin предложен набор виджетов с реализацией различных режимов управления музыкальной коллекцией и воспроизведения музыки. Дополнительные возможности могут подключаться в форме плагинов. Для настройки интерфейса предлагается конфигуратор раскладки элементов на экране. Проект написан на языке С++ с использованием библиотеки Qt и распространяется под лицензией GPLv3. Готовые пакеты сформированы для Fedora, Debian и Ubuntu, а также в формате flatpak.
Поддерживается воспроизведение файлов в формате FLAC, MP3, MP4, Vorbis, Opus, WavPack, WAV, AIFF, Musepack, Monkey's Audio, VGM и различных трековых форматов. Среди возможностей Fooyin: извлечение сведений о порядке и длительности звуковых треков из CUE-файлов, воспроизведение без пауз (gapless), создание, импорт и экспорт списков воспроизведения в форматах M3U/M3U8, фильтрация содержимого музыкальной библиотеки по любым полям, древовидное представление коллекции, редактирование тегов, визуализации при помощи спектрограмм, навигация на уровне каталогов в файловой системе с возможностью прямого воспроизведения выбранных файлов. Для внешнего управления проигрывателем может использоваться D-Bus-интерфейс MPRIS (Media Player Remote Interfacing Specification).
В новой версии:
- Расширены возможности для нормализации громкости (ReplayGain). Для расчёта параметров нормализации может использоваться библиотека libebur128 или FFmpeg.
- В скрипты FooScript добавлен синтаксис запросов, который можно использовать для фильтрации и поиска содержимого. В следующей версии данная возможность будет использована при реализации умных списков воспроизведения.
- Добавлены новые плагины визуализации звуковой волны "peak" и "VU".
- Добавлена начальная поддержка загрузки и воспроизведения контента в формате DSF/DSDIFF.
- Реализована поддержка показа обложек альбомов при работе с коллекцией в древовидном режиме.
- Во встроенный виджет поиска добавлены новые режимы поиска. Реализована отдельная страница с настройками поиска.
Состоялся выпуск музыкального проигрывателя Fooyin 0.8, нацеленного на предоставление широких возможностей по настройке и адаптации программы под свои предпочтения. В Fooyin предложен набор виджетов с реализацией различных режимов управления музыкальной коллекцией и воспроизведения музыки. Дополнительные возможности могут подключаться в форме плагинов. Для настройки интерфейса предлагается конфигуратор раскладки элементов на экране. Проект написан на языке...
Студия Cellar Door Games объявила о публикации исходного кода игры Rogue Legacy, построенной в жанре двухмерного платформера с элементами roguelike и фэнтези. Игра выпускалась для платформ Windows, macOS, Linux, PlayStation 3/4/Vita и Nintendo Switch. Код написан на языке C# и распространяется под специфичной лицензией, допускающей компиляцию и создание модификаций для персонального использования, но требующей получения разрешения при намерении распространять свою сборку игры.
Опубликован только код без игровых ресурсов, которые можно перенести из своей копии игры. Предложенный код рассчитан на применение пакета FNA с открытой реализацией библиотек Microsoft XNA Game Studio 4.0 Refresh. При этом отдельно отмечается, что ведётся работа по портированию игры на библиотеку SDL 3.
Студия Cellar Door Games объявила о публикации исходного кода игры Rogue Legacy, построенной в жанре двухмерного платформера с элементами roguelike и фэнтези. Игра выпускалась для платформ Windows, macOS, Linux, PlayStation 3/4/Vita и Nintendo Switch. Код написан на языке C# и распространяется под
Компании Intel и AMD объявилио создании консультативной группы по развитию инноваций в экосистеме x86, в число участников которой вошли Линус Торвальдс, создатель ядра Linux, и Тим Суини, основатель компании Epic Games и один из ключевых разработчиков игрового движка Unreal Engine. В группу также приняты представители компаний Broadcom, Dell, Google, Hewlett Packard, Lenovo, Meta, Microsoft, Oracle и Red Hat.
Ключевой задачею инициативы названа совместная работа над обеспечением совместимости между платформами, упрощением разработки программного обеспечения для систем x86 и выявлением потребностей разработчиков в расширении архитектуры. Целью является поддержание развития архитектуры x86 как вычислительной платформы, востребованной как разработчиками, так и потребителями.
Ожидается, что группа поможет объединить лидеров индустрии и учесть интересы как производителей оборудования, так и сообществ разработчиков ПО, для формирования будущего архитектуры и предоставления разработчикам более унифицированного набора инструкций и архитектурных интерфейсов. В область интересов группы попадают различные области применения, включая решения для центров обработки данных, клиентских систем, облачных сервисов, встраиваемых устройств, машинного обучения и 3D-графики.
Ожидается, что в итоге удастся улучшить совместимость между программным и аппаратным обеспечением, упростить руководства по архитектуре и стандартизировать интерфейсы продуктов Intel и AMD, а также обеспечить более эффективную интеграцию новых аппаратных возможностей в операционные системы, фреймворки и приложения.
Компании Intel и AMD объявилио создании консультативной группы по развитию инноваций в экосистеме x86, в число участников которой вошли Линус Торвальдс, создатель ядра Linux, и Тим Суини, основатель компании Epic Games и один из ключевых разработчиков игрового движка Unreal Engine. В группу также приняты представители компаний Broadcom, Dell, Google, Hewlett Packard, Lenovo, Meta, Microsoft, Oracle и Red Hat.
Компания Amazon объявила о реализации поддержки платформы Linux в инструментарии Finch, ранее доступном только для платформ Windows и macOS, и изначально развивавшемся для упрощения работы с Linux-контейнерами на хост-системах не на основе ядра Linux. Finch позволяет собирать, публиковать и запускать Linux-контейнеры в формате OCI (Open Container Initiative). Код Finch написан на языке Go и распространяется под лицензией Apache 2.0.
Интерфейс командной строки в Finch реализован с использованием наработок проекта nerdctl, предоставляющего совместимый с Docker набор команд для сборки, запуска, публикации и загрузки контейнеров (build, run, push, pull и т.п.), расширенного дополнительными возможностями, такими как режим работы без root, шифрование образов, распространение образов в режиме P2P при помощи IPFS и заверение образов цифровой подписью. В качестве runtime для управления контейнерами применяется containerd. Для сборки образов в формате OCI задействован инструментарий BuildKit.
В версиях для Windows и macOS для запуска виртуальных машин с Linux, настройки совместного доступа к файлам и перенапрпвления сетевых портов в Finch применяется отдельная прослойка Lima, позволяющая использовать технологии виртуализации VF (Virtualization Framework) в macOS и WSL2 в Windows для реализации используемых в Linux примитивов изоляции. В версии Finch для Linux вместо Lima осуществляется прямое обращение к штатным возможностям ядра, таким как пространства имён и cgroup.
Finch связывает nerdctl, containerd и BuildKit в одно целое и позволяет сразу приступить к работе, без необходимости разбираться и настраивать все эти компоненты по отдельности. Для работы предлагается собственная утилита finch, которая скрывает за унифицированным интерфейсом детали работы с каждым входящим в состав компонентом. Для начала работы достаточно установить один пакет, который включает всё что необходимо, после чего можно сразу создавать и запускать контейнеры.
В версии для Linux доступны все возможности, ранее предоставляемые для macOS и Windows, среди которых сборка образов контейнеров на основе Dockerfiles, запуск контейнеров на локальной системе, помещение и извлечение образов контейнеров из реестров, управление сетями и дисковыми разделами, использование команды "finch compose" для формирования многоконтейнерых приложений.
В процессе разработки Finch компанией Amazon также подготовлено несколько расширений к nerdctl, которые уже приняты в основной состав данного проекта. В частности, в nerdctl добавлены компоненты для заверения образов цифровой подписью и реализация возможности создания и запуска образов, используя технологию SOCI (Seekable OCI), изначально созданную для AWS и позволяющую заметно ускорить загрузку образов контейнеров (SOCI позволяет начать запуск не дожидаясь окончания полной загрузки образа и подгружать необходимые для работы части по мере необходимости).
Компания Amazon объявила о реализации поддержки платформы Linux в инструментарии Finch, ранее доступном только для платформ Windows и macOS, и изначально развивавшемся для упрощения работы с Linux-контейнерами на хост-системах не на основе ядра Linux. Finch позволяет собирать, публиковать и запускать Linux-контейнеры в формате OCI (Open Container Initiative). Код Finch написан на языке Go и
- В дополнениях для гостевых систем с Linux добавлена начальная поддержка ядра 6.12, релиз которого ожидается в конце ноября. Из-за перехода гипервизора KVM к инициализации сразу после загрузки модуля ядра для запуска виртуальных машин в VirtualBox необходимо выставить параметр в командной строке ядра "kvm.enable_virt_at_load=0" или выгрузить модуль ядра kvm_*.
- Предоставлена возможность автоматического обновления дополнений для гостевых систем с Linux для ARM через меню Devices.
- В драйвере VMSVGA устранены проблемы с мерцанием, появлением чёрного экрана и нарушениями обновления информации на экране, проявляющиеся на системах с ядром Linux 6.4 и новее.
- В трансляторе адресов решена проблема с восстановлением состояния окружений, созданных в VirtualBox 7.0.X.
- В VBoxManage налажена работа команд "list vms" и "showvminfo" для недоступных виртуальных машин.
- В дополнениях для хостов c Windows решены проблемы с проверкой размера системных DLL при использовании Windows 11 24H2 и сборок Insider Preview.
- Для систем с EFI добавлен недостающий драйвер для LsiLogic MPT SCSI, решающий проблемы с загрузкой устройств, прикреплённых к хранилищам на основе данного контроллера.
- В EFI восстановлена поддержка сетевой загрузки.
Помимо данных изменений в новой версии устранено 5 уязвимостей с максимальным уровнем опасности 7.5. Подробности об уязвимостях не раскрываются. В ветке VirtualBox 7.0.x уязвимости устранены в выпуске 7.0.22.
- В дополнениях для гостевых систем с Linux добавлена начальная поддержка ядра 6.12, релиз которого ожидается в конце ноября. Из-за перехода гипервизора KVM к инициализации сразу после загрузки модуля ядра для запуска виртуальных машин в VirtualBox необходимо выставить параметр в командной строке ядра "kvm.enable_virt_at_load=0" или выгрузить модуль ядра kvm_*.
Разработчики OpenSSH продолжили разделение sshd на несколько отдельных исполняемых файлов. На реализованном в мае первом этапе разделения из sshd в отдельный процесс sshd-session были вынесены функции, связанные с обработкой сеансов, а в sshd оставлена лишь функциональность, необходимая для приёма нового сетевого соединения и запуска sshd-session для каждого нового сеанса. Вчера в кодовую базу OpenSSH было внесено изменение, добавляющее ещё один процесс - sshd-auth, в который из sshd-session перенесён код, выполняющий аутентификацию.
Процесс sshd-auth запускается из sshd-session и позволяет дополнительно изолировать связанные с аутентификацией данные в адресном пространстве отдельного процесса, что не даст получить доступ к этим данным в памяти в случае проведения атак на код, используемый для обработки стадий соединения до завершения аутентификации. Кроме того, изменение немного снизит потребление памяти, так как связанный с аутентификацией код теперь присутствует в памяти только в момент проведения аутентификации, а затем выгружается при завершении процесса sshd-auth.
По аналогии с sshd, ssh-session и ssh-agent для процесса sshd-auth применена операция случайной перекомпоновки исполняемого файла во время каждой загрузки операционной системы. Случайная перекомпоновка делает плохо предсказуемым смещения функций в исполняемых файлах и библиотеках, что затрудняет создание эксплоитов, использующих методы возвратно-ориентированного программирования (ROP - Return-Oriented Programming). При использовании техники ROP атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися кусками машинных инструкций, завершающихся инструкцией возврата управления (как правило, это окончания функций). Работа эксплоита сводится к построению цепочки вызовов подобных блоков ("гаджетов") для получения нужной функциональности.
Разработчики OpenSSH продолжили разделение sshd на несколько отдельных исполняемых файлов. На реализованном в мае первом этапе разделения из sshd в отдельный процесс sshd-session были вынесены функции, связанные с обработкой сеансов, а в sshd оставлена лишь функциональность, необходимая для приёма нового сетевого соединения и запуска sshd-session для каждого нового сеанса. Вчера в кодовую базу OpenSSH было внесено изменение, добавляющее...
Доступен выпуск программы Sevimon 0.2 для отслеживания изменения эмоций с использованием видеокамеры, которая может использоваться для контроля нервного перенапряжения, осознанного управления настроением и, при длительном применении, предотвращения появления мимических морщин. При первом запуске программа скачивает нейросетевые модели и в дальнейшем работает без доступа к сети. Для определения позиции лица на видео задействована библиотека CenterFace. Код sevimon написан на Python и распространяется под лицензией AGPLv3.
Основные изменения:
- Добавлена настройка для вывода звукового предупреждения.
- Добавлена настройка задержки предупреждения.
- Появилась возможность выбора основного лица для анализа.
- Несовместимые изменения в формате файла с настройками.
- Внесены исправления для работы в macOS.
- Уменьшен размер образа Docker, а также файлов для Windows.
Для пользователей Windows 10+ подготовлен архив с бинарной сборкой. Поскольку для сборки используется компилятор Nuitka, некоторые антивирусы выдают предупреждение. Для пользователей Linux подготовлен образ Docker с программой, всеми её зависимостями и моделями, который запускается без доступа к сети.
Доступен выпуск программы Sevimon 0.2 для отслеживания изменения эмоций с использованием видеокамеры, которая может использоваться для контроля нервного перенапряжения, осознанного управления настроением и, при длительном применении, предотвращения появления мимических морщин. При первом запуске программа скачивает нейросетевые модели и в дальнейшем работает без доступа к сети. Для определения позиции лица на видео задействована библиотека
Опубликован релиз Linux-дистрибутива Solus 4.6, не основанного на пакетах других дистрибутивов и развивающего собственный установщик, пакетный менеджер и конфигуратор. Ранее в составе дистрибутива развивался рабочий стол Budgie, но теперь он выделен в независимый проект. Следующую ветку Solus 5 решено развивать на технологиях дистрибутива SerpentOS. Код наработок проекта распространяется под лицензией GPLv2, для разработки используются языки Си и Vala. Предоставляются сборки с рабочими столами Budgie, GNOME, KDE Plasma и Xfce. Размер iso-образов 2.6-2.9 ГБ (x86_64).
Для управления пакетами задействован пакетный менеджер eopkg (форк PiSi из Pardus Linux), предоставляющий привычные средства для установки/удаления пакетов, поиска в репозитории и управления репозиториями. Пакеты могут выделяться в тематические компоненты, которые в свою очередь образуют категории и подкатегории. Например, Firefox отнесён к компоненту network.web.browser, входящему в категорию сетевых приложений и подкатегорию приложений для Web. Для установки из репозитория предлагается более 2000 пакетов.
Дистрибутив придерживается гибридной модели разработки, в соответствии с которой периодически выпускаются значительные выпуски, в которых предлагаются новые технологии и значительные улучшения, а в промежутке между значительными выпусками дистрибутив развивается с применением rolling-модели обновления пакетов.
Окружение Budgie базируется на технологиях GNOME и собственной реализации оболочки GNOME Shell (в следующей ветке Budgie 11 планируют отделить функциональность рабочего стола от слоя, обеспечивающего визуализацию и вывод информации). Для управления окнами задействован оконный менеджер Budgie Window Manager (BWM), являющийся расширенной модификацией базового плагина Mutter. Основу Budgie составляет панель, близкая по организации работы к классическим панелям рабочего стола. Все элементы панели являются апплетами, что позволяет гибко настраивать состав, менять размещение и заменять реализации основных элементов панели на свой вкус.
Среди доступных апплетов можно отметить классическое меню приложений, систему переключения задач, область со списком открытых окон, просмотр виртуальных рабочих столов, индикатор управления питанием, апплет управления уровнем громкости, индикатор состояния системы и часы. Для воспроизведения музыки в редакциях с рабочими столами Budgie и GNOME предложен проигрыватель Rhythmbox c расширением Alternate Toolbar, предлагающим интерфейс с компактной панелью, реализованной с применением декорирования окон на стороне клиента (CSD). Для воспроизведения видео в редакциях Budgie и GNOME задействован Celluloid. В редакции с KDE для воспроизведения музыки доступен Elisa, а для видео - Haruna. В редакции с Xfce для воспроизведения мультимедийных файлов использован плеер Parole.
Основные изменения:
- Завершена третья стадия переноса всех исполняемых файлов и библиотек из корневых каталогов в раздел /usr (каталоги /bin, /sbin и /lib* теперь унифицированы с соответствующими каталогами внутри /usr и оформлены через символические ссылки на них). Подобная реструктуризация избавит от путаницы с размещением файлов и приведёт дистрибутив к соответствию требованиям systemd, в котором начиная с выпуска 255 прекращена поддержка раздельных иерархий каталогов. Все пользователи Solus после установки обновлений будут переведены на унифицированный раздел /usr.
- Помимо предлагаемого по умолчанию интерфейса для установки приложений solus-sc (Solus Software Center) предоставлена экспериментальная возможность использования менеджеров приложений GNOME Software и KDE Discover для установки и обновления программ из репозиториев Solus, а также управления пакетами в формате Flatpak, устанавливаемыми из каталога Flathub. GNOME Software можно использовать в редакциях на базе Budgie, GNOME и Xfce, а KDE Discover в редакции на основе KDE Plasma.
- Обновлены системные компоненты и пользовательские программы, например, предложено ядро Linux 6.10.13 (в качестве опции доступны пакеты с LTS-ядром 6.6.54 и дополнительными патчами для AppArmor), Mesa 24.2.3, Firefox 131.0.3, LibreOffice 24.2.5.2, Thunderbird 128.3.1.
- Рабочий стол Budgie обновлён до выпуска 10.9.2. Вместо некоторых ранее поставлявшихся приложений GNOME по умолчанию задействованы аналоги из набора XApps, развиваемого проектом Linux Mint 22. В частности, просмотрщик документов Evince заменён на XReader, просмотрщик изображений Eye of GNOME на XViewer, а менеджер архивов File Roller на Engrampa. https://honk.any-key.press/d/87wVK9DczbCmS2751F.jpg
- Рабочий стол GNOME обновлён до выпуска 46.5, в котором появилась функция глобального поиска, повышена производительность файлового менеджера, добавлена экспериментальная поддержка механизма VRR (Variable Refresh Rate), улучшено качество вывода при дробном масштабировании, расширены возможности подключением к внешним сервисам, обновлён конфигуратор и улучшена система уведомлений. https://honk.any-key.press/d/H9gyk4F2jFxMV4bw2B.jpg
- Сборка на базе KDE Plasma обновлена до выпусков KDE Plasma 6.1.5, KDE Gear 24.08.1, KDE Frameworks 6.6.0, Qt 6.7.3 и sddm 0.21.0. https://honk.any-key.press/d/G62KY3ny52vyccBHDsz3h.jpg
- В сборках с Xfce задействованы компоненты из ветки 4.18, а также пакеты Mousepad 0.6.2, Parole 4.18.1, Ristretto 0.13.2, Thunar 4.18.11 и Whiskermenu 2.8.3. Вместо менеджера архивов File Roller по умолчанию предложен Engrampa от проекта MATE, для просмотра PDF задействован XReader. В состав включён плагин для переключения раскладки клавиатуры. В репозиторий добавлены пакеты xfdashboard, xfce4-battery-plugin и xfce4-clipman-plugin. https://honk.any-key.press/d/35WF41NPV5WMQ134ft.jpg
Опубликован релиз Linux-дистрибутива Solus 4.6, не основанного на пакетах других дистрибутивов и развивающего собственный установщик, пакетный менеджер и конфигуратор. Ранее в составе дистрибутива развивался рабочий стол Budgie, но теперь он выделен в независимый проект. Следующую ветку Solus 5
Доступен корректирующий выпуск Firefox 131.0.3, в котором устранена уязвимость и исправлено несколько проблем:
- Устранена уязвимость (CVE-2024-9936), вызванная неопределённым поведением в реализации кэша DOM-узлов, охватываемых при выделении текста на странице (selection node cache). Уязвимость помечена как опасная и может привести к аварийному завершению при обработке определённого контента.
- Решены проблемы, из-за которых перестал работать сервис Bill Pay на сайтах некоторых банков.
- Исправлена ошибка, приводившая к некорректному отображению в YouTube пространственных видео, снятых в режимах 360 и 180 (VR180) градусов.
- Устранено аварийное завершение при просмотре некоторых сайтов, проявляющееся на системах Windows с установленным антивирусом Avast или AVG.
- Исправлена ошибка, не позволявшая переместить из панели кнопку со списком всех вкладок ("List all tabs").
Доступен корректирующий выпуск Firefox 131.0.3, в котором устранена уязвимость и исправлено несколько проблем:
- Устранена уязвимость (CVE-2024-9936), вызванная неопределённым поведением в реализации кэша DOM-узлов, охватываемых при выделении текста на странице (selection node cache). Уязвимость помечена как опасная и может привести к аварийному завершению при обработке определённого контента.
- Решены проблемы, из-за которых перестал работать сервис Bill Pay на сайтах некоторых банков.
Доступна для тестирования новая редакция порта Firefox для операционной системы Haiku, которая работает относительно стабильно и позволяет даже серфить по некоторым сайтам. При этом сборка не лишена отдельных проблем, например, пока не работает копирование и вставка текста через буфер обмена, некоторые скрипты на JavaScript выполняются очень медленно, всплывающие окна при первом открытии не отображаются правильно (это связано с очередной проблемой на стороне wayland-server) и т.д. Для того чтобы всё заработало потребуется особая сборка пакетов wayland, wayland-server, gtk4, webkitgtk и отдельный пакет mesa-wayland с EGL для последней версии Mesa. https://honk.any-key.press/d/G6149DY2b9jC1CX2bC8KM.png
Кроме того, можно отметить сокращение до 128Mb требований к размеру оперативной памяти для запуска в QEMU 64-битной версии системы с браузером Webpositive, и до 100Mb для 32-битной версии. Также возобновлены работы по использованию в app_server для отрисовки 2D-графики библиотеки Skia, что заодно поможет исправить в app_server множество давних проблем. Одно из главных преимуществ движка Skia в том, что он имеет поддержку рендеринга через GPU, при этом нет необходимости реализовывать интеграцию с видеодрайверами. А еще Skia умеет обрабатывать современную векторную графику, применяемую например в Web, и может отрисовывать текст для языков с начертанием справа налево, таких как арабский язык.
Доступна для тестирования новая редакция порта Firefox для операционной системы Haiku, которая работает относительно стабильно и позволяет даже серфить по некоторым сайтам. При этом сборка не лишена отдельных проблем, например, пока не работает копирование и вставка текста через буфер обмена, некоторые скрипты на JavaScript выполняются очень медленно, всплывающие окна при первом открытии не отображаются правильно (это связано с очередной проблемой...
Компания Google добавила в кодовую базу платформы Android приложение Terminal, позволяющее запустить эмулятор терминала с доступом к полноценному Linux-окружению, выполняемому в виртуальной машине. Функциональность виртуальной машины развивается в рамках проекта Ferrochrome и подразумевает запуск гостевой системы с Debian GNU/Linux 12.
Для виртуализации используется добавленный в Android 13 фреймворк AVF (Android Virtualization Framework), реализованный на базе гипервизора KVM и инструментария crosvm. Похожая конфигурация ранее применялась Google в экспериментах с запуском Chromium OS в Android и в функциональности для запуска Linux в Chrome OS.
В отличие от эксперимента с Chromium OS новое приложение пока ограничивается доступом к Linux-системе в режиме командной строки, несмотря на наличие во фреймворке AVF возможности запуска операционных систем с графическим интерфейсом пользователя.
Для активации приложения Terminal в сборках Android из репозитория AOSP следует включить в секции "Settings > System > Developer" опцию "Linux terminal". После этого в списке приложений появляется программа Terminal, при запуске которой осуществляется запуск виртуальной машины с Debian и подключение к ней при помощи компонента на базе WebView через локальный IP-адрес. Настройка виртуальной машины пока не автоматизирована и требует загрузки системного образ с Debian и создания конфигурации в ручном режиме.
При этом в одном из коммитов упоминается намерение добавить приложение LinuxInstaller для автоматизации загрузки Debian и запуска виртуальной машины. В планах также отмечается добавление в приложение Terminal меню с операциями копирования IP-адреса, остановки виртуальной машины и настройками, позволяющими изменять размер дискового образа, устанавливать перенаправление сетевых портов и использовать функцию "Recovery". Кроме того, упоминается тестирование новой подсистемы на устройствах с кодовыми именами "tangorpro" и "komodo", под которыми подразумеваются планшеты Pixel Tablet и Pixel 9 Pro XL. Про реализацию поддержки запуска графических Linux-приложений пока ничего не сообщается.
Компания Google добавила в кодовую базу платформы Android приложение Terminal, позволяющее запустить эмулятор терминала с доступом к полноценному Linux-окружению, выполняемому в виртуальной машине. Функциональность виртуальной машины
Компания Qt Company опубликовала релиз фреймворка Qt 6.8, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.8 предоставлена поддержка платформ Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2.
Qt 6.8 получил статус LTS-выпуска, для которого обновления будут формироваться в течение пяти лет для обладателей коммерческой лицензии, что на два года больше, чем в прошлых LTS-выпусках. Для некоммерческих пользователей время сопровождения составит полгода (до формирования нового значительного выпуска). Поддержка прошлой LTS-ветки Qt 6.5 продлится до мая 2026 года, а поддержка позапрошлой LTS-ветки Qt 6.2 прекращена 30 сентября 2024 года. Ветка Qt 5.15 будет сопровождаться до мая 2025 года.
- Стабилизирован и переведён в разряд полностью поддерживаемых модуль Qt Graphs, предназначенный для построения различных видов 2D- и 3D-графиков, а также визуализации больших коллекций быстро меняющихся данных. Модуль развивается как универсальная замена старого модуля Qt DataVisualization, завязанного на OpenGL, и модуля Qt Charts. Новый модуль использует Qt Quick 3D и движок рендеринга RHI (Rendering Hardware Interface), поддерживающий различные 3D API (OpenGL, Vulkan, Metal и Direct 3D).
По сравнению с прошлым выпуском в Qt Graphs 3D добавлены оптимизации производительности, обеспечена поддержка прозрачности на трёхмерных графиках (Bars3D), расширены возможности управления местоположением и оформлением меток и заголовков, улучшена отрисовка линий навигационной сетки. В Qt Graphs 2D предоставлена возможность отрисовки собственных видов столбчатых диаграмм (через QML-компоненты), добавлена поддержка стековых столбчатых диаграмм, расширены средства отображения меток. Унифицирован API для задействования тем оформления в 2D- и 3D-графиках. Специфичные для виджетов вызовы перенесены в модуль Qt Graphs Widgets.
- Стабилизирован и переведён в разряд полностью поддерживаемых модуль QtHttpServer, позволяющий интегрировать в приложения функциональность HTTP-сервера, который поддерживает HTTP/1.1, TLS/HTTPS, WebSockets, обработку ошибок, маршрутизацию запросов на основе параметров в URL (QHttpServerRouter) и REST API. По сравнению с прошлой версией в классе QNetworkAccessManager реализована возможность отправки HTTP-запросов через локальный сокет. Предоставлена поддержка использования класса QFormDataBuilder для упрощения передачи нескольких наборов данных (например, текстовых данных и приложенного файла) в одном HTTP-запросе (HTTP multi-part).
- Стабилизирован и переведён в разряд полностью поддерживаемых модуль Qt GRPC, позволяющий обращаться к сервисам при помощи протокола gRPC.
- Стабилизирован и переведён в разряд полностью поддерживаемых модуль Qt Protobuf, предназначенный для сериализации Qt-классов, используя протокол Protocol Buffer.
- Добавлена поддержка мобильных платформ Android 14 и iOS 18.
- Предоставлена возможность разработки приложений для десктоп-систем Linux и Windows с процессорами ARM, а также 3D-шлемов Apple Vision Pro и Meta Quest 3 XR.
- Добавлена поддержка Raspberry Pi 5, NVIDIA AGX Orin и некоторых плат на базе SoC NXP, Toradex и STM. Добавлена поддержка RISC-V плат StarFive VisionFive 2.
- Расширены возможности для формирования урезанных сборок Qt, которые могут использоваться на устройствах с небольшим объёмом памяти. Например, отключив неиспользуемые возможности и компоненты Qt можно добиться сокращения размера сборки в постоянном хранилище на 77% и уменьшения потребления ОЗУ на 32%, а также заметно сократить время запуска.
- В модуле Qt Multimedia на платформе Linux реализована поддержка захвата экрана с использованием класса QScreenCapture в окружениях на базе протокола Wayland, используя сервис ScreenCast и систему порталов XDG Desktop. Добавлены классы QVideoFrameInput, QAbstractVideoBuffer и QAudioBufferInput, при помощи которых можно организовать отправку собственных мультимедийных данных в сеанс записи (QMediaCaptureSession), а также класс QAudioBufferOutput для подключения обработчиков, получающих звуковые данные на стадии после декодирования.
- Добавлен модуль Qt Quick Vector Image, позволяющий интегрировать в сцены Qt Quick векторные изображения в формате SVG, что может быть использовано, например, для создания масштабируемых элементов интерфейса, не зависящих от разрешения и размера экрана. https://honk.any-key.press/d/G61LT9fWthDXJPWSwnm9g.png
- Добавлен модуль Qt Quick 3D XR для создания приложений для платформ виртуальной и дополненной реальности, используя технологии Qt Quick 3D. Для организации взаимодействия с трёхмерными окружениями, созданными при помощи Qt Quick 3D, поддерживается использование устройств отслеживания движения рук и VR-контроллеров. Для визуализации могут применяться очки Apple VisionPro или 3D-шлемы с поддержкой стандарта OpenXR, такие как Meta Quest 2/3. https://honk.any-key.press/d/G61G3sMLk82l4yWp6LkdS.png
- В Qt Quick добавлены оптимизации, ускоряющие отрисовку сложных сцен. В модуле Qt Quick Effect Maker появилась поддержка анимирования спрайтов, искривления элементов в круг или дугу, а также использования в эффектах свечения и выборочного размытия (masked blur). В модуле Qt Quick Shapes при заливке контура разрешено использование в элементах с типом ShapePath любых провайдеров текстур. В класс QQuickRenderTarget добавлены новые методы для управления обработкой текстур и упрощения интеграции Qt Quick 3D с внешними движками, фреймворками и API. В классе TableView появилась возможность перемещения столбцов и строк. В типах Image и BorderImage реализована поддержка асинхронной загрузки изображений (старое изображение остаётся пока грузится новое).
- В Qt Quick Controls предложен новый стиль Fluent WinUI3, позволяющий сформировать интерфейс, выглядящий как Windows 11 на любых платформах. На платформе macOS реализована возможность использования предоставляемого платформой глобального меню в интерфейсах, создаваемых при помощи Quick MenuBar. https://honk.any-key.press/d/G61p88Cnw454yx3QmG965.png
- В Qt Quick 3D улучшена отрисовка теней, благодаря использованию каскадных карт теней и мягкой фильтрации теней. В тип PrincipledMaterial добавлены новые свойства. Предоставлена возможность использования в собственных материалах тех же свойств, что и в материалах на базе типа PrincipledMaterial. https://honk.any-key.press/d/G61LtSD142LJFr4D1xSHt.png
- В модуль Qt Network Auth добавлен класс QOAuthUriSchemeReplyHandler для создания обработчиков редиректа на другую схему URI при аутентификации при помощи OAuth 2.0. В класс QOAuth2AuthorizationCodeFlow добавлена поддержка OAuth-расширения PKCE (Proof Key for Code Exchange).
- В класс QDnsLookup добавлена возможность отправки запросов, используя "DNS over TLS", реализована поддержка DNS-записей TLSA (TLS Certificate Association) и обеспечено информирование клиента о выполнении верификации данных DNS-сервером.
- В Qt Core добавлен класс QChronoTimer с обвязкой над библиотекой std::chrono, позволяющей добиться повышения точности операций со временем. Реализована возможность изменения размера QString, QByteArray и QList без инициализации данных. В QHash добавлена поддержка хранения в одном хэше данных с типами QString и QStringView. В QDirListing предоставлен API на базе итератора для перебора содержимого каталогов.
- В Qt GUI предоставлена возможность переопределения настроек системной цветовой схемы, например, для выбора тёмного или светлого режима, а также настроек действий, приводящих к вызову контекстного меню.
- В Qt Sql драйверы СУБД PostgreSQL и MySQL/MariaDB теперь корректно обрабатывают время и даты в ситуации когда у клиента и на сервере выбраны разные часовые пояса.
- Qt WebEngine добавлены новые классы: QWebEngineFrame для работы на уровне отдельных iframe-блоков; QWebEngineClientHints для управления идентификацией браузера; QWebEnginePermission для управления правами доступа в привязке к сайтам.
- В Qt Widgets улучшена отрисовка виджетов на экранах с высокой плотностью пикселей (high-DPI).
- Генератор документации QDoc переведён с C API на С++ API и для его работы теперь требуется как минимум Clang 17. Добавлены новые команды, такие как "\keyword" и "\nativetype".
- В рамках работы по повышению стабильности и производительности LTS-выпуска внесено более 500 исправлений и оптимизаций.
Компания Qt Company опубликовала релиз фреймворка Qt 6.8, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.8 предоставлена поддержка платформ Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS и QNX. Исходные тексты компонентов Qt
После более года разработки представлен релиз свободного векторного графического редактора Inkscape 1.4. Редактор предоставляет гибкие инструменты для рисования и обеспечивает поддержку чтения и сохранения изображений в форматах SVG, OpenDocument Drawing, DXF, WMF, EMF, sk1, PDF, EPS, PostScript и PNG. Готовые сборки Inkscape подготовлены для Linux (AppImage, ожидается публикация Snap и Flatpak), macOS и Windows.
- Добавлен новый набор пиктограмм Dash, в котором доступно более 500 дополнительных значков для кнопок, курсоров и прочих элементов интерфейса. В коллекции имеются как символьные, так и масштабируемые версии, адаптированные для светлых и тёмных тем оформления. https://honk.any-key.press/d/G617xblmXqd2wBtZBcjxd.png
- Предложен новый диалог "Галерея фильтров" (Filter Gallery) с интерфейсом для выбора фильтров, поддерживающим как поиск по ключевым словам, так и навигацию по тематическим категориям. Доступные фильтры отображаются в форме наглядных эскизов, демонстрирующих результаты применения фильтров. Размер эскизов можно изменять на свой вкус. Для фильтров, добавленных пользователем, предложена отдельная персональная категория. https://honk.any-key.press/d/G61mdXMwKd5bqbY45gvy4.png
- Добавлен режим "Модульная сетка" (Modular Grid) с реализацией выравнивающей сетки в форме повторяющихся прямоугольных блоков, размер ячеек, границы и отступы в которой могут настраиваться пользователем. В свойствах документа предложены новые кнопки выбора режима отображения выравнивающей сетки. https://honk.any-key.press/d/G61j45tsrQY63qjD91rqt.png
- Полностью переделан диалог "Образцы" ("Swatches") для работы с палитрами, в который добавлено выпадающее меню со список доступных цветовых палитр. Палитры могут выводиться в форме списка или в виде сетки с настраиваемым размером ячеек. Для каждой палитры в списке показывается эскиз для наглядной оценки имеющихся цветов. Возможен импорт новых палитр, включая палитры из Adobe Color Book в цветовом пространстве CIELAB. Улучшено преобразование из цветового пространства CMYK в RGB. https://honk.any-key.press/d/G61VN98Hg2wgfM28BKKb9.png
- В редакторе шрифтов в формате SVG предложены новые кнопки для удаления и сортировки глифов. https://honk.any-key.press/d/G61T9894Bt9wxpL4bTbYp.png
- Предложен экспериментальный универсальный просмотрщик шрифтов (Edit ➞ Preferences ➞ Interface ➞ Dialogs: Text and Font), в котором сразу можно посмотреть как будет выглядеть введённый пользователем текст с различными шрифтами. Доступны различные режимы сортировки и возможность поиска с учётом коллекции шрифтов. https://honk.any-key.press/d/G61Q662XBZ4B4lmF5wY1B.png
- Предоставлена возможность настройки размера, цвета, ширины, контура и непрозрачности "рычагов" (handle), применяемых для манипуляции с объектами на холсте. https://honk.any-key.press/d/G61f6NkMwP9L5sGRYYczY.png
- В инструмент "Создание форм" (Shape Builder) добавлена функция редактирования растровых изображений, что может оказаться полезным для быстрого исправления или вырезания частей изображения. https://honk.any-key.press/d/G61P2FM8MvVcmh59L1wxV.png
- Произведено слияние диалогов со свойствами и атрибутами объектов ( "Object Properties" и "Objective Attributes"). https://honk.any-key.press/d/G61fm3tG414F11QVvcL85.png
- Расширены возможности импорта и экспорта. Добавлена возможность открытия файлов, сохранённых в векторном редакторе Affinity Designer (*.afdesign) или распространяемых в формате Computer Graphics Metafile (*.cgm). Улучшена поддержка импорта файлов в формате DXF (Autodesk R13+). В экспортируемых PDF-документах реализована поддержка внутренних ссылок. Расширены возможности экспорта в пакетном режиме. https://honk.any-key.press/d/G611nzC1yKM2lRCrtwsNB.png
- Добавлены шаблоны для быстрого создания многостраничных буклетов. В пользовательских шаблонах разрешено использование категорий и меток. https://honk.any-key.press/d/G61jp42Gq56qf5z8zc2yq.png
- Внесены изменения, готовящие кодовую базу к переходу на использование библиотеки GTK4.
После более года разработки представлен релиз свободного векторного графического редактора Inkscape 1.4. Редактор предоставляет гибкие инструменты для рисования и обеспечивает поддержку чтения и сохранения изображений в форматах SVG, OpenDocument Drawing, DXF, WMF, EMF, sk1, PDF, EPS, PostScript и PNG. Готовые сборки Inkscape
Начавшийся в сентябре конфликт между компаниями Automattic и WP Engine получил неожиданное продолжение - компания Automattic, курирующая разработку платформы Wordpress и официального каталога плагинов Wordpress.org, объявила о создании форка одного из популярнейших плагинов - ACF (Advanced Custom Fields), развиваемого компанией WP Engine, насчитывающего более 2 млн. установок и распространяемого под лицензией GPLv2. Возмущение разработчиков вызвало то, что владельцы Wordpress.org не просто создали отдельный форк "Secure Custom Fields" но и заменили им страницу на Wordpress.org основного плагина ACF, инициировав таким образом переход пользователей на форк.
Подобное действие было объяснено заботой о безопасности и необходимостью доведения до пользователей исправления уязвимости, которая оставалась неустранённой в версии ACF, распространяемой через каталог Wordpress.org. В объявлении о создании форка также упоминается, что разработчики ACF заявили о переходе на доставку обновлений плагина со своего сайта вместо доставки обновлений через WordPress.org, но представители WordPress.org не рекомендуют переходить пользователям на предложенную разработчиками ACF собственную систему обновлений, пока они не устранят уязвимость в плагине. Утверждается, что совершённая подмена плагина является исключительной ситуацией, подкрепляемой юридическими нападками компании WP Engine, развивающей плагин ACF. Кроме устранения уязвимости в форке была проведена чистка от привязок к сервисам WP Engine.
Нелепость ситуации в том, что за несколько недель до этого компания Automattic сама заблокировала доступ разработчиков ACF к Wordpress.org, поэтому сопровождающие ACF не имели возможность опубликовать обновление с устранением уязвимости на Wordpress.org, но при этом разместили исправление на своём сайте и рекомендовали установить его вручную или через альтернативный собственный каталог WP Engine. Обновление с устранением уязвимости в ACF было подготовлено за 5 дней до объявления Automattic о создании форка.
Захват пользовательской базы и страницы ACF на Wordpress.org стал продолжением конфликта между компанией WP Engine и Мэттом Мулленвегом, основателем платформы Wordpress и владельцем компании Automattic. С 2011 года Мэтт Мулленвег являлся инвестором компании WP Engine, но ушел из числа инвесторов в 2018 году, после попадания WP Engine в область интересов инвестиционной компании Silver Lake. Помимо разработки плагина ACF, компания WP Engine также развивает платформу хостинга проектов на движке Wordpress, конкурирующую с Wordpress.com
Конфликт активировался после того, как организация WordPress Foundation в июне подала заявку на регистрацию товарных знаков "Managed WordPress" и "Hosted WordPress", которые использовались нас сайте WP Engine. 20 сентября Мэтт Мулленвег выступил на конференции WordComp с критикой деятельности WP Engine и опубликовал статью с пояснением, что WP Engine не имеет никакого отношения к официальному проекту Wordpress, несмотря на риторику и маркетинг WP Engine, пытающийся убедить пользователей в обратном.
Также было высказано недовольство слабой вовлечённостью WP Engine в разработку - при выручке 500 млн. долларов данная компания вкладывает примерно 40 часов в неделю в разработку платформы WordPress, при том, что вклад Automattic оценён в 3915 часов в неделю. В статье WP Engine сравнивался c раковой опухолью и упоминалось, что для продолжения бизнеса компании WP Engine теперь потребуется лицензия на товарный знак WordPress. Ссылка на статью появилась в виджете новостей в панели администратора на всех установках WordPress, включая установки в хостинге WP Engine.
23 сентября компания WP Engine направила Automattic официальное внесудебное требование (Cease and Desist) прекратить ложные, вводящие в заблуждение и порочащие репутацию заявления. В ответ, компания Automattic потребовала у WP Engine прекратить использование торговой марки Wordpress и внесла изменение в правила использования торговых марок, упоминающее название "WP Engine" в качестве примера введения в заблуждение пользователей из-за стилизации под официальный движок WordPress.
25 сентября для WP Engine былзаблокирован доступ к ресурсам, распространяемым через сайт Wordpress.org, включая доступ к обновлениям с исправлениями уявзимостей, плагинам и темам оформления. В этот же день в каталоге Wordpress.org были заблокированы учётные записи сотрудников WP Engine, что не позволяло им публиковать обновления к плагину ACF. 27 сентября блокировка доступа WP Engine к ресурсам частично была убрана, но затем опять возобновлена 1 октября.
2 октября компания WP Engine подала судебный иск против Automattic и Мэтта Мулленвега. Компания Automattic в ответ отвергла все обвинения. Из Automattic уволилась исполнительный директор Джозефа Хейден (Josephа Haden) и ещё 158 сотрудников (из примерно 1700), не согласных с позицией в отношении WP Engine. 5 октября компания Automattic публично раскрыла сведения об уязвимости плагине ACF в нарушение кодекса поведения, а 8 октября изменила страницу входа на сайт WordPress.org, не которой появилась необходимость подтверждения отсутствия связи с компанией WP Engine. 7 октября компания WP Engine подготовила обновление ACF с устранением уязвимости, а 12 октября компания Automattic заявила о создании форка и подменила не него страницу плагина ACF в каталоге Wordpress.org.
Начавшийся в сентябре конфликт между компаниями Automattic и WP Engine получил неожиданное продолжение - компания Automattic, курирующая разработку платформы Wordpress и официального каталога плагинов Wordpress.org, объявила
Опубликован инструментарий Distrobox 1.8, позволяющий быстро установить и запустить в контейнере любой дистрибутив Linux и обеспечить его интеграцию с основной системой. Код проекта написан на Shell и распространяется под лицензией GPLv3.
Проект предоставляет надстройку над Docker, Podman или Lilipod и отличается максимальным упрощением работы и интеграции запущенного окружения с остальной системой. Для создания окружения с другим дистрибутивом достаточно выполнить одну команду distrobox-create, не задумываясь о тонкостях. После запуска Distrobox обеспечивает проброс домашнего каталога пользователя в контейнер, настраивает доступ к серверу X11 и Wayland для выполнения из контейнера графических приложений, позволяет подключать внешние накопители, добавляет вывод звука, реализует интеграцию на уровне SSH-агента, D-Bus и udev.
В Distrobox заявлена возможность использования в качестве хост-системы 26 дистрибутивов, включая Alpine, Manjaro, Gentoo, EndlessOS, NixOS, Void, Arch, SUSE, Ubuntu, Debian, RHEL и Fedora. В контейнере может быть запущен любой дистрибутив для которого имеются образы в формате OCI. После установки пользователь может полноценно работать в другом дистрибутиве не покидая основную систему.
Из основных областей применения называются эксперименты с атомарно обновляемыми дистрибутивами, такими как Endless OS, Fedora Silverblue, OpenSUSE MicroOS и SteamOS3, создание отдельных изолированных окружений (например, для запуска домашней конфигурации на рабочем ноутбуке), доступ к более свежим версиям приложений из экспериментальных веток дистрибутивов.
В новом выпуске:
- Улучшена интеграция с GPU NVIDIA.
- Улучшено управление переменными окружения XDG_DATA_DIRS и XDG_DATA_HOME.
- Добавлена возможность указания внешних ini-файлов с конфигурацией контейнеров (манифестом) для команды "distrobox assemble". Например, "distrobox assemble create --file https://foo.com/file.ini".
- Добавлена поддержка запуска в контейнерах дистрибутива Universal Blue и системных образов toolbx-images.
- Добавлена поддержка новых версий Fedora, Ubuntu, Alpine и Wolfi.
Опубликован инструментарий Distrobox 1.8, позволяющий быстро установить и запустить в контейнере любой дистрибутив Linux и обеспечить его интеграцию с основной системой. Код проекта написан на Shell и распространяется под лицензией GPLv3.
Опубликован выпуск пакета wayland-protocols 1.38, содержащего набор протоколов и расширений, дополняющих базовый протокол Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений.
Все протоколы последовательно проходят три фазы - разработка, тестирование и стабилизация. После завершения стадии разработки (категория "unstable") протокол помещается в ветку "staging" и официально включается в состав набора wayland-protocols, а после завершения тестирования перемещается в категорию стабильных. Протоколы из категории "staging" уже можно применять в композитных серверах и клиентах, где требуется связанная с ними функциональность. В отличие от категории "unstable" в "staging" запрещено внесение изменений, нарушающих совместимость, но в случае выявление проблем и недоработок в ходе тестирования, не исключается замена новой значительной версией протокола или другим Wayland-расширением.
В новой версии в категорию "staging" добавлены протоколы:
- xdg-system-bell - позволяет выводить системный сигнал, который может использоваться, например, как предупреждение в эмуляторе терминалов. Форма вывода сигнала определяется на усмотрение композитного менеджера, это может быть не только звук, но визуальный отклик.
- fifo - реализует FIFO-механизм (первым пришёл - первым ушёл) обработки очереди обновления содержимого отображаемой поверхности. С практической стороны протокол позволяет при выводе использовать ожидание завершения вертикальной развёртки (vblank) вместо использования callback-вызовов при каждой готовности отобразить новый кадр, что решает проблему с высокой нагрузкой на GPU при использовании VSync.
- commit-timing - позволяет привязать ограничение времени к содержимому поверхности (композитный сервер должен отобразить изменение контента по возможности через указанное время, но не раньше).
В настоящее время в состав wayland-protocols входят следующие стабильные протоколы, в которых обеспечивается обратная совместимость:
- "viewporter" - позволяет клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера.
- "presentation-time" - обеспечивает отображение видео.
- "xdg-shell" - интерфейс создания и взаимодействия с поверхностями как с окнами, что позволяет их передвигать по экрану, сворачивать, разворачивать, изменять размер и т.д.
- "linux-dmabuf" - обеспечивает совместное использование нескольких видеокарт при помощи технологии DMA-BUF (позволяет создать wl_buffer на базе DMA-BUF).
- "tablet" - организация ввода с графических планшетов.
- drm-lease - предоставляет ресурсы, необходимые для формирования стереокартинки с разными буферами для левого и правого глаза при выводе на шлемы виртуальной реальности.
- "ext-session-lock" - определяет средства блокировки сеанса, например, во время работы хранителя экрана или вывода диалога аутентификации.
- "single-pixel-buffer" - позволяет создавать однопиксельные буферы, включающие четыре 32-разрядных значения RGBA.
- "xdg-activation" - позволяет передать фокус между разными поверхностями первого уровня (например, при помощи xdg-activation одно приложение может переключить фокус на другое).
- content-type - позволяет клиентам передать композитному серверу сведения об отображаемом содержимом, которые могут использоваться для оптимизации поведения с учётом содержимого, например, выставлении специфичных DRM-свойств, таких как "content type". Заявлена поддержка следующих типов контента: none (нет сведений о типе данных), photo (вывод цифровых фото, требующий минимальной обработки), video (видео или анимация, требуется более точная синхронизация, чтобы исключить подтормаживания) и game (запуск игр, требуется вывод с минимальной задержкой).
- ext-idle-notify - даёт возможность композитным серверам передавать клиентам уведомления о неактивности пользователя, что может использоваться для активации дополнительных режимов энергосбережения после определённого времени неактивности.
- tearing-control - позволяет отключить в полноэкранных приложениях вертикальную синхронизацию (VSync) с кадровым гасящим импульсом, применяемую для защиты от появления разрывов при выводе (tearing). В мультимедийных приложениях появление артефактов из-за разрывов является нежелательным эффектом, но в игровых программах с артефактами можно смириться, если борьба с ними приводит к дополнительным задержкам.
- ext-foreign-toplevel-list - получение информации о поверхностях, размещённых на самом верхнем уровне (toplevel), которые позволяют организовать закрепление окон поверх другого содержимого, например, для подключения собственных панелей и переключателей окон.
- security-context - позволяет идентифицировать клиентов, использующих sandbox-изоляцию. Клиент может зарегистрировать новое подключение к композитному серверу на базе Wayland и прикрепить к нему контекст безопасности, после чего в соответствии с указанным контекстом безопасности композитный менеджер ограничит возможности, доступные для установленного соединения.
- cursor-shape - альтернативный способ настройки внешнего вида курсора, основанный на передаче серии изображений курсора вместо привязки к поверхности (wl_surface).
- "ext-transient-seat" - предназначен для создания временных независимых сеансов (seat), рассчитанных на использование вместе с виртуальными устройствами ввода. Например, при реализации возможности подключения к удалённому рабочему столу протокол позволяет создать для каждого пользователя отдельный сеанс с виртуальными клавиатурой и мышью.
- "xdg-toplevel-drag" - расширяет механизм "drag & drop" возможностью прикрепления окон верхнего уровня к операции перемещения, что может быть использовано, например, для организации перетаскивания мышью панелей инструментов или вкладок браузера. Новый протокол позволяет создавать отсоединяемые части окна, которые при перетаскивании из этого окна становятся новыми окнами и могут перемещаться поверх существующего окна перед повторным прикреплением.
- "xdg-dialog" - позволяет назначать поверхностям верхнего уровня признаки, специфичные для диалоговых окон, например, можно создавать модальные диалоги, которые блокируют взаимодействие пользователя с остальной частью интерфейса.
- "linux-drm-syncobj" - предоставляет инструменты для явной синхронизациии буферов при помощи объектов синхронизации DRM (Direct Rendering Manager). Предполагается, что в контексте синхронизации при отрисовке в буфер предложенный протокол позволит улучшить работу с драйверами на базе графических API Vulkan и OpenGL (реализация базируется на обработчиках в драйверах). Новый протокол даёт возможность убедиться, что операция отрисовки в буфер завершена до того, как композитный менеджер отобразит данный буфер.
- alpha-modifier, позволяющий клиентам менять уровень прозрачности поверхности и выносить операции по обеспечению прозрачности на сторону композитного сервера, который в свою очередь может переадресовать эти операции KMS.
- xdg-toplevel-icon - привязка пиктограммы к окну верхнего уровня.
- ext-image-capture-source и ext-image-copy-capture - организация захвата контента, выводимого на экран.
- "fullscreen-shell" - управление работой в полноэкранном режиме.
- "input-method" - обработка методов ввода.
- "idle-inhibit" - блокировка запуска скринсейвера (экранной заставки).
- "input-timestamps" - временные метки для событий ввода.
- "keyboard-shortcuts-inhibit" - управление прикреплением клавиатурных комбинаций и горячих клавиш.
- "linux-explicit-synchronization" - специфичный для Linux механизм синхронизации буферов в привязке к поверхности.
- "pointer-gestures" - управление с сенсорных экранов.
- "pointer constraints" - ограничения указателей (блокировка).
- "primary-selection" - по аналогии с X11 обеспечивает работу первичного буфера обмена (primary selection), вставка информации из которого обычно осуществляется средней кнопкой мыши.
- "relative pointer events" - относительные события указателей.
- "text-input" - организация ввода текста.
- "xdg-foreign" - интерфейс взаимодействия с поверхностями "соседнего" клиента.
- "xdg-decoration" - отрисовка декораций окон на стороне сервера.
- "xdg-output" - дополнительные сведения о видеовыходе (используется для дробного масштабирования).
- "xwayland-keyboard-grab" - захват ввода в приложениях XWayland.
Дополнительно можно отметить предложение сотрудника компании Valve по добавлению ещё одной фазы продвижения новых протоколов Wayland - "experimental", которая позволит снизить барьер включения протоколов в состав набора Wayland-Protocols и ускорить их внедрение. В настоящее время для попадания протокола в фазу staging требуется сформировать команду поддержки и получить определённое число подтверждений (ACK) от участников рецензирования. В "experimental" предлагается принимать протокол не через получение подтверждений, а на основании отсутствия возражений (NACK) в течение двухнедельного периода рецензирования. При необходимости участники рецензирования также могут продлить обсуждение ещё на две недели, выставив статус "WAIT".
В фазе "experimental" также предлагается разрешить внесение изменений нарушающих совместимость и добавление "сырых" протоколов, которые можно будет постепенно доводить до должного уровня. Таким образом, фаза "experimental" позволит быстро доводить до разработчиков новые прототипы протоколов, стимулировать их реализацию в существующих проектах и получать обратную связь от пользователей. Предлагаемый процесс должен избавить разработчиков протоколов от длительных обсуждений и волокиты, перед принятием в состав Wayland-Protocols. Например, принятые в нынешний выпуск протоколы xdg-system-bell, fifo и commit-timing обсуждались более года.
Опубликован выпуск пакета wayland-protocols 1.38, содержащего набор протоколов и расширений, дополняющих базовый протокол Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений.
Все протоколы последовательно проходят три фазы - разработка, тестирование и стабилизация. После завершения стадии разработки (категория "unstable") протокол помещается в ветку "staging" и официально включается в состав набора wayland-protocols,...
В библиотеке Libarchive, предоставляющей функции для работы с различными форматами архивов и сжатых файлов, выявленыуязвимости, приводящие к выходу за границы буфера при обработке специально оформленных архивов в формате RAR. Уязвимости присутствуют в функциях execute_filter_audio (CVE-2024-48957) и execute_filter_delta (CVE-2024-48958) и вызваны отсутствиемпроверки, что блок "src" может перекрывать блок "dst" в повреждённых архивах.
Уязвимости устранены в версии Libarchive 3.7.5, в которой также исправлено более десятка ошибок, приводящих к выходу за границы буфера, обращению к уже освобождённой памяти или целочисленным переполнениям при обработке файлов в форматах cpio, lzop, rpm, zip, uu и rar. Исправления помечены как проблемы с безопасностью, но без присвоения CVE-идентификаторов. Пока не ясно можно ли эксплуатировать данные проблемы для организации выполнения кода при обработке специально оформленных файлов.
Libarchive используется как зависимость во многих популярных пакетах, например, в smbclient, flatpak, appstream, libappimage, dpdk, cmake, rpm, nix, pacman, elfutils, unrar, claws-mail, ark, epiphany, evince, vagrant, vlc, mpv, gvfs, fwupd, systemd (опционально) и file-roller (менеджер архивов в GNOME). Проследить за появлением обновлений в дистрибутивах можно на следующих страницах: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.
В библиотеке Libarchive, предоставляющей функции для работы с различными форматами архивов и сжатых файлов, выявленыуязвимости, приводящие к выходу за границы буфера при обработке специально оформленных архивов в формате RAR. Уязвимости присутствуют в функциях execute_filter_audio (
Разработчики проекта KDE Neon, формирующего Live-сборки с актуальными версиями программ и компонентов KDE, объявили о переводе сборок на использование LTS-выпуска Ubuntu 24.04. Для загрузки Предложено несколько вариантов сборок KDE Neon: User Edition на базе последних стабильных релизов KDE, Testing Edition на базе тестовых веток KDE с ещё не перенесёнными в стабильные выпуски исправлениями ошибок, Unstable Edition на базе находящихся в разработке веток репозитория, в которые переносятся новые возможности, и Developer Edition дополняющий Unstable Edition библиотеками для разработчиков.
Проект KDE neon создан Джонатаном Ридделом (Jonathan Riddell), смещённым с поста лидера дистрибутива Kubuntu, с целью предоставления возможности установки свежих версий программ и компонентов KDE. Сборки и связанные с ними репозитории KDE Neon по возможности обновляются сразу после выхода релизов KDE, заметно раньше чем новые версии KDE появляются в репозиториях дистрибутивов.
Разработчики проекта KDE Neon, формирующего Live-сборки с актуальными версиями программ и компонентов KDE, объявили о переводе сборок на использование LTS-выпуска Ubuntu 24.04. Для загрузки Предложено несколько вариантов сборок KDE Neon: User Edition на базе последних стабильных релизов KDE, Testing Edition на базе тестовых веток KDE с ещё не перенесёнными в стабильные выпуски исправлениями ошибок, Unstable Edition на базе находящихся в разработке...
После года разработки состоялся релиз пакетного менеджера RPM 4.20.0. Проект RPM4 развивается компанией Red Hat и используется в таких дистрибутивах, как RHEL, Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS и Tizen. Код проекта распространяется под лицензиями GPLv2 и LGPLv2.
В следующем году ожидается публикация значительной ветки RPM 6, в которой будет задействован новый формат архива, позволяющий в отличие от ныне используемого формата cpio создавать пакеты размером более 4 ГБ (преодоление данного ограничения важно так как SRC-пакет с Chromium близок к пределу и имеет размер 3.7 ГБ). В новой ветке также намерены разрешить использование языка C++ для разработки RPM. Новая значительная ветка будет приурочена юбилею проекта - 27 ноября 2025 году исполнится 30 лет с момента первого коммита в RPM. Версии RPM 5.x будут пропущены для исключения пересечений с проектом RPM5, который непосредственно не связан с RPM от Red Hat, развивался независимой командой разработчиков и не обновляется с 2010 года.
- В состав включена новая утилита rpm2archive, которая пришла на смену утилите rpm2cpio и в дальнейшем упростит переход на новый формат пакетов, не использующий cpio. В отличие от rpm2cpio новая утилита преобразует RPM-файл не в архив cpio, а в архив в формате tar, сжатый при помощи gzip. Старая утилита rpm2cpio заменена символической ссылкой на rpm2archive.
- Предложена декларативная система сборки, основанная на использовании новой директивы "BuildSystem", через которую может быть определена система сборки, используемая при формировании пакета. Исходный код автоматически подготавливается, компилируется и устанавливается с учётом указанной системы сборки, без необходимости отдельного определения в SPEC-файле скриптов подготовки, сборки и установки в блоках "%prep", "%build" и "%install". В RPM поддерживаемые системы сборки определяются в форме коллекций макросов.
Основная идея в том, что декларативный формат настройки позволит разработчикам дистрибутивов создавать отдельные макросы для типовых процессов сборки, чтобы не определять повторяющиеся сценарии в каждом пакете. Например, вместо определения последовательностей запуска команд configure и make для программ, использующих Autotools, теперь достаточно указать "BuildSystem: autotools" и обойтись без секций "%prep", "%build" и "%install". В настоящее время подобные макросы подготовлены для Autotools и CMake. При необходимости реализации нестандартного поведения сопровождающим пакеты предоставлена возможность подключения своих макросов для переопределения разных стадий формирования пакета.
- Добавлена поддержка прикрепления дополнительных секций c командами подготовки, сборки, установки, настройки, очистки и проверки, дополняющих базовые секции %prep, %conf, %build, %install, %check и %clean. Для запуска дополнительного скрипта перед выполнением кода из базовой секции предложена опция "-p", а после базовой секции - опция "-a". Подобные подстановки могут оказаться полезными для точечной корректировки поведения при использовании вышеописанного декларативного режима сборки.
- В динамически формируемые части SPEC-файлов разрешено включать директивы и секции, не влияющие на процесс сборки.
- Добавлен макрос %builddir и реализована управляемая через RPM возможность привязки своих сборочных каталогов к отдельным пакетам.
- Предложен новый протокол "multi-file", значительно ускоряющий генерацию зависимостей.
- В команду rpm добавлена опция "--json" для вывода результатов запросов в формате JSON.
- Добавлен плагин rpm-plugin-unshare, обеспечивающий изоляцию скриптов, выполняемых в сборочных секциях, используя пространства имён в Linux. Например, плагин позволяет запретить доступ к сети и ограничить доступ к файловой системе, а также использовать отдельные приватные каталоги /tmp и /home для защиты на случай небезопасной работы со временными файлами при сборке пакетов.
- Предложен публичный API для разработки плагинов, который будет сохранять совместимость между релизами. Раньше API для плагинов был рассчитан только на внутреннее использование и мог меняться от релиза к релизу.
- В команду rpmkeys добавлены опции "--list" и "--delete".
- В команду rpmsign добавлена поддержка создания цифровых подписей для пакетов, используя ключи ECDSA.
- Улучшена поддержка повторяемых сборок. Добавлен макрос "%build_mtime_policy", позволяющий управлять содержимом добавляемых при сборке меток со временем (через значение clamp_to_source_date_epoch можно использовать фиксированную метку, а через clamp_to_buildtime указывать фактическое время сборки).
- В файлах sysusers.d разрешено добавлять строки для определения членов группы.
- Обеспечена корректная и независимая от дистрибутивов поддержка файлов debuginfo.
- Объявлен устаревшим синтаксис макросов %patchN (без пробела перед N), использование которого теперь будет приводить к ошибке (следует использовать синтаксис "%patch N" или "%patch -P N", где N - номер патча).
- Удалён устаревший парсер OpenPGP.
- Генераторы зависимостей для Perl и Python ABI вынесены в отдельные репозитории.
После года разработки состоялся релиз пакетного менеджера RPM 4.20.0. Проект RPM4 развивается компанией Red Hat и используется в таких дистрибутивах, как RHEL, Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS и Tizen. Код проекта
После года разработки некоммерческая организация Open 3D Foundation (O3DF) опубликовала выпуск открытого игрового 3D-движка Open 3D Engine 24.09 (O3DE), пригодного для разработки современных игр класса AAA и высокоточных симуляторов, способных работать в режиме реального времени и обеспечивать качество кинематографического уровня. Код написан на С++ и опубликован под лицензией Apache 2.0. Имеется поддержкаплатформLinux, Windows, macOS, iOS и Android.
Исходные тексты движка O3DE были открыты в июле 2021 года компанией Amazon и основаны на коде ранее развиваемого проприетарного движка Amazon Lumberyard, построенного на технологиях движка CryEngine, лицензированных у компании Crytek в 2015 году. После открытия развитие движка курирует некоммерческая организация Open 3D Foundation, созданная под эгидой Linux Foundation. Помимо Amazon к совместной работе над проектом подключились такие компании, как Epic Games, Adobe, Huawei, Microsoft, Intel и Niantic.
Движок включает в себя интегрированную среду для разработки игр, многопоточную систему фотореалистичного рендеринга Atom Renderer с поддержкой Vulkan, Metal и DirectX 12, расширяемый редактор 3D-моделей, систему анимирования персонажей (Emotion FX), систему разработки полуфабрикатов (prefab), движок симуляции физических процессов в реальном режиме времени и математические библиотеки, использующие инструкции SIMD. Для определения игровой логики может использоваться среда визуального программирования (Script Canvas), а также языки Lua и Python.
Проект изначально рассчитан на возможность адаптации под свои нужды и имеет модульную архитектуру. Всего предлагается более 30 модулей, поставляемых в виде отдельных библиотек, пригодных для замены, интеграции в сторонние проекты и использования по отдельности. Например, благодаря модульности разработчики могут заменить рендер графики, звуковую систему, поддержку языков, сетевой стек, физический движок и любые другие компоненты.
- Добавлена возможность создавать проекты с готовым инсталлятором, не требующие компиляции кода на C++ и содержащие только скрипты на Lua и Script Canvas.
- Существенно ускорен запуск редактора - для крупных проектов с большим числом ассетов сокращение времени запуска может достигать 90%.
- Добавлен высокопроизводительный конвейер рендеринга для мобильных устройств (Mobile Render Pipeline), позволяющий до 400% повысить производительность игр для iOS, Android и устройств виртуальной/дополненной реальности. Значительно снижено потребление памяти в системе рендеринга.
- В бэкенды DX12 и Vulkan добавлена поддержка геометрических шейдеров и шейдеров пересечений (intersection shader).
- Для использования в симуляторах добавлен компонент Georeference, поддерживающий разбор данных в формате Gazebo, а также компонент ROS2FrameComponent.
- Версии движка симуляции физических процессов PhysX 4 и PhysX 5 разделены на отдельные пакеты, что позволило упростить переключение между версиями PhysX в готовых сборках игр.
- Добавлен графический интерфейс для экспорта проекта, поддерживающий экспорт для iOS, Android, Linux и Windows.
- Добавлены настройки, позволяющие значительно (до 90%) сократить размер сервера для работы в режиме без экрана (headless).
- Добавлены специфичные для мобильных устройств графические конвейеры (rendering pipeline), позволяющие пользователю легко включать и выключать различные возможности рендеринга.
- Предоставлены настройки качества, привязываемые к возможностям устройств. Например, доступно три уровня производительности (низкий, средний и высокий), выбираемые в зависимости от параметров CPU, GPU и памяти.
- Предложено несколько вариантов шейдеров, позволяющих при отрисовке автоматически выбирать наиболее производительный шейдер, подходящий для заданных параметров рендеринга.
- Реализована техника "Entity Silhouette", позволяющая выделить границы объекта, например, для определения какие части объекта должны быть отрисованы, а какие можно игнорировать.
- Добавлен фреймворк для взаимодействия с большими языковыми моделями машинного обучения.
- При высокой нагрузке на CPU для предотвращения разрыва сетевого соединения по таймауту реализована отправка heartbeat-пакетов.
- Добавлена поддержка изображений в формате PGM.
После года разработки некоммерческая организация Open 3D Foundation (O3DF) опубликовала выпуск открытого игрового 3D-движка Open 3D Engine 24.09 (O3DE), пригодного для разработки современных игр класса AAA и высокоточных симуляторов, способных работать в режиме реального времени и обеспечивать качество кинематографического уровня. Код написан на С++ и