Опубликован выпуск проекта D7VK 1.3, развивающего реализацию графических API Direct3D 5, 6 и 7, предложенных компанией Microsoft в 1997, 1998 и 1999 годах. D7VK работает через трансляцию вызовов в API Vulkan и позволяет при помощи Wine запускать в Linux ретро игры, завязанные на API Direct3D 5, 6 и 7. Код проекта написан на языке C++ и распространяется под лицензией Zlib. В качестве основы при разработке использован код бэкенда d3d9 от проекта DXVK - D7VK преобразует API Direct3D 5, 6 и 7 в вызовы Direct3D 9, которые затем транслируются в API Vulkan. Разработчик не намерен добиваться включения D7VK в состав DXVK, как это было с реализациями Direct3D 8 и Direct3D 9 поверх Vulkan.
В новом выпуске обеспечена официальная поддержка графического API Direct3D 5 в дополнение к ранее доступной поддержке Direct3D 6 и 7. Также проведена работа по устранению ошибок и улучшению совместимости с играми кода для поддержки Direct3D 6 и Direct3D 7. Отключена по умолчанию эмуляция механизма сглаживания FSAA (Full-Scene Anti-Aliasing), которая теперь активируется только для игр, поддерживающих данную технологию.
На конференции FOSDEM представлен новый игровой движок Fluorite, развиваемый американским подразделением компании Toyota, отвечающим за разработку автомобильных информационно-развлекательных систем. Движок нацелен на предоставление возможностей, пригодных для создания 3D-игр уровня игровых консолей, и развивается с использованием технологий, применяемых Toyota в своём новом стеке для информационно-развлекательных систем, уже поставляемом в автомобиле Toyota RAV4 2026. Заявлено, что движок будет кросс-платформенным и полностью открытым.
Создание проекта объясняется желанием получить полнофункциональный игровой движок, интегрируемый с интерфейсами на базе Flutter и пригодный для использования на автомобильных информационно-развлекательных системах и встраиваемых устройствах, типа Raspberry Pi 5. До начала работы рассматривалась возможность задействования существующих игровых движков для создания интегрированного в автомобили игрового окружения. Движки Unity и Unreal были отброшены, как ресурсоёмкие, завязанные на бинарные блобы и требующие лицензионных отчислений. Godot не подошёл из-за большого потребления ресурсов и слишком длительного запуска на встраиваемых устройствах. Impeller и Flutter_GPU были отвергнуты из-за сырого API и проблем с поддержкой Linux (в Toyota IVI применяется Yocto Linux и собственный графический интерфейс на базе Wayland и Flutter).
Движок Fluorite интегрируется с фреймворком Flutter и позволяет разрабатывать игры на языке Dart, используя виджет FluoriteView для одновременного отображения разных представлений 3D-сцены и возможности Flutter для бесшовной интеграции игр с графическим окружением IVI-платформы, контроля за 3D-сценой из Flutter-виджетов и организации интерактивного взаимодействия. Имеется возможность создания интерактивных трёхмерных интерфейсов через определение в 3D-модели кликабельных зон, при клике на которые вызываются привязанные обработчики событий, по аналогии с событиями onClick на web-страницах.
Для достижения высокой производительности и низкого потребления ресурсов движок построен на базе архитектуры ECS (Entity-Component-System) и использует низкоуровневые компоненты на языке C++, поверх которых реализованы обвязки для создания игровой логики на языке Dart. Для отрисовки задействованы библиотека SDL3 и движок 3D-рендеринга Google Filament, поддерживающий физически корректный рендеринг (PBR). В планах интеграция движка симуляции физических процессов JoltPhysics.
Из особенностей упоминается поддержка изменения на лету 3D-сцены без перезапуска приложения (Hot Reload), задействование графического API Vulkan для аппаратно ускоренной графики, применение эффектов постпроцессинга, подключение собственных шейдеров, физически корректная модель освещения, возможность разработки 3D-моделей в Blender и поддержка форматов GLTF, GLB, KTX и HDR.
Представлен выпуск консольного браузера Offpunk 3.0, поддерживающего работу по протоколам HTTP/HTTPS, Gemini, Gopher и Spartan, а также чтение новостных лент в форматах RSS и Atom. Программа написана на языке Python и распространяется под лицензией AGPLv3.
Браузер ориентирован на просмотр контента в offline-режиме и позволяет подписываться на страницы или помечать их для дальнейшего просмотра, после чего данные страницы автоматически кэшируются и при необходимости обновляются. Offpunk даёт возможность хранить периодически синхронизируемые копии сайтов и страниц, доступные всегда для локального просмотра. Параметры синхронизации настраиваются пользователем, например, какой-то контент может синхронизироваться раз в день, а какой-то раз в месяц.
Управление осуществляется через систему команд и комбинации клавиш. Имеется поддержка многоуровневых закладок, подписок и архивируемого контента. Для разных MIME-типов можно подключать свои обработчики. Разбор и отображение HTML-страниц производится с использованием библиотек BeautifulSoup4 и Readability. Изображения могут преобразовываться в ASCII-графику при помощи библиотеки chafa.
Для автоматизации выполнения действий используется RC-файл, определяющий последовательность команд при запуске. Например, через RC-файл можно автоматически открывать домашнюю страницу или загружать содержимое каких-то сайтов для последующего просмотра в offline. Загружаемое содержимое сохраняется в каталоге ~/.cache/offpunk/ в виде иерархии файлов в форматах .gmi и .html, что позволяет при необходимости изменять содержимое, проводить ручную чистку или просматривать страницы в других программах.
Проект продолжает развитие Gemini- и Gopher-клиентов AV-98 и VF-1, созданных автором протокола Gemini. Протокол Gemini значительно проще протоколов, используемых в Web, но при этом более функционален, чем Gopher. Сетевая часть Gemini напоминает сильно упрощённый HTTP поверх TLS (трафик обязательно шифруется), а разметка страниц ближе к Markdown, чем к HTML. Протокол подходит для создания компактных и лёгких гипертекстовых сайтов, лишённых усложнений, свойственных современному Web. Протокол Spartan рассчитан на передачу документов в формате Gemini, но отличается организацией сетевого взаимодействия (не использует TLS) и расширяет возможности Gemini средствами для обмена бинарными файлами и поддерживает отправку данных на сервер.
Реализована возможность просмотра комиксов XKCD в терминале. Для показа комиксов добавлена отдельная утилита "xkcdpunk".
В состав интегрирована библиотека "unmerdify", позволяющая извлекать основное содержимое из HTML-страниц, используя для отбрасывания лишнего набор правил "ftr-site-config".
Добавлены операции "share" и "reply" для отправки URL страницы на email и ответа автору при упоминании email на странице.
Добавлена команда "cookies", при помощи которой можно импортировать текстовый файл с Cookies, которые будут отправляться для указанного домена. Таким способом можно передавать сессионные Cookie для входа на сайт. Файл с Cookie можно сформировать в традиционном браузере (Firefox, Chromium) при помощи дополнения "cookie-txt", после чего его следует импортировать командой "cookies import mycookie.txt https://domain".
Включён по умолчанию показ изображений на страницах, открытых через Gemini. Увеличен размер показываемых в терминале изображений.
Реализован показ скрытых ссылок (из тегов <link rel="alternate"...>) на ленты RSS и Atom.
Реализовано выделение красным цветом ссылок на заблокированные домены.
Добавлена поддержка пресетов с несколькими темами оформления.
Добавлена возможность перевода интерфейса на разные языки.
После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.19. Среди наиболее заметных изменений: подсистема Live Update Orchestrator, поддержка PCIe Link Encryption, системный вызов listns, режим Zero-Copy Receive в io_uring, поддержка ARM-расширения MPAM, klp-build для генерации live-патчей, поддержка архитектуры LoongArch32, QoS для s2idle, оптимизация подсистемы аудита, Intel LASS для защиты от Spectre, поддержка хэшей SHA-3 и BLAKE2b, механизм Confidential VMBus, TX-оптимизации в сетевой подсистеме, протокол CAN XL, API для аппаратного ускорения HDR-вывода.
В анонсе новой версии Линус сообщил, что следующему выпуску ядра будет присвоен номер 7.0, так как в ветке 6.x накопилось достаточного выпусков для смены первого числа в номере версии (в своё время выпуск 6.0 был сформирован следом за 5.19). Смена нумерации осуществляется из эстетических соображений и является формальным шагом, снимающим дискомфорт из-за накопления большого числа выпусков в серии. Линус пошутил, что его сбивают с толку большие числа для которых не хватает пальцев на руках и ногах. При этом формально повод для значительного изменения номера версии есть, так как начиначиная со следующего выпуска
поддержку Rust решено перевести из экспериментальных в основные возможности ядра.
В новую версию принято 15657 исправлений от 2237 разработчиков,
размер патча - 52 МБ (изменения затронули 13682 файла, добавлено 794649 строк кода, удалено 335498 строк). В прошлом выпуске было 15035 исправлений от 2217 разработчиков, размер патча - 45 МБ. Около 40% всех представленных в 6.19 изменений связаны с драйверами устройств, примерно 13% изменений имеют
отношение к обновлению кода, специфичного для аппаратных архитектур, 12%
связано с сетевым стеком, 5% - с файловыми системами и 3% c внутренними
подсистемами ядра.
Дисковая подсистема, ввод/вывод и файловые системы
В Btrfs процессы проверки ФС (scrub) и замены устройств больше не блокируют переход системы в спящий режим (перед засыпанием сохраняется состояние scrub-проверки; после выхода из сна scrub-проверка продолжается, а операция замены устройств запускается заново). В реализацию RAID56 добавлена поддержка блоков, размер которых превышает размер страницы памяти. Проведена подготовка к поддержке fscrypt. Повышена производительность работы с блокировками при выполнении операций, связанных с резервированием места. Добавлена поддержка ioctl-операции "shutdown", позволяющей перевести ФС в состояние, при котором предпринимается попытка завершения выполнения уже запущенных операций, но блокируются все новые операции.
В файловой системе Ext4 включена поддержка блоков, размер которых превышает размер страницы памяти (>4KB на системах x86). Использование крупных блоков позволяет повысить производительность буферизированных операций записи в среднем на 50%, но снижает производительность прямого ввода/вывода из-за увеличения времени расчёта контрольных сумм. В новой версии также добавлены оптимизации, повысившие пропускную способность при выполнении online-дефрагментации.
В подсистеме FUSE улучшена поддержка буферизированного чтения при использовании больших фолиантов страниц памяти (large folios). Через iomap реализована возможность отслеживания частично актуальных фолиантов для загрузки только данных, отсутствующих в буфере.
В VFS добавлена поддержка отзываемого делегирования управления директорией (recallable directory delegation), позволяющего реализовать в NFS передачу управления директорией от сервера клиенту, чтобы NFS-клиент без обращений к NFS-серверу самостоятельно отслеживал состояние директории на основе локального кэша. Если другой NFS-клиент произведёт изменения, связанные с этой директорией, делегирование управления будет отозвано у первого клиента.
Для NFS добавлена поддержка чтения в режиме прямого ввода/вывода (direct I/O). Реализованы настройки /sys/kernel/debug/nfsd/io_cache_read и /sys/kernel/debug/nfsd/io_cache_write для управления включением кэширования и операций прямого ввода/вывода, манипуляции с данными настройками позволяют снизить накладные расходы на стороне NFS-клиента при выполнении крупных операций ввода/вывода.
В NTFS реализована поддержка ioctl-операции shutdown, включены по умолчанию опции монтирования "acl" и "prealloc", добавлена поддержка времени до 1 января 1970 года.
Для блочных устройств и ФС включено по умолчанию раздельное для каждого CPU кэширование объектов "bio" (Block I/O), определяющих активные операции ввода-вывода.
Память и системные сервисы
В ядро включена подсистема Live Update Orchestrator (LUO), позволяющая полноценно перезагрузить и обновить ядро без остановки работы и не теряя состояние системы, устройств и процессов. Подсистема LUO базируется на ранее добавленном в ядро механизме KHO (Kexec HandOver) и в дополнение к возможности запуска нового ядра из старого без потери состояния системы решает такие задачи, как сохранение состояния устройств и оперативной памяти, а также обеспечение непрерывности операций, связанных с DMA и обработкой прерываний. Состояние сохраняется до переключения на новое ядро и восстанавливается после задействования нового ядра без нарушения непрерывных операций с устройствами, осуществляемых системой и приложениями в пространстве пользователя.
Добавлен системный вызов listns() для вывода списка существующих в системе пространств имён без необходимости перебирать /proc/<pid>/ns/ для всех процессов.
В систему асинхронного ввода/вывода io_uring добавлена поддержка размещения элементов разного размера в очереди отправки (SQE, Submission Queue Entry), по аналогии с тем как в прошлом выпуске было разрешено смешивание размера содержимого очереди результатов (CQE, Completion Queue Event). До этого все элементы в очереди должны были иметь один размер, что приводило к излишнему потреблению памяти из-за необходимости использования максимального размера для всех элементов в очереди.
В io_uring также добавлена поддержка механизма zcrx (Zero-Copy Receive) для получения данных без копирования между ядром и пространством пользователя. Добавлена поддержка запросов раскладки памяти для очередей SQ (Submission Queue) и CQ (Completion Queue), позволяющих получить информацию о размере кольцевого буфера, необходимую при пользовательском выделении памяти при помощи флагов
IORING_SETUP_NO_MMAP и IORING_MEM_REGION_TYPE_USER.
Для быстрой трассировки стека при помощи утилит, таких как perf, добавлена поддержка формата SFrame с информацией о раскрутке стека вызовов (unwind). SFrame уже поддерживается в GCC и binutils, не приводит к снижению производительности и, в отличие от формата DWARF, содержит лишь минимальный набор информации, необходимой для трассировки стека.
В утилиту perf добавлена поддержка унифицированного описаний метрик и событий в формате JSON, а также отложенной раскрутки (deferred unwinding) стека вызовов в пространстве пользователя.
Для процессоров AMD реализован механизм подстановки данных в кэш, позволяющий устройствам ввода/вывода напрямую подставлять данные в L3-кэш CPU без их предварительного помещения в ОЗУ.
Добавлена поддержка MPAM (Memory System Resource Partitioning and Monitoring), расширения архитектуры набора команд ARMv8-A для пометки каждого обращения к памяти идентификатором секции (PARTID, Partition ID) и идентификатором группы мониторинга (PMG, Monitoring Group ID). В привязке к PARTID можно ограничить потребление ресурсов, таких как пропускная способность памяти или размер кэша, что бы какая-то группа задач не заняла все ресурсы. В контексте мониторинга сочетание PMG и PARTID можно использовать для отслеживание потребления ресурсов памяти при определённых видах нагрузки.
В случае аварийного завершения процесса после получения сигнала, другой процесс, имеющий pidfd завершившегося процесса, теперь может определить номер сигнала, приведшего к завершению процесса.
Переработана реализация перезапускаемых последовательностей (restartable sequences), позволяющих приложениям организовать псевдо-атомарное не прерываемое выполнение группы инструкций (в случае прерывания другим потоком, предпринимается повторная попытка выполнения последовательности). Новая реализация отличается более высокой производительностью.
Для BPF-программ реализованы инструкции BPF_JMP, BPF_X и BPF_JA для совершения косвенных переходов на определённую позицию из таблицы переходов. Добавлена концепция динамических указателей (dynptr), позволяющих читать данные из структурированных файлов. Добавлена возможность прикрепления к сетевым пакетам нескольких байтов с метаданными.
Модули на языке Python, используемые для обработки документации к ядру, перемещены в отдельных каталог tools/lib/python.
Добавлена функция mempool_alloc_bulk() для безопасного выделения элементов из пула памяти сразу под несколько объектов.
Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). В новой версии в состав ядра встроена библиотека "syn" с парсером Rust-кода, упрощающим написание сложных макросов. Расширены возможности библиотек kernel, pin-init и rbtree. Добавлена библиотека 'num' с типажом Integer для манипуляции целыми числами. В макрос "module!" добавлена поддержка целочисленных параметров. Реализована возможность указания параметров при загрузке модулей ядра, написанных на Rust. Реализованы абстракции для подсистем I2C и PWM (Pulse Width Modulation).
Добавлен макрос "at_least" (например, "param[at_least 7]", информирующий о минимально допустимом размере массива, передаваемого в функцию. Если в функцию будет передан массив с меньшим числом элементов, то компилятор выведет предупреждение.
В состав включён скрипт klp-build для генерации модулей ядра, вносящих изменения в работающее ядро (livepatch), на основе файла с патчем. В утилиту objtool внесены изменения, необходимые для создания live-патчей.
В User-mode Linux (запуск ядра как пользовательского процесса) добавлена ограниченная поддержка многопроцессорности, но потоки внутри одного процесса пока не могут выполняться одновременно.
Началось портирование User-mode Linux на библиотеку nolibc.
Добавлена поддержка архитектуры LoongArch32 (LA32R, LA32S) в дополнение к LoongArch64.
Добавлена возможность выставления QoS-лимитов на интенсивность пробуждения процессора в режиме экономии энергии s2idle (Suspend-To-Idle), замораживающего выполнение процессов в пространстве пользователя, но оставляющего активными некоторые обработчики в ядре.
Добавлена поддержка управления таблицами страниц памяти для контроллеров IOMMU (Input-Output Memory Management Unit), выполняющих трансляцию виртуальных адресов, видимых аппаратным устройством, в физические адреса, с возможностью фильтровать операции DMA по виртуальным адресам, а также ограничивать и изолировать операции ввода-вывода.
В событиях трассировки системных вызовов реализована возможность чтения буферов из пространства пользователя и включения их содержимого (например, имён файлов) в результат трассировки.
Сторожевые страницы памяти (guard page), обращение к которым вызывает исключение и аварийное завершение процесса (SIGSEGV), теперь помечаются особой меткой в файле /proc/PID/smaps.
Добавлена возможность управления крупными страницами памяти (transparent huge page) в приватной памяти зонированных устройств.
В устройстве zram, применяемом для сжатого хранения раздела подкачки в памяти, реализована поддержка вытеснения нескольких структур "bio" (Block I/O) в пакетном режиме (writeback batching).
В состав включён шрифт "Terminus 10x18", улучшающий читаемость информации с консоли на экранах ноутбуков со средним разрешением (1440x900).
Значительно
оптимизирована работа подсистемы аудита - отмечается снижение накладных расходов в два раза.
Виртуализация и безопасность
Добавлена поддержка предоставляемой процессорами Intel возможности для разделения линейного пространства адресов (LASS, linear address-space separation), позволяющей аппаратно разделить диапазоны адресов пространства пользователя и ядра для повышения безопасности. Адресное пространство разделяется по старшему биту адреса - половина адресного пространства с установленным старшим битом используется для ядра, а нижняя - для пространства пользователя. На раннем этапе выполнения инструкций (на стадии до спекулятивного выполнения) осуществляется проверка допустимости обращения из пространства пользователя к адресам с выставленным старшим битом и наоборот. Подобное разделение позволяет блокировать утечки памяти ядра в пространство пользователя по сторонним каналам даже при спекулятивном выполнении инструкций, что даёт возможность применять LASS для защиты от атак класса Meltdown и Spectre, не приводящей к большим накладным расходам.
Добавлена возможность включения расширений усиления безопасности шины PCI Express - PCIe Link Encryption и PCIe Device Authentication, позволяющих подтверждать подлинность и шифровать канал связи между устройством PCIe и виртуальной машиной, защищённой при помощи механизмов Intel TDX (Trusted Domain Extensions) и AMD SEV-SNP (Secure Nested Paging). Реализованные технологии не позволяют перехватывать, анализировать и подставлять данные в трафик DMA при наличии доступа к хост системе или другим устройствам.
Во встроенную криптографическую библиотеку добавлена поддержка алгоритмов SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) SHAKE128, SHAKE256 и BLAKE2b.
Для LSM-модулей (Linux Security Modules) и, в частности для SELinux, реализована возможность отслеживания создания дескрипторов memfd для применения политик безопасности к связанным с ними объектам.
В LSM-модуль IPE (Integrity Policy Enforcement), определяющий общую политику обеспечения целостности для всей системы, добавлена поддержка флага AT_EXECVE_CHECK в функции execveat(), включающего проверку целостности скрипта перед его выполнением интерпретатором.
Добавлены примитивы scoped_user_read_access(), scoped_user_write_access и scoped_user_rw_access() для ограниченного доступа к данным в пользовательском пространстве с защитой спекулятивных атак.
Добавлена поддержка механизма Confidential VMBus, используемого в гипервизоре HyperV для защищённого от вмешательства гипервизора взаимодействия между гостевой системой, выполняемой в конфиденциальном режиме (с шифрованием памяти и изоляцией регистров на базе технологий AMD SNP и Intel TDX), и paravisor-ом, отвечающим за обращение к устройствам, обрабатывающим конфиденциальные данные.
Добавлена возможность передачи информации об аварийно завершившемся процессе (для генерации coredump) через механизм pidfd. Идентификатор PIDFD связывается с конкретным процессом и не меняется, в то время как PID может быть привязан к другому процессу после завершения текущего процесса, ассоциированного с этим PID. Использование pidfd позволяет блокировать совершение атак по подмене аварийно завершившегося suid-процесса на другой процесс, добиваясь состояния гонки в момент после начала обработки ядром аварийного завершения, но до проверки обработчиком в пространстве пользователя параметров процесса.
Сетевая подсистема
В сетевую подсистему внесены оптимизации для повышения эффективности передачи данных (TX). Избавление функции
__dev_queue_xmit() от spin-блокировки и использование работающей без блокировок структуры llist позволило в 4 раза увеличить производительность при большой нагрузке и удвоить интенсивность отправки пакетов при снижении нагрузки на CPU в два раза.
Предоставлена возможность отключения для отдельных сетевых сокетов системных лимитов на использование памяти (в этом случае будут использованы общие лимиты на память, задаваемые для отдельных контейнеров). Для управления отключения лимитов предложен sysctl net.core.bypass_prot_mem и флаг SK_BPF_BYPASS_PROT_MEM в функции bpf_setsockopt.
Добавлена поддержка расширения RFC 5837, добавляющего в ICMP-сообщения "Time Exceeded", возвращаемые при истечении времени жизни (TTL) пакета, данные о входящих сетевых интерфейсах для получения более детальной информации при трассировке маршрутов утилитой traceroute.
Добавлена поддержка непрерывного активного полинга (busy polling) в отдельном потоке ядра с целью извлечения дескрипторов из RX/TX-очередей для приложений, требующих минимальных задержек.
Добавлена поддержка протокола CAN XL (Controller Area Network eXtended Length), в котором размер поля с данными увеличен до 2048 байт для обеспечения интеграции с сетями TCP/IP, реализована возможность туннелирования Ethernet-кадров и добавлена поддержка широтно-импульсной модуляции, позволившая передавать данные на скоростях 20 Мбит/с и выше.
Добавлена поддержка структуры sockaddr_unsized, варианта структуры sockaddr, использующего массив с гибкими элементами вместо массива фиксированного размера (sa_data[] вместо sa_data[14], который по сути использовался для ссылок на другие структуры большего размера).
Добавлена возможность использования функциональности getsockname и getpeername через подсистему io_uring.
Добавлена поддержка линков с пропускной способностью 1600 Gbps (1.6T).
Оборудование
В подсистему DRM (Direct Rendering Manager) добавлен API для использования аппаратных возможностей преобразования цвета, позволяющих обойтись без выполнения подобных преобразований через шейдеры или выполнение кода на CPU. Для вывода контента на HDR-монитор сложные цветовые преобразования теперь могут осуществляться дисплейным контроллером на стадии до и после смешивания слоёв (blending), вместо программного композитинга содержимого в финальный буфер отображения.
Помимо снижения накладных расходов и энергопотребления при организации вывода в HDR, предложенная функциональность может использоваться для корректной цветопередачи в редакторах видео или изображений.
Добавлен драйвер "ethosu" для NPU Arm Ethos U65 и U85, предназначенных для аппаратного ускорения выполнения AI-моделей.
В драйвере i915 для GPU Lunar Lake и новее добавлена поддержка аппаратного повышения чёткости изображения (Sharpening).
Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Добавлена начальная поддержка архитектуры Xe3P, используемой в GPU Crescent Island и семействе процессоров с интегрированной графикой Nova Lake.
В драйвере AMDGPU реализована полноценная поддержка видеокарт AMD семейства GCN 1.0 "Southern Island" и 1.1 "Sea Islands", для работы с которыми ранее использовался драйвер Radeon. Драйвер AMDGPU доведён до паритета по возможностям с драйвером Radeon и активирован для указанных GPU по умолчанию. Карты GCN 1.x выпускались с 2012 по 2019 год и охватывают такие модели, как Radeon HD 77xx/78xx/79xx/87xx/88xx/89xx, Radeon R9 280, FirePro W4000-W9000, Radeon Sky 700/900, Radeon R9 265/270/370, Radeon R9 290/390, HD 7790 / 8870 и иные видеокарты семейств Radeon Rx 200 / Rx 300. Помимо увеличения производительности в среднем на 24%, переход на AMDGPU позволил реализовать для данных GPU поддержку графического API Vulkan 1.3. Кроме того, в AMDGPU добавлена поддержка аналоговых коннекторов и Video Coding Engine 1.0, а также задействован по умолчанию стек DC (Display Core) для GPU на базе микроархитектуры Bonaire (Radeon HD 7790).
В драйвере Nouveau реализована поддержка аппаратного ускорителя NVJPG, присутствующего в SoC Tegra210.
В драйвер Panthor добавлена поддержка GPU Mali-G1 и начальная поддержка чипа MediaTek MT8196.
Добавлена поддержка звуковой подсистемы чипов Intel Nova Lake S, ноутбуков HP с HDA CS35L41, а также звуковых интерфейсов CIX IPBLOQ HD и Onkyo SE-300PCIE.
Продолжена интеграция компонентов драйвера Nova для GPU NVIDIA, оснащённых GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing. Драйвер написан на языке Rust. В новой версии началась работа над RPC и завершена реализация загрузки сопроцессора GSP (GPU System Processor).
Добавлена поддержка смартфонов и планшетов на базе SoC Mediatek MT6582 (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) и Qualcomm MSM8939 (ASUS ZenFone 2). Добавлена поддержка ноутбуков на SoC Qualcomm sdm850, таких как Huawei MateBook E 2019.
Добавлена поддержка SoC и плат на базе архитектуры RISC-V: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.
Одновременно латиноамериканский Фонд свободного ПО сформировал
вариант полностью свободного ядра 6.19 - Linux-libre 6.19-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.19 из звуковой подсистемы SDCA
удалён код для загрузки бинарных прошивок. Обновлён код чистки blob-ов в драйверах Intel XE, Nova-Core, Qualcomm Iris, Venus and Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 и звуковых кодеках TI tas2783. Выполнена чистка имён blob-ов в dts-файлах (devicetree) для ARM-чипов. Прекращена чистка драйвера STM C8SECTPFE DVB, удалённого из ядра.
Компания Anthropic объявила о расширении в AI-модели Claude Opus 4.6 возможностей по поиску уязвимостей в коде и поделилась результатами эксперимента, в ходе которого выявлено более 500 ранее неизвестных (0-day) уязвимостей в последних версиях различных открытых проектов. Работа была сфокусирована на поиске уязвимостей, вызванных проблемами при работе с памятью, так как их наличие проще проверить. Всем выявленным уязвимостям присвоен высокий уровень опасности. Каждая уязвимость была вручную проверена и подтверждена сотрудниками Anthropic или привлечёнными внешними исследователями безопасности.
Для анализа уязвимостей были привлечены кодовые базы популярных открытых проектов, уже длительное время проходящие непрерывное fuzzing-тестирование в сервисе OSS-Fuzz. В отличие от fuzzing-тестирования, при котором генерируется поток всевозможных случайных комбинаций входных данных, AI-модель пыталась анализировать код, учитывая прошлые исправления для выявления похожих неустранённых ошибок, выделяя проблемные шаблоны и логически выводя, какие входные данные могут нарушить ход выполнения.
Информация о выявленных в ходе эксперимента уязвимостях уже начала передаваться сопровождающим, с которыми ведётся совместная работа по принятию исправлений. Чтобы помочь сопровождающим в ходе проведённой проверки вручную были разработаны патчи для исправления выявленных проблем. В качестве примера приведены три уязвимости в GhostScript, OpenSC и CGIF, которые на момент публикации устранены сопровождающими.
Используемая для выявления проблем конфигурация не была похожа на традиционные системы автоматического поиска уязвимостей - модели Claude Opus 4.6 был предоставлен доступ к виртуальной машине, в которой помимо исследуемого кода были установлены типовые инструменты разработчиков (coreutils, Python и т.п.) и утилиты для отладки и анализа уязвимостей (в том числе утилиты для fuzzing-тестирования). Модели не давалась чёткая инструкция по использованию данных инструментов и не предоставлялись специальные сведения о методах поиска уязвимостей. Модели была лишь поставлена задача и предоставлена возможность самостоятельно рассуждать об оптимальном использовании доступных инструментов.
Поиске уязвимостей в GhostScript AI-модель вначале попыталась провести fuzzing-тестирование, но когда это не привело к результату переключилась к анализу кода. Анализ кода тоже не дал результата и тогда модель начала изучать историю изменений в git и в одном из коммитов заметила упоминание проверки границ буфера. Разобрав коммит модель определила, что исправление добавляло недостающую проверку границ буфера при обработке шрифтов.
Далее модель определила код, который был до исправления и попыталась найти в остальном коде похожие шаблоны использования проблемной функции, остающиеся неисправленными. В итоге в файле gdevpsfx.c был выявлен вызов функции gs_type1_blend без проверки корректности значений. В финале модель подобрала содержимое файла, обработка которого приводила к аварийному завершению из-за записи данных в область памяти вне выделенного буфера.
В CGIF AI-модель отталкивалась от того, что при распаковке GIF-файлов библиотека рассматривала, что размер сжатых данных всегда меньше распакованных. Поиск уязвимости был сосредоточен на определении условий, при которых сжатые алгоритмом LZW данные окажутся больше распакованных. Подобные условия были найдены и AI-модель смогла сформировать GIF-файл, обработка которого привела к переполнению буфера. В OpenSC проблема была выявлена после анализа использования в коде потенциально опасных функций strrchr и strcat.
Отмечается, что языковые модели достигли уровня, позволяющего выявлять ранее неизвестные уязвимости, и в ближайшее время превзойдут экспертов по безопасности по скорости и масштабу поиска уязвимостей.
Предполагается, что рост числа выявляемых уязвимостей потребует реформирования сложившихся процессов раскрытия информации, так как ныне выделяемых на исправление 90-дней будет недостаточно.
Кристиан Хергерт (Christian Hergert), автор интегрированной среды разработки GNOME Builder, эмулятора терминала Ptyxis и текстового редактора GNOME Text Editor, объявил, что в связи с переездом из США во Францию и изменением приоритетов в жизни, больше не сможет уделять должное внимание разработке GNOME. Кристиан являлся почти единственным активным сопровождающим 16 модулей GNOME и более сорока часов в неделю уделял поддержке и развитию стека GNOME. Отмечается, что после переезда его возможности по участию в разработке будут сильно ограничены и основное время он будет уделять семье, новой деятельности и налаживанию быта на новом месте.
В качестве причины переезда упоминается новая миграционная политика США (у Криса жена родом из Тибета). Крис был трудоустроен в Red Hat, но данная компания отклонила его просьбу сохранить должность после переезда во Францию, несмотря на предоставление доказательства наличия рисков для его семьи.
Cписок модулей, сопровождением и разработкой которых занимался Крис:
GtkSourceView - библиотека для встраивания в приложения виджета многострочного редактирования текста, применяется во многих редакторах на базе GTK.
Доступен выпуск мобильной платформы LineageOS 23.2, продолжающий развитие кодовой базы на основе Android 16. Ветка LineageOS 23.2 достигла паритета по функциональности и стабильности c веткой 23.0, и признана готовой для формирования релиза. Сборки подготовлены для 148 моделей устройств. LineageOS также можно запустить в эмуляторе Android Emulator, в QEMU и в среде Android Studio. Дополнительно, предоставлена возможность сборки в режиме Android TV и Android Automotive.
Выпуск LineageOS 23.2 примечателен синхронизацией с актуальной кодовой базой из репозитория AOSP (Android Open Source Project), соответствующей второму квартальному обновлению платформы Android 16 (QPR2). Выпуск LineageOS 23.1 пропущен, так как AOSP теперь обновляется раз в полгода, а не раз в квартал. В дальнейшем промежуточные релизы LineageOS будут выпускаться не четыре, а два раза в год.
Из функциональных изменений в LineageOS 23.2 отмечается задействование нового оформления и цветовой схемы, соответствующих предложенной в Android 16 концепции дизайна Material Expressive 3. Приложения обновлены и по возможности также переведены на концепцию оформления Material Expressive. Среди прочего новое оформление задействовано в музыкальном проигрывателе Twelve (Music Player), часах Deskclock и калькуляторе ExactCalculator.
Обновлён интерфейс выпадающей панели с быстрыми настройками - плитки в панели теперь полностью настраиваются. В дополнение к базовой теме оформления предложена опциональная расширенная тёмная тема. Расширена функциональность утилит для работы с файлами. Для разработчиков прошивок предложено несколько новых утилит для извлечения RRO (Runtime Resource Overlay), обновления сертификатов приложений, извлечения правил SELinux и файлов конфигурации из системных образов.
Отдельно отмечена значительная переработка программы для управления обновлением прошивки (Updater), в которой полностью переделан интерфейс, улучшено управление обновлениями и добавлена анимация прогресса выполнения операций. Переделанный вариант Updater признан не готовым для включения в состав LineageOS 23.2, но он будет предложен в скором времени после достижения должного уровня стабильности.
Вячеслав Дубейко из компании IBM запустил в списке рассылки разработчиков ядра Linux обсуждение использования в ядре моделей машинного обучения, а также предложил для тестирования набор патчей с библиотекой для интеграции ML-моделей в ядро и примером символьного драйвера, использующего библиотеку.
Интеграция ML-моделей в ядро может быть полезной для изменения логики работы подсистем с учётом обрабатываемых данных, оптимизации работы и изменения конфигурации в зависимости от внутреннего состояния систем. Применение машинного обучения, способного выявлять закономерности и строить прогнозы без ручной реализации алгоритмов, упростит подбор наиболее эффективной конфигурации ядра c учётом сложности и изменчивости современных рабочих нагрузок, а также позволит решать такие проблемы, как предсказание сбоев систем хранения.
Помимо движка для выполнения моделей рассматривается разработка инструментов сбора данных для обучения ML-моделей, непосредственно обучения модели и тестирования результата. Так как для выполнения ML-модели требуются операции с плавающей запятой, а в ядре не допускается прямое использование FPU, предложенный прототип представляет собой прослойку для обращения из различных подсистем ядра к ML-моделям, выполняемым в пользовательском пространстве, по аналогии с выносом в пользовательское пространство обработчиков SPDK, DPDK и ublk.
Вынос выполнения и обучения модели в пространство пользователя упрощает сопровождение и изолирует ядро от проблем в коде выполнения модели. На стадии обучения данные о состоянии и параметрах ядра могут как запрашиваться обработчиком из пользовательского пространства, так и передаваться прослойкой, выполняемой на уровне ядра. Для управления взаимодействия компонентами в ядре и пользовательском пространстве применяется sysfs. Возможно адаптивное обучение ML-модели, при котором подсистема ядра получает рекомендацию от ML-модели, применяет рекомендуемое изменение и оценивает эффективность рекомендации по изменению состояния.
В качестве демонстрации возможности автономно создавать крупные проекты при помощи новой AI-модели Claude Opus 4.6, компания Anthropic сгенерировала компилятор для языка Си - claudes-c-compiler, пригодный для сборки ядра Linux, PostgreSQL, SQLite, Redis, FFmpeg, GNU coreutils, Busybox, CPython, QEMU, LuaJIT и ещё около 150 протестированных известных открытых проектов. Результирующие сборки успешно прошли предоставляемые проектами тестовые наборы. Собранное ядро Linux успешно загружается и даёт возможность запустить игру Doom. Код компилятора сгенерирован на языке Rust и опубликован как общественное достояние (CC0). Поддерживается компиляция проектов для архитектур x86_64, i686, AArch64 и RISC-V 64.
Весь код и документация к компилятору сгенерированы моделью Claude Opus 4.6. Участие человека свелось к определению тестовых сценариев, которым должен удовлетворять итоговый продукт. Интерактивный режим для разработки, отладки и контроля над качеством не применялся, Модель Claude Opus сама выполнила всю работу на основе поставленной задачи. Ручное рецензирование корректности работы компилятора не проводилось, поэтому он не рекомендован для использования помимо экспериментов. Степень прохождения тестовых наборов компиляторов, включая GCC Torture Tests, составляет 99%.
Для разработки компилятора было привлечено 16 AI-агентов, которые после двух недель работы и около двух тысяч сеансов в Claude Code сгенерировали 100 тысяч строк кода на Rust, выполняющих задачу сборки ядра Linux 6.9 для архитектур x86, ARM и RISC-V. При генерации кода использовался новый режим работы "agent teams", позволяющий организовать параллельную работу нескольких AI-агентов Claude над одной общей кодовой базой, осуществляемую автономно без вмешательства человека. По стоимости доступа к API создание компилятора оценено в 20 тысяч долларов (передано 2 миллиарда входных токенов и сгенерировано 140 миллионов выходных токенов).
Компилятор самодостаточен и не требует внешних зависимостей, кроме стандартной библиотеки Rust. Все компоненты созданы с нуля, включая фронтэнд, промежуточное представление (IR) на базе SSA, оптимизатор, генератор кода, ассемблер, компоновщик и генератор отладочной информации в формате DWARF. Фронтэнд совместим на уровне опций с GCC и может использоваться в качестве прозрачной замены GCC. На выходе генерируются исполняемые файлы в формате ELF. Поддерживается только платформа Linux (задача поддержки macOS и Windows не ставилась).
Из ограничений отмечается отсутствие раздельных уровней оптимизации
(уровни с -O0 по -O3, -Os и -Oz приводят к одинаковой оптимизации), имеются проблемы с использованием _Atomic и _Complex, частично поддерживается ключевое слово __attribute__ и частично реализовано использование инструкций NEON. Помимо ограничений, описанных в подготовленной AI документации к компилятору, в статье с анонсом проекта упоминаются некоторые дополнительные проблемы:
Отсутствие поддержки компиляции в 16-разрядном режиме (необходимый для загрузки ядра 16-разрядный код был собран в GCC).
Ошибки в реализациях компоновщика и ассемблера (при подготовке демонстрации использовались GNU assembler и GNU linker).
Claudes-c-compiler пока не готов заменить реальные компиляторы, так как не все проекты успешно собираются.
Cтепень оптимизации генерируемого кода хуже, чем в GCC с отключением всех режимов оптимизации.
Качество сгенерированного Rust-кода приемлемое, но заметно хуже чем код, подготовленный профессиональным программистом.
Проект близок к потолку возможностей модели Opus 4.6 - попытки исправить ошибки или добавить дополнительные возможности, как правило, приводили к нарушению имеющейся функциональности.
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 11.2. С момента выпуска 11.1 было закрыто 32 отчёта об ошибках и внесено 238 изменений.
В crt (C runtime) добавлена поддержка выполнения конструкторов и деструкторов MSVC.
Упрощена генерация версионированных ресурсов из переменных в makefile.
Обновлены библиотеки libpng 1.6.54, libxslt 1.1.45 и libjpeg 10.
Начато добавление патчей, делающих возможным установку Adobe Creative Cloud 2025 (Adobe Photoshop 2025, Adobe Premiere Pro 2025 и т.д.). Дополнение: В Wine Staging 11.2 добавлено больше патчей для обеспечения работы инсталлятора Adobe Creative Cloud 2025 и 2026.
Закрыты отчёты об ошибках, связанные с работой приложений: Bitcoin 0.3.21, Visual Basic 6, explorer.exe, Futuremark 3DMark Vantage 1.1.x, Alacritty, MilkyTracker, MMH7Editor, Pegasus Mail, Nexus Terminal.
Закрыты отчёты об ошибках, связанные с работой игр: King of Dragon Pass, Imperivm: Great Battles of Rome, Black Mirror, The Hong Kong Massacre, Sam & Max Save the World: Culture Shock, Fifa 2005, 4Story,
Divinity II: Developer's Cut, GTA: San andreas/Vice city, Shop Titans , Gothic 1, Kyodai Mahjongg, Codename Panzers Phase 1 и Codename Panzers Phase 2.
Опубликован релиз свободного звукового редактора Ardour 9.0, предназначенного для многоканальной записи, обработки и микширования звука. В Ardour предоставляется мультитрековая шкала времени, неограниченный уровень отката изменений на всем протяжении работы с файлом (даже после закрытия программы), поддержка разнообразных аппаратных интерфейсов. Программа позиционируется как свободный аналог профессиональных средств ProTools, Nuendo, Pyramix и Sequoia. Код распространяется под лицензией GPLv2. В ближайшее время неофициальные сборки для Linux будут сформированы в формате Flatpak.
Добавлена возможность редактирования MIDI-региона в отдельном окне в стиле "пианоролла" (pianoroll) или в панели в нижней части главного окна. Отдельное окно открывается при двойном клике и предоставляет интерфейс, похожий на основную шкале времени, но без лишних элементов интерфейса и с возможностью просмотра параметров MIDI-автоматизации.
Добавлена поддержка прямого редактирования содержимого MIDI-клипов (MIDI Cue), используя отдельно открывающуюся область "пианоролла" с теми же операциями редактирования MIDI, что применяются на шкале времени.
Добавлена поддержка прямой записи в cue-слоты для создания в реальном времени зацикленных композиций (лупов) в стиле приложений Live и Bitwig. Можно заранее задать длительность записи (например, "записать 4 такта") или записывать до остановки вручную. Запись воспроизводится со следующей точки квантования, например, с начала такта.
Добавлена возможность применения плагина с эффектом только к указанному звуковому фрагменту (региону). Эффект привязывается к региону и сохраняется при перемещении региона по шкале времени.
Реализовано отдельное окно с перцептуальным анализатором, визуализирующим спектр нескольких сигналов в режиме реального времени, поддерживающим наложение дорожек друг на друга и позволяющим оценить, какой вклад вносит каждая дорожка в общий микс в выбранном частотном диапазоне.
Добавлен режим быстрого создания мелодий и ритмов. Например, при удержании клавиши Shift во время перемещения мышью MIDI-нот редактор теперь сам расставит ноты в соответствии с сеткой и настройками нот, а при удержании Shift+Alt будет использовано чередование нот.
Реализовано управление MIDI-автоматизацией при помощи клавиатуры. Для добавления новых контрольных точек автоматизации, изменения их позиции и значения можно использовать модификаторы клавиш, клавиши управления курсором и Enter.
Добавлена поддержка импорта и экспорта полос микшера (mixer strips). Полосы микшера можно экспортировать как локальные (уровня сеанса) или глобальные пресеты для повторного использования.
На платформах Linux и Windows реализована поддержка взаимодействия с интерфейсом с использованием мультитач навигации.
Обновлена панель приложений, которая реорганизована для каждого контекста. Специфичные для редактора опции перемещены в панель инструментов, а расширенные опции по умолчанию скрыты (изменить видимость можно в настройках Preferences > Appearance > Application Bar). В панель инструментов добавлены кнопки для управления показом левой, правой и нижней панелей.
Переделана панель List в окне редактора, в которой упрощено переключение между двумя часто используемыми вкладками, которые можно закрепить в верхней части панели.
Переделан диалог создания нового сеанса (New Session), в котором задействован интерфейс на основе вкладок, позволяющий быстро переключаться между созданием нового сеанса, открытием прошлого сеанса и открытием произвольного сеанса с диска.
Обновлена область линейки (Ruler Area), в которой объединены несколько ранее обособленных линеек (с маркерами на основе диапазонов и местоположений), добавлены кнопки для навигации по маркерам и создания новых маркеров.
Добавлена поддержка MIDI-файлов и регионов, длительность которых превышает MIDI-данные (например, 4‑тактовый сегмент, где последняя нота заканчивается перед концом 4 такта).
По умолчанию при записи задействован WAV-совместимый звуковой формат RF64.
Камилла Мораес (Camilla Moraes), менеджер по продукту из компании GitHub, начала обсуждение добавления в GitHub возможности для автоматической блокировки мусорных pull-запросов, сгенерированных в AI-ассистентах, отправленных без ручной проверки и не соответствующих требованиям качества. Подобные изменения создают дополнительную нагрузку на сопровождающих, которые вынуждены тратить время на разбор бесполезного кода.
В качестве краткосрочных путей решения проблемы рассматривается возможность быстрого удаления pull-запросов через web-интерфейс (удаления без оседания в истории вместо пометки закрытыми) и использование настраиваемых прав на отправку pull-запросов, позволяющих владельцам репозиториев разрешать передачу изменений только участникам, ранее вносившим изменения.
Из решений в долгосрочной перспективе упоминается расширение модели полномочий и предоставление сопровождающим инструментов для гибкого задания правил, определяющих кто имеет право создавать и рецензировать pull-запросы и каким требованиям должны соответствовать pull-запросы. Кроме того, предлагается задействовать AI для определения соответствия отправленного изменения правилам и стандартам качества каждого проекта (например, заданным в файле CONTRIBUTING.md), а также выявления и специальной пометки изменений, подготовленных при помощи AI.
Из высказанных в процессе обсуждения предложений также можно отметить создание фильтра, запрещающего отправку pull-запросов без предварительного открытия issue-обсуждений с пояснением причин реализации изменений, а также информирование сопровождающих о поступлении pull-запросов от новичков только после успешного прохождения тестов в системе непрерывной интеграции.
По статистике одного из ключевых разработчиков фреймворка genkit лишь одно из десяти изменений, подготовленных в AI, соответствует критериям для открытия pull-запроса. Один из участников проекта Azure Core Upstreamподытожил основные опасения сопровождающих:
Нарушение модели доверия при рецензировании - рецензирующие не могут быть уверены, что приславший изменение написал переданный код и понимает его суть.
Сгенерированные в AI-ассистентах pull-запросы могут структурно выглядеть корректно, но быть логически неверными, небезопасными или непроверенными в работе.
Практика построчного рецензирования остаётся обязательной, но она не может масштабироваться в условиях роста изменений, формируемых через AI-ассистенты.
У сопровождающих возникает дискомфорт при принятии pull-запросов, которых они не полностью понимают, в то время как AI-ассистенты упрощают передачу крупных изменений без глубокого понимания.
Повышается когнитивная нагрузка на сопровождающих, которые теперь должны не только проверять код, но и оценивать то, понимает ли его автор.
Появление AI-инструментов не снизило, а увеличило нагрузку на сопровождающих.
Дополнительно можно отметить проведённое несколькими европейскими университетами исследование влияния вайб-кодинга на экосистему открытых проектов. Исследователи разработали модель равновесия экосистемы открытого кода, которая показала, что обратные связи, ранее отвечавшие за взрывной рост открытых проектов, после распространения вайб-кодинга создают обратный эффект - уменьшается число разработчиков готовых делиться кодом, сокращается разнообразие открытых проектов и снижается качество. Одним из вариантов решения проблемы упоминается внедрение модели финансирования, напоминающей Spotify, при которой AI‑платформы перераспределяют доходы от подписок на сервисы для разработчиков среди сопровождающих, в зависимости от степени использования проектов.
При вайб-кодинге разработчики перестают анализировать доступные решения, читать документацию, отправлять сообщения об ошибках и взаимодействовать с командами, развивающими открытые библиотеки. Открытые проекты теряют обратную связь с пользователям. Новым проектам становится сложнее пробиться, так как AI-ассистенты сами подбирают необходимые открытые библиотеки на основе информации, имевшейся на момент обучения модели. Из-за снижения прямого взаимодействия с пользователями страдает монетизация открытых проектов, завязанных на услугах поддержки и показе рекламы/сборе пожертвований на сайтах. Из-за снижения обратной связи страдает качество. С другой стороны, вайб-кодинг повышает производительность труда при создании новых продуктов, основанных на чуждом коде, и упрощает внедрение новых библиотек.
Как пример приведён проект Tailwind CSS, число загрузок которого из репозитория NPM продолжает расти, но трафик к документации с начала 2023 года снизился на 40%, а доходы упали на 80%. Также отмечено снижение активности обсуждений на Stack Overflow примерно на 25%, спустя 6 месяцев после запуска ChatGPT.
Опубликован девятый выпуск среды рабочего стола Orbitiny Desktop, написанной с нуля с использованием фреймворка Qt. Проект пытается совместить некоторые инновационные идеи, которые раньше не встречались в пользовательских окружениях, с традиционными элементами, такими как панель с поддержкой плагинов, меню приложений и рабочий стол, на котором можно размещать ярлыки. Работа пока сосредоточена на запуск в окружениях на базе X-сервера, но в будущем не исключается добавление поддержки Wayland. Код написан на языке C++ и распространяется под лицензией GPL.
Из специфичных для Orbitiny возможностей отмечается: вызов действий через экранные жесты (очерчивание мышью определённого контура на пустой области рабочего стола); метки на пиктограммах (показываются для новых, изменённых, пустых или перемещённых через буфер обмена файлов, а также пустых каталогов); возможность вставки файла одновременно в несколько выбранных каталогов; поддержка размещения содержимого рабочего стола в любом каталоге (не только в $HOME/Desktop); использование отдельных десктоп-каталогов для каждого виртуального рабочего стола и монитора. Список типовых возможностей Orbitiny можно посмотреть в прошлом анонсе.
Среди изменений:
В контекстное меню, вызываемое при клике правой кнопкой мыши на файле или каталоге, добавлена опция "Append to Clipboard", позволяющая прикрепить путь к выбранному файлу к уже имеющимся в буфере обмена файловым путям, чтобы потом разом скопировать файлы операцией "Paste".
В контекстное меню добавлена опция "Paste to Image" для прикрепления помещённого в буфер обмена изображения к выбранному файлу c изображением (вертикально следом за имеющимся изображением).
В контекстное меню добавлены опции "Add to Paste Basket" и "Paste to Basket". Первая опция позволяет добавить выбранные каталоги в набор каталогов, а вторая вставить файлы из буфера обмена в сформированный набор каталогов.
Реализована операция "Image Join", позволяющая переместить мышью в режиме Drag&Drop одно или несколько изображений на другое изображение для их объединения в один файл. После перемещения выводится меню, позволяющее выбрать горизонтальное или вертикальное прикрепление изображений.
Добавлен интерфейс для настройки параметров экрана и мониторов, таких как разрешение экрана и компоновка экранов в многомониторных конфигурациях.
Добавлен интерфейс для управления яркостью экрана.
Добавлена утилита orbitiny-screenshot-grabber для создания скриншотов.
Функциональность копирования файлов (Orbitiny File Copier) и показа свойств файла (Orbitiny File Properties) вынесена в отдельные приложения, которые можно вызывать из скриптов для копирования группы файлов с показом индикатора прогресса и вывода информации о свойствах файла.
В панель управления добавлена опция для переключения между выводом в форме списка и сетки пиктограмм.
В обработчик действий в режиме Drag&Drop добавлена поддержка создания ярлыка открытия URL в web-браузере при перетаскивания URL на панель.
В апплетах Application Menu, Drawer menu и Places Menu добавлены возможности для запуска элементов меню нажатием клавиши Enter и автоматического выделения элементов при поиске.
В апплеты "Launcher", "Quick Launch" и "Drawer" добавлена опция для запуска с правами root.
На рабочий стол по умолчанию добавлены ярлыки "Linux System", "Disks" и "Trash".
В открытый доступ попали новые подробности о продвижении операционной системы Aluminium, развиваемой Google для ноутбуков, мини-ПК и планшетов в соответствии с планом по слиянию платформ Android и Chrome OS. В транскрипции выступления представителя Google на судебном заседании, связанном с антимонопольным разбирательством Министерства юстиции США против Google, упоминается, что поддержка устройств Chromebook с операционной системой ChromeOS продлится до 2034 года, а первые массовые продукты на платформе Aluminium запланированы на 2028 год. При этом тестовые решения на базе Aluminium намерены начать публиковать уже в конце этого года.
В Aluminium преимущественно используется архитектура и компоненты платформы Android, а интерфейс близок к развиваемому в ветке Android 16 десктоп-режиму для больших экранов, позволяющему одновременно работать с окнами нескольких приложений по аналогии с традиционной средой рабочего стола. При этом в платформе также задействованы отдельные системные сервисы, приложения, элементы прошивки, фоновые процессы и библиотеки из ChromeOS, а также перенесённый из Chrome OS интерфейс запуска приложений (Launcher). Из Android задействовано ядро Linux, GKI-модули (Generic Kernel Image), компоненты взаимодействия с оборудованием (HAL), Android Runtime, Android API, часть системных фоновых процессов и библиотек.
Открыта регистрация на детско-юношеские соревнования по Linux - "Linux-skills", которые пройдут в рамках фестиваля технического творчества "ТехноКакТУС". Соревнования проводятся в двух номинациях: Alt-skills (ALT Linux) и Calculate-skills (Calculate Linux), в трёх возрастных группах: 10-13 лет, 14-17 лет, 18-22 лет.
С 1 марта по 10 марта 2026 года пройдёт онлайн отборочный этап, на котором участники пройдут тестирование. C 25 марта по 1 апреля 2026 года состоится финал - участникам будет предоставлен доступ к виртуальному стенду, на котором нужно будет настроить сеть и перевести рабочие станции с ОС MS Windows на Linux, после чего выполнить настройку Linux и сетей.
В соревнованиях используются дистрибутивы Simply Linux и Calculate Linux, OpenWRT на маршрутизаторах.
Финал пройдёт очно на опорных площадках в Москве, Московской области (Щёлково) и Санкт-Петербурге. По запросу участников площадки могут быть организованы и в других городах.