Опубликован выпуск проекта ESP-KVM, развивающего открытую прошивку, которая превращает отладочную плату на микроконтроллере ESP32-P4 в полноценный IP-KVM - устройство, дающее доступ к экрану, клавиатуре и мыши удалённого компьютера через браузер. В отличие от средств удалённого рабочего стола, на управляемой машине ничего не устанавливается и от её операционной системы ничего не требуется: устройство подключается к видеовыходу и USB-порту и работает, когда компьютер показывает интерфейс BIOS, грузится, стоит с пустым диском или выключен. Код написан на языке Си и распространяется под лицензией Apache 2.0.
Устройство собирается из двух небольших плат: платы с ESP32-P4 и платы захвата на чипе TC358743, которая переводит HDMI цели в MIPI-CSI. Дальше картинка кодируется аппаратными кодировщиками самого микроконтроллера - H.264 или MJPEG - и отдаётся в браузер. Клавиатура и мышь подаются целевой машине через USB OTG, то есть она видит обычные устройства ввода и никаких драйверов ей не нужно. На эталонной плате получено около 20-24 кадров в секунду при 1920x1080 и до 45 при 1280x720.
Из возможностей:
Чтение текстового экрана как текста, а не картинки: содержимое консоли BIOS, загрузчика или Linux-консоли распознаётся по знакогенератору и передаётся символами - экран занимает пару килобайт вместо мегабайт, а серийный номер или код ошибки можно выделить мышью и скопировать.
Наблюдение за экраном по заданным фразам с оповещением, когда за устройством никто не следит.
Управление питанием цели через оптопару (кнопки питания и сброса, чтение индикатора), Wake-on-LAN и пробуждение спящей машины по USB.
Встроенные WireGuard и Tailscale, включая работу с собственным управляющим сервером Headscale.
Интеграция с Home Assistant через MQTT: датчики, кнопки, сущность обновления прошивки и камера со снимком экрана цели.
HTTPS с сертификатом, который устройство выпускает само, вход по паролю и физический сброс пароля кнопкой на плате; можно загрузить и свой сертификат.
Обновление прошивки по сети с двумя слотами и автоматическим откатом, аварийный образ во внутренней флеш-памяти и точка доступа с порталом, если сети нет.
Небольшой статусный экран (I2C OLED или круглый GC9A01) с адресом, состоянием линка и температурой.
Виртуальные носители: образ диска с карты microSD отдаётся цели как загрузочный USB-накопитель, что позволяет установить систему на машину с пустым диском.
Прошивка собирается для десяти вариантов плат, среди которых Waveshare ESP32-P4-ETH, ESP32-P4-NANO и ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev и M5Stack Unit PoE-P4. Сообществом создано несколько корпусов для самой популярной платы Waveshare ESP32-P4-ETH. Прошить плату можно прямо из браузера, без установки инструментов.
В выпуске 0.45.0 добавлена поддержка двух плат - Waveshare ESP32-P4-Module-DEV-KIT и DFRobot FireBeetle 2 ESP32-P4 - и опубликован разбор того, какие платы на ESP32-P4 для такой задачи не подходят и почему.
Опубликован выпуск RT-Thread 5.3, операционной системы реального времени (RTOS) для устройств интернета-вещей. Система развивается с 2006 года сообществом китайских разработчиков и в настоящее время портирована для 155 плат, чипов и микроконтроллеров на базе архитектур x86, ARM, MIPS, С-SKY, Xtensa, ARC и RISC-V. Минималистичная сборка RT-Thread (Nano) требует для работы всего 3 КБ Flash и 1.2 КБ ОЗУ. Для IoT-устройств, сильно не ограниченных в ресурсах, предлагается полнофункциональная версия, поддерживающая управление пакетами, конфигураторы, сетевой стек, пакеты с реализацией графического интерфейса, системы голосового управления, СУБД, сетевых сервисов и движков для выполнения скриптов. Код написан на языке Си и распространяется под лицензией Apache 2.0.
Операционную систему образуют три базовых слоя:
Ядро, обеспечивающее выполнение задач в режиме реального времени. Ядро предоставляет универсальные базовые примитивы, охватывающие такие области, как управление блокировками и синхронизацией данных, планирование задач, управление потоками, обработка сигналов, очереди сообщений, управление таймером, управление памятью. Специфичные для аппаратного обеспечения особенности реализованы на уровне libcpu и BSP, которые включают необходимые драйверы и код для поддержки CPU.
Компоненты и сервисы, работающие поверх ядра и предлагающие такие абстракции как виртуальная файловая система, система обработки исключений, хранилище в формате ключ/значение, интерфейс командной строки FinSH, сетевой стек (LwIP) и сетевые фреймворки, библиотеки для поддержки устройств, звуковая подсистема, беспроводной стек, компоненты для поддержки Wi-Fi, LoRa, Bluetooth, 2G/4G. Модульная архитектура позволяет подключать компоненты и сервисы в зависимости от своих задач и имеющихся аппаратных ресурсов.
Пакеты программ. Программные компоненты общего назначения и библиотеки функций распространяются и устанавливаются в форме пакетов. В настоящее время репозиторий включает более 450 пакетов, предлагающих от графических интерфейсов, мультимедийных приложений и сетевых приложений до систем управления роботами и обработчиков на базе машинного обучения. В пакетах также поставляются движки для организации выполнения программ на языках Lua, JerryScript, MicroPython, PikaScript и Rust (rtt_rust).
Особенности платформы:
Поддержка архитектур:
ARM Cortex-M0/M0+/M3/M4/M7/M23/M33
(поддерживаются микроконтроллеры таких производителей, как ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP).
Расширяемая модульная архитектура, позволяющая сформировать окружение, подходящее для систем с ограниченными ресурсами (минимальные требования - 3 КБ Flash и 1.2 КБ ОЗУ).
Поддержка различных стандартных интерфейсов для разработки программ, таких как POSIX, CMSIS, C++ API. Отдельно развивается прослойка RTduino для совместимости с API и библиотеками проекта Arduino.
Возможность расширения через систему пакетов и подключаемых компонентов.
Поддержка разработки приложения для высокопроизводительной обработки информации.
Гибкая система управления питанием, позволяющая автоматически переводить устройство в режим сна и динамически управлять напряжением и частотой в зависимости от нагрузки.
Поддержка аппаратных средств для шифрования и расшифровки, предоставление библиотек с различными криптографическими алгоритмами.
Унифицированный интерфейс для доступа к периферийным устройствам и дополнительному оборудованию.
Виртуальная ФС и наличие драйверов для таких ФС, как FAT, UFFS, NFSv3, ROMFS и RAMFS.
Стек протоколов для TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M и т.п.
Система удалённой доставки и установки обновлений, поддерживающая шифрование и верификацию по цифровой подписи, возобновление прерванной
установки, восстановление после сбоя, откат изменений и т.п.
Система динамически загружаемых модулей ядра, позволяющая отдельно собирать и разрабатывать компоненты ядра, и динамически загружать их при появлении необходимости.
Поддержка различных сторонних пакетов, например, Yaffs2, SQLite, FreeModbus, Canopen и т.п.
Возможность прямой компиляции BSP-пакета (Board Support Package) с компонентами для поддержки определённой аппаратной платформы, и его загрузки на плату.
Наличие эмулятора (BSP qemu-vexpress-a9), позволяющего разрабатывать приложения без использования реальных плат.
Поддержка типовых компиляторов и инструментов для разработки, таких как GCC, MDK Keil и IAR.
Развитие собственной интегрированной среды разработки RT-Thread Studio IDE, позволяющей создавать и отлаживать приложения, загружать их на платы, управлять настройками. Плагины для разработки программ для RT-Thread также доступны для Eclipse и VS Code.
Наличие консольного интерфейса Env, упрощающего создание проектов и настройку окружения.
Среди изменений в новом выпуске:
Расширена поддержка разработки компонентов на языке Rust. Добавлены Rust-обвязки для потоков, мьютексов, семафоров, очередей сообщений, а также операций с памятью, временем и файлами. Реализованы компоненты для интеграции с SCons и Cargo. Обеспечено автоматическое определение целевых платформ ARM, AArch64 и RISC-V. Добавлены процедурные макросы для инициализации и регистрации команд.
Для микроконтроллеров Cortex-M включена поддержка стандарта Open Firmware
c описанием периферии через Device Tree.
Добавлена поддержка VirtIO 1.2 с возможностью использования очередей пакетов, транспортов MMIO/PCI и синхронизации DMA. Добавлены VirtIO-драйверы 9P, crypto, RNG, SCMI и SCSI. Обновлены VirtIO-драйверы для сети, блочных устройств, консоли, устройств ввода и GPU.
Добавлен фреймворк DVFS (Dynamic Voltage and Frequency Scaling) для динамического управления частотой CPU и устройств. Обеспечена интеграция с прошивкой ARM SCMI для управления энергопотреблением. Улучшено управление кулерами.
Добавлена поддержка TEE-окружений (Trusted Execution Environment) и механизма обмена сообщениями RPMSG (Remote Processor Messaging).
Реализована поддержка Unix-сокетов.
Добавлена поддержка механизмов защиты беспроводных сетей WPA3, EA (Enterprise Authentication), WAPI, OWE и DPP.
Добавлена поддержка протокола синхронизации времени PTP (Precision Time Protocol).
Добавлен фреймворк Clock Time для работы со временем, поддерживающий высокоточные таймеры и синхронизацию времени по нескольким источникам. Новый фреймворк пришёл на смену ранее используемым компонентам ktime, cputime и hwtimer,
Реализована файловая система 9PFS, применяемая для обмен файлами между хост-окружением и виртуальными машинами.
В реализации легковесных процессов lwP (Lightweight Process) появилась поддержка архитектуры ARM и добавлена поддержка механизма vDSO (virtual dynamic shared object), позволяющего перенести обработчики из ядра в пространство пользователя и избежать переключений контекста.
В ядре реализована поддержка 8- и 16-разрядных атомарных операций.
Добавлена поддержка симметричной мультипроцессорности (SMP) для RISC-V процессоров серии XuanTie C/R и эмулятора QEMU virt64.
Обновлён USB-стек CherryUSB 1.6.1.
Добавлены новые DM-драйверы (Device Manager) для UFS, AHCI, NVMe, Ethernet, Intel HDA, джойстиков и сенсорных экранов.
Начата модернизация кодовой базы для будущего перехода на GTK4.
Для KDE реализовано декорирование окон на стороне сервера (кнопки показываются не в заголовке, а под ним) вместо декорирования на стороне клиента в стиле GNOME. Устранено появление артефактов при использовании темы KDE Breeze.
Добавлена возможность вырезания выделенной области сразу из всех растеризованных и разблокированных слоёв группы.
В инструменте "Пипетка" учтено применение фильтров к отдельным слоям при определении цвета всех видимых слоёв.
Ускорена загрузка шрифтов, что сократило время запуска GIMP и уменьшило задержки в инструментах для работы с текстом.
Ограничена максимальная ширина всплывающих подсказок, чтобы длинные описания растягивались на весь экран.
В инструменты "Динамика рисования" и "Кисти MyPaint" добавлен параметр "Вращение", при котором графический редактор реагирует на поворот цифрового пера в руке (поддерживается в Wacom Art Pen и Wacom Art Pen 2).
В сборках для Windows и macOS решена проблема с некорректным отображением вторичных всплывающих окон, таких как окно с редактором метаданных, поверх основных диалогов. В теме оформления задействованы акцентные цвета, заданные в настройках ОС. Улучшены выставление фокуса ввода и работа многооконного режима.
Обеспечена публикация готового dmg-пакета для macOS.
Устранено 28 уязвимостей, большинство из которых потенциально могут привести к выполнению кода при открытии специально оформленных файлов.
Опубликованы корректирующие выпуски платформы совместной разработки Forgejo16.0.4 и 15.0.8, в которых устранена критическая уязвимость (CVE не назначен), позволяющая удалённому атакующему добиться выполнения своего кода на сервере. Администраторам серверов Forgejo рекомендовано срочно обновить свои системы и убедится в отсутствии следов компрометации. Уязвимость вызвана отсутствием должной чистки при создании нового репозитория из шаблона.
Для предотвращения подстановки своих команд при обработке переданного пользователем шаблона, платформа удаляет из него подкаталог .git/ перед инициализацией нового git-репозитория на сервере. Атакующий мог обойти данное удаление и добиться создания подкаталога .git/ со своим содержимым через манипуляцию с подстановкой переменных в файлы, размещённые в директории .forgejo/template (например, через подстановку "../../.git/hooks" в файловый путь). При последующей инициализации git-репозитория Git применял настройки из подкаталога .git/, которые могли включать операции, запускающие произвольные процессы. Проблема решена через удаление подкаталога .git/ не перед раскрытием переменных, а непосредственно перед запуском "git init".
COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop.
Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана.
Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland.
Среди изменений:
В композитном менеджере cosmic-comp значительно улучшена поддержка сенсорных экранов.
В композитном менеджере cosmic-comp реализована возможность запуска окон X11-приложений в минимизированном виде. Добавлена поддержка настройки применяемого по умолчанию режима декорирования окон на стороне сервера. Решена проблема с аварийным завершением при создании скриншота. Улучшена поддержка гибридных конфигураций c интегрированным GPU и дискретной видеокартой. Налажено выборочное скругление углов в темах оформления.
Обновлена библиотека Smithay, что привело к улучшению поддержки захвата указателя мыши.
В апплете управления Bluetooth и конфигураторе предоставлена возможность назначения Bluetooth-устройствам произвольных имён.
В библиотеке приложений (cosmic-app-library) обеспечено выравнивание по центру имён программ, показываемых под пиктограммами.
В файловом менеджере включено автоматическое переключение на другую вкладку при закрытии активной вкладки.
Налажена поддержка двухфакторной аутентификации в экране входа в систему.
Ведётся разработка экранной клавиатуры, которая пока не включена в состав релизов COSMIC. В экранной клавиатуре добавлен индикатор переключения раскладок клавиатуры и реализована обработка внешнего переключения раскладок (например, комбинацией клавиш на физической клавиатуре).
Опубликован релиз Automake 1.19, утилиты для автоматической генерации make-файлов, соответствующих стандартам кодирования проекта GNU.
В новой версии помимо исправления ошибок добавлен autoconf-макрос AM_OPTIONAL_AUTOMAKE, делающий необязательной обработку указанных опций "dist-XXX" при выполнении команды "make dist". На практике, новый макрос даёт возможность пропускать создание архивов без вывода ошибки, если в системе отсутствуют необходимые утилиты сжатия. Например, операция "make dist" не будет прервана, если в настройках указаны dist-zip, dist-xz и dist-zstd, но не удалось найти утилиты zip, xz и zstd.
Сформировано обновление дистрибутива Ubuntu 24.04.5 LTS, в которое включены изменения, связанные с улучшением поддержки оборудования, обновлением ядра Linux и графического стека, исправлением ошибок в инсталляторе и загрузчике. В состав также включены актуальные обновления для нескольких сотен пакетов, связанные с устранением уязвимостей и проблем, влияющих на стабильность. Одновременно представлены аналогичные обновления Kubuntu 24.04.5 LTS, Ubuntu Budgie 24.04.5 LTS, Ubuntu MATE 24.04.5 LTS,
Lubuntu 24.04.5 LTS, Ubuntu Kylin 24.04.5 LTS, Ubuntu Studio 24.04.5 LTS, Xubuntu 24.04.5 LTS, Edubuntu 24.04.5 LTS, Ubuntu Cinnamon 24.04.5 LTS и Ubuntu Unity 24.04.5 LTS.
В состав выпуска включены некоторые улучшения, бэкпортированные из выпуска Ubuntu 26.04. Предложены пакеты с ядром Linux версии 7.0 (базовое ядро Ubuntu 24.04 - 6.8). Обновлены компоненты графического стека, включая Mesa 26.0.3. Добавлены свежие версии видеодрайверов для чипов Intel, AMD и NVIDIA.
В сборках для рабочего стола (Ubuntu Desktop) новые ядро и графический стек предложены по умолчанию. Для серверных систем (Ubuntu Server) новое ядро добавлено в качестве опции в инсталляторе. Использовать новые сборки имеет смысл только для новых установок - системы, установленные ранее, могут получить все присутствующие в Ubuntu 24.04.5 изменения через штатную систему установки обновлений.
Для отката Ubuntu Desktop на базовое ядро 6.8 следует выполнить команду:
Представлен релиз проекта Jellyfin 12.0, позволяющего развернуть на собственном сервере систему мультимедийного вещания для трансляции имеющегося контента на устройства пользователей. Проект основан в 2018 году как форк медиасервера Emby, продолживший развитие открытой кодовой базы после перехода Emby на проприетарную модель разработки. Код Jellyfin написан на языке C# с использованием платформы .NET и распространяется под лицензией GPLv2. Предоставляются клиентские программы для ПК, мобильных устройств телевизоров, телеприставок и игровых контроллеров, а также web-интерфейс для настройки медиасервера, организации online-вещания и управления мультимедийной коллекцией.
Поддерживается трансляция видео и звука; навигация по коллекции фильмов, фотографий, электронных книг и музыки; просмотр и запись телеэфира при наличии ТВ-тюнера; синхронный совместный просмотр контента несколькими пользователями (SyncPlay); автоматическое обнаружение, каталогизация и сортировка контента; загрузка дополнительной информации (например, обложки альбомов и сведения о музыкантах); функции родительского контроля. Возможно перекодирование форматов на лету c ускорением при помощи технологий Intel QSV, NVIDIA NVENC и AMD AMF или отдача видео в исходном формате, если клиент поддерживает необходимый кодек.
Для взаимодействия с фронтэндами применяется клиент-серверная модель на основе протокола HTTP. Поддерживается вещание с использованием протоколов HLS (HTTP Live Streaming), DLNA и Google Cast (для Chromecast). Возможно расширение функциональности через плагины.
Сервер может быть запущен в Linux, macOS и Windows. Для упрощения развёртывания предлагается преднастроенный образ Docker-контейнера.
Среди изменений в новой версии:
Изменение структуры БД и оптимизация для хранения плейлистов и коллекций (каждый элемент теперь хранится как отдельная строка в таблице). Разделён запуск ресурсоёмких работ по обслуживанию БД и операций сканирования библиотеки.
Проведена оптимизация работы web-интерфейса и устранено подвисание при открытии некоторых страниц.
В основной состав добавлены средства для работы с электронными книгами. Появилась возможность извлечения данных о книгах и комиксах из файлов OPF, ComicInfo и ComicBookInfo. Добавлены плагины для интеграции с OpenLibrary, GoogleBooks и ComicVine. В web-интерфейсе реализован отдельный раздел для навигации по авторам и коллекциям электронных книг.
Для сериалов реализована возможность выбора вариантов материала (режиссерская/театральная версия, качество 4K/1080p).
Добавлена возможность отдельной настройки источника рекомендаций и параметров субтитров для каждой библиотеки.
В клиентах для ПК и мобильных устройств задействован новый интерфейс Modern, а старый вариант переименован в Legacy.
Сервер переведен на .NET 10 (требуется пересборка плагинов). Библиотеки FFmpeg обновлены до ветки 8.1.
Батист Даруссен (Baptiste Daroussin), член FreeBSD Core Team и автор пакетного менеджера pkg, развивает новый системный менеджер для FreeBSD - rcd. Системный менеджер rcd вызывается init-процессом вместо /etc/rc, читает файлы конфигурации сервисов (/etc/rcd.d/*.ucl), строит дерево зависимостей и запускает сервисы по возможности параллельно друг с другом, после чего отслеживает работу сервисов и при необходимости их перезапускает.
Управление фоновым процессом и операции с сервисами может осуществляться через прямую передачу команд в UNIX-сокет или при помощи утилиты командной строки rctl. Unit-файлы с параметрами сервисов оформляются в формате UCL, который напоминает формат файлов конфигурации nginx и bind с элементами для упрощения автоматизированной обработки, заимствованными из JSON. Предоставляется возможность создания шаблонов типовых unit-файлов и написания встроенных обработчиков на языке Lua. Пример unit-файла для запуска nginx:
Вместо работы с PID-файлами отслеживание активности запущенных процессов осуществляется с использованием дескрипторов, возвращаемых системным вызовом pdfork(). Имеется поддержка активации сервисов только при обращении к сетевому сокету и возможность защиты важных сервисов от принудительного завершения в случае нехватки памяти в системе. Возможно обновление версии фонового процесса rcd на лету без потери состояния.
Для ограничения доступных сервису ресурсов применяется rctl, а для полной изоляции сервисов поддерживается их запуск в jail-окружениях. Возможна настройка доступа к управляющему UNIX-сокету в привязке к отдельным сервисам. Поддерживается переход в спящий режим.
Системный менеджер полностью обратно совместим с существующей системой последовательного запуска сервисов rc.d и может работать без изменения имеющихся rc.d-скриптов и файлов конфигурации. Достаточно установить rcd на работающую систему и после перезапуска всё продолжит функционировать как раньше, за исключением сокращения времени загрузки за счёт распаралелливания запуска сервисов. Подобная совместимость упростит миграцию систем на rcd и даст возможность постепенно переводить в формат unit-файлов имеющиеся rc.d-скрипты.
Для совместимости с rc.d поддерживается специальный тип unit-ов "legacy". Rcd сканирует содержимое /etc/rc.d/ и /usr/local/etc/rc.d/, разбирает заголовки PROVIDE/REQUIRE/BEFORE/KEYWORD в скриптах, читает настройки rc.conf и определяет состояние запуска скриптов, после чего обрабатывает каждый скрипт как виртуальный legacy unit. В случае использования команды rcctl для управления подобными виртуальными unit-ами, операции транслируются в старый формат, например, выполнение "rcctl reload sshd" приведёт к запуску "/etc/rc.d/sshd reload".
Компания NVIDIA опубликовала выпуск проприетарного драйвера NVIDIA 615.71.09 (первый стабильный выпуск новой ветки 615). Драйвер доступен для Linux (ARM64, x86_64), FreeBSD (x86_64) и Solaris (x86_64). NVIDIA 615.x стала четырнадцатой стабильной веткой после открытия компанией NVIDIA компонентов, работающих на уровне ядра. Исходные тексты модулей ядра nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko и nvidia-uvm.ko (Unified Video Memory) из новой ветки NVIDIA, а также используемые в них общие компоненты, не привязанные к операционной системе, размещены на GitHub. Прошивки и используемые в пространстве пользователя библиотеки, такие как стеки CUDA, OpenGL и Vulkan, остаются проприетарными.
Добавлена поддержка Vulkan-расширения VK_NV_low_latency2, позволившая реализовать в пакетах Proton и DXVK возможность применения механизма NVIDIA Reflex в играх на базе API Vulkan, использующих библиотеку NvLowLatencyVk.dll. NVIDIA Reflex позволяет снизить задержки при отрисовке графики в играх за счёт упреждающей отправки команд формирования нового кадра, до того как завершена отрисовка текущего кадра.
Реализована поддержка Vulkan-расширения VK_EXT_cluster_acceleration_structure, позволяющего значительно оптимизировать трассировку лучей в сценах с высокой детализацией.
Добавлена поддержка секционирования памяти, используя механизм cgroups.
В модуль ядра nvidia.ko добавлен NVreg-параметр RmDisableDisplayGlitchPerfLimit, допускающий снижение частоты видеопамяти до минимального уровня, игнорируя ограничения, введённые для защиты от появления артефактов. Предложенная настройка позволяет снизить энергопотребление в режиме простоя в некоторых конфигурациях с несколькими мониторами, ценой потенциального кратковременного появления артефактов на экране. Для активации можно использовать команду:
В NVreg по умолчанию включён параметр UseKernelSuspendNotifiers=1, обеспечивающий обработку модулем ядра nvidia.ko уведомлений о переходе спящий режим и возврате из него для самостоятельного управления сохранением/восстановлением содержимого видеопамяти.
Устранены проблемы с замедлением работы и нарушением вывода на GPU Blackwell, появлением ошибки Xid 109 при загрузке PRAGMATA на системах с Wayland, зависании при запуске и нажатии alt-tab, утечкой файловых дескрипторов при выгрузке библиотеки libGLX_nvidia.so.0 и невозможности выхода из спящего режима.
Дополнительно можно отметить объявление Дэйвом Эйрли (David Airlie), мэйнтейнером стека графических драйверов в ядре Linux, о реализацииподдержки в модуле ядра nouveau и Mesa-драйвере NVK рабочей станции NVIDIA DGX Spark на базе чипа NVIDIA GB10 Grace Blackwell (CPU+GPU), преподносимой как персональный суперкомпьютер для запуска автономных AI-агентов. Для достижения возможности загрузки и отображения информации при использовании драйвера nouveau потребовалось внести около 100 изменений, адаптировать драйвер для новых прошивок NVIDIA, переработать взаимодействие с дисплейным контроллером и решить проблемы с L2-кэшированием и использованием общей с CPU памяти (в NVIDIA GB10 нет отдельной видеопамяти).
Арнд Бергман (Arnd Bergmann), отвечающий за пакеты с ядром в SUSE, подготовил патчи, удаляющие из ядра около 55 тысяч строк кода, связанного с поддержкой устаревших платформ ARM, которые почти не используются и мешают сопровождению актуальных подсистем. К удалению намечены платформы sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge, старые платы pxa, orion, dove и mv78xx0, чипы без блока управления памятью (MMU) и микроконтроллеры stm32f4/f7/h7. Указанные платформы намечены для удаления в ядре 7.5, ожидаемом в первом квартале 2027 года, чтобы не проводить удаление в LTS-ядре и дать время пользователям заявить о продолжении использования каких-то систем для предотвращения их удаления.
Состоялся выпуск X11-сервера yserver 1.5.0, написанного с нуля на языке Rust и поддерживающего актуальные расширения протокола X11. Проект не ставит перед собой цель повторить все возможности Xorg Server и ограничивается только функциональностью, необходимой для запуска современных сред рабочего стола, оконных менеджеров, приложений и графических библиотек (GTK, Qt, SDL, GLFW). Из протестированных окружений отмечены MATE, Xfce, Cinnamon, Sonic и Enlightenment, а также оконные менеджеры, такие как icewm, FVWM3, openbox, i3 и wmaker. Код проекта распространяется под лицензией MIT. При разработке используются AI-инструменты Claude.
В yserver решено не поддерживать устаревшие и специфичные возможности, такие как обработка нескольких X11-экранов в одном сервере (многомониторный вывод поддерживается), отличные от TrueColor режимы цветности, непрямой рендеринг (indirect GLX), API драйверов DDX, старые методы работы со шрифтами и подключение клиентов с другим порядком следования байтов (трансляция между big-endian и little-endian).
Вывод графики организован через DRM/KMS и Vulkan-драйверы Mesa. Для управления сеансом и организации доступа к совместно используемым устройствам ввода и вывода используется библиотека libseat. Помимо обособленного X-сервера поставляется ynest - бэкенд для вложенного запуска, поддерживающий работу из Xwayland или другого X11-сервера.
Работа протестирована на системах в GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa-драйвер RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa-драйвер ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, а также в системах виртуализации с virtio-gpu и виртуальным GPU Venus. Поддерживается работа в Linux и FreeBSD.
В новой версии:
Добавлена поддержка механизма reverse-PRIME, позволяющего использовать интегрированный GPU для рендеригна, а GPU дискретной видеокарты для вывода на экран в ситуации подключения внешних мониторов к портам дискретной видеокарты.
Добавлена поддержка передачи в Mesa данных о частоте обновления экрана через расширение GLX_OML_sync_control.
Реализована оптимизация для снижения задержек у клиентов с отключённой вертикальной синхронизацией (vsync-off).
Обеспечено извлечение имён производителей GLX из видеодрайвера для выбора соответствующей клиентской библиотеки GLX (например, Mesa или NVIDIA).
Реализована поддержка объектов синхронизации DRI3 1.4 с задействованием примитивов drm_syncob подсистемы ядра DRM (Direct Rendering Manager).
Добавлена поддержка алгоритма отслеживания изменений на экране для перерисовки не всего содержимого, а только изменившихся частей, применяемого в композитных серверах Wayland на базе библиотеки wlroots.
Предоставлена возможность отрисовки рамок окна на стороне X11-сервера.
Реализована сборка пакетов для архитектуры Aarch64, помимо x86_64.
Представлен открытый проект AxonOS, развивающий программную инфраструктуру для систем с нейрокомпьютерным интерфейсом, предназначенную для построения детерминированного слоя выполнения между нейронным оборудованием и AI. Ядро AxonOS разрабатывается на языке Rust в режиме "no_std" с акцентом на предсказуемое real-time выполнение, формализованный ABI системных вызовов, capability-модель доступа и IPC, обходящийся без блокировок. Исходный код открыт под лицензиями MIT или Apache 2.0.
Проект включает ядро/runtime, BCI-интеграцию, архитектурные спецификации, модель предоставления полномочий на основе получения явного согласия пользователя (consent/permissions) и инструменты real-time анализа. В настоящее время ОС AxonOS развивается для процессоров ARM Cortex-M и находится на стадии верификации работы на оборудовании и независимой проверки real-time характеристик. Архитектура AxonOS рассматривает нейрокомпьютерные интерфейсы как многоуровневую систему: нейрокомпьютерное устройство → HAL → детерминированный runtime → IPC → модель доступа permissions/consent → слоя для приложений и AI.
Основная идея проекта - создать контролируемый слой выполнения приложений, функционирующий между нейрокомпьютерным устройством и AI, в котором требования к детерминизму, изоляции, доступу к нейронным данным и времени отклика являются частью системной архитектуры, а не функцией прикладного приложения. Отдельное направление проекта - анализ максимального времени выполнения запросов (WCRT, Worst-Case Response Time) для задач с фиксированными приоритетами. Для этого развивается независимый инструмент "dy-wcet" - "no_std" Rust crate-пакет, реализованный без использования операций с плавающей запятой.
Исследователи из компании Nebula Security раскрыли сведения о 18 уязвимостях в ядре Linux и подготовили для них эксплоиты, позволяющие непривилегированному локальному пользователю получить права root в системе. Уязвимости устранены в различных весенних и летних обновлениях ядра. Выявленные проблемы:
CVE-2026-43502 (эксплоит) - уязвимость в сетевой подсистеме RDS (Reliable Datagram Sockets), вызванная некорректной очисткой закреплённых страниц памяти при сбое отправки данных в режиме zerocopy на этапе до постановки сообщения в очередь. Проблема получила кодовое имя ZcopyReaper, проявляется начиная с версии ядра 4.17 и устранена в ядре в мае. Эксплуатации уязвимости возможна на системах с ядром, собранным с опциями CONFIG_INET=y, CONFIG_AIO=y, CONFIG_RDS=y|m и CONFIG_RDS_TCP=y|m (как правило выставляются по умолчанию). Прав для работы с пространствами имён идентификаторов пользователей для атаки не требуется. Работа эксплоита продемонстрирована в openSUSE со штатным ядром 6.4.
CVE-2026-80714 (эксплоит) - уязвимость в подсистеме IPVS (IP Virtual Server), вызванная обращением к памяти после её освобождения из-за ошибочного выставления флага IP_VS_CONN_F_ONE_PACKET при синхронизации соединения, которое после истечения времени жизни соединения приводит к оставлению в хэш-таблице висячих указателей, ссылающихся на уже освобождённую структуру ip_vs_conn. Проблема устранена 19 августа. Работа эксплоита продемонстрирована в Debian 13 c ядром 6.12.
CVE-2026-74597 (эксплоит) - уязвимость в драйвере ip6_tunnel, вызванная ошибочным применением к инкапсулированному пакету смещения для опции HAO (Home Address Option), вычисленного на основании внешнего пакета. Через передачу инкапсулированного пакета со специально оформленным заголовком можно добиться записи данных за пределы выделенного буфера. Проблема устранена 19 августа. Работа эксплоита продемонстрирована в CentOS c ядром 6.12.
CVE-2026-74581 (эксплоит) - уязвимость в коде для работы с таблицами маршрутизации IPv6, вызванная обращением к памяти после её освобождения (после освобождения памяти под маршрут оставался активный указатель на этот маршрут). Проблема устранена 19 августа. Работа эксплоита продемонстрирована в Debian 13 c ядром 6.12.
CVE-2026-74480 (эксплоит) - уязвимость в подсистеме сетевых мостов, вызванная обращением к памяти после её освобождения в коде выхода из multicast-группы (после удаления элемента из связного списка цикл не прерывался и в ходе итераций производилось обращение по указателю на список портов, оставшемуся после удаления). Проблема устранена 9 августа. Работа эксплоита продемонстрирована в RHEL 10 c ядром 6.12.
CVE-2026-72255 (эксплоит) - уязвимость в модуле nf_queue подсистемы netfilter, вызванная обращением к памяти после её освобождения, возникающим в ситуации, если после удаления сетевого моста связанный с ним пакет ещё находился в очереди NFQUEUE. Проблема устранена 24 июля. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-72137 (эксплоит) - уязвимость в модуле IPSec XFRM, приводящая к двойному освобождению структуры skb при ошибке отправки keepalive-пакета. Проблема устранена 30 июня. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-68376 (эксплоит) - уязвимость в реализации протокола SCTP, приводящая к переполнению буфера из-за некорректного расчёта размера массива для хранения HMAC-идентификаторов. Проблема устранена 3 августа. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-68162 (эксплоит) - уязвимость в реализации протокола SCTP, приводящая к обращению к памяти после её освобождения при попытке изменения sysctl-параметра после закрытия управляющего сокета.
Проблема устранена 10 апреля. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-64560 (эксплоит) - уязвимость в posix-cpu-timer, приводящая к обращению к памяти после её освобождения из-за состояния гонки между удалением таймера и вызовом exec() после смены лидера группы потоков. Проблема устранена 5 июля. Работа эксплоита продемонстрирована на устройстве Google Pixel с платформой Android.
CVE-2026-52933 (эксплоит) - уязвимость в подсистеме io_uring, приводящая в случае установки флага IO_POLL_CANCEL_FLAG к обращению к памяти после её освобождения из-за интерпретации как отрицательного числа значения atomic_read() при сравнении со счётчиком ссылок. Проблема устранена 15 апреля. Работа эксплоита продемонстрирована в Fedora Linux c ядром 6.19.
CVE-2026-52924 (эксплоит) - уязвимость в реализации протокола SCTP, приводящая к обращению к памяти после её освобождения из-за оставления активного указателя и данных в очереди отправки после освобождения таблицы потоков после возникновения ошибки "Stale Cookie". Проблема устранена 19 июня. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-52923 (эксплоит) - уязвимость в подсистеме SysV IPC, приводящая к обращению к памяти после её освобождения из-за оставления в структуре IDR висячего указателя на освобождённый элемент индекса. Проблема устранена 24 июля. Работа эксплоита продемонстрирована в RHEL 10 c ядром 6.12.
CVE-2026-52912 (эксплоит) - уязвимость в модуле nf_queue подсистемы netfilter, вызванная обращением к памяти после её освобождения из-за неверной обработки указателя после удаления сетевого моста при наличия связанных с ним пакетов в очереди NFQUEUE. Проблема устранена 1 июня. Работа эксплоита продемонстрирована в openSUSE c ядром 6.4.
CVE-2026-43501 (эксплоит) - уязвимость в коде переупаковки заголовков IPv6 SRH (Source Routing Header), приводящая к записи данных за пределы буфера из-за отсутствия проверки условий, при которых новый заголовок может оказаться больше старого. Проблема устранена 7 мая. Работа эксплоита продемонстрирована на соревновании kernelCTF.
CVE-2026-43042 (эксплоит) - уязвимость в механизме MPLS, приводящая к обращению к данным за пределами буфера из-за состояния гонки, возникающего при одновременном чтении блокировки и изменении размера таблицы.
Проблема устранена 11 апреля. Работа эксплоита продемонстрирована в Debian 13 c ядром 6.12.
CVE-2026-31678 (эксплоит) - уязвимость в подсистеме openvswitch, вызванная обращением к памяти после её освобождения из состоянии гонки при удалении ссылки на сетевое устройство до завершения цикла RCU (Read-Copy-Update). Проблема устранена 2 апреля. Работа эксплоита продемонстрирована в Fedora Linux 44 с ядром 6.19.
CVE-2026-31659 (эксплоит) - уязвимость в реализации протокола B.A.T.M.A.N. (Better Approach to Mobile Ad-hoc Networking), приводящая к переполнению буфера из-за целочисленного переполнения, вызванного использованием 16-битных значений при вычислении размера буфера. Проблема устранена 18 апреля. Работа эксплоита продемонстрирована в Arch Linux c ядром 6.19.
Представлен первый бета-выпуск проекта MiDesktop, развивающего форк среды рабочего стола KDE 1.1.2, адаптированный для работы на современных системах. Для решения проблем и избавления от ограничений лицензии, специфичных для ветки Qt 1, кодовая база KDE 1 портирована на фреймворк Osiris, развивающий актуализированный форк Qt 2.3.2. Код MiDesktop распространяется под лицензией GPLv2. Готовые сборки сформированы для Debian 13 и Ubuntu 24.04.
Ключевыми свойствами MiDesktop названы простота интерфейса, легковесность и высокая производительность. Разработчики пытаются сохранить общий минималистичный подход к разработке десктоп-систем конца 1990-х и начала 2000-х годов, но избавить среду рабочего стола от недостатков, присущих системам того времени, и модернизировать кодовую базу KDE 1, не перегружая при этом пользовательское окружение избыточной функциональностью.
Для запуска MiDesktop достаточно любой Linux-системы с glibc и X-сервером, таким как XWayland или X.Org Server, или прослойкой Wayback. Из зависимостей отмечены библиотеки libjpeg, libtiff, libpng,
Osiris Toolkit 2.4.4+, libxcb, libxkb и gettext. Для сборки необходимы CMake и GCC 12+.
Среди изменений в бета-выпуске:
Добавлена новая панель задач MiPanel, основанная на версии KPanel, поставлявшейся в Corel Linux.
Портированы приложения KCalc, KHexdit, KScreenshot, Ark и KNotes.
Реализована полноценная поддержка прокрутки с использованием колеса мыши (ранее прокрутка работала только при помещении курсора на полосу прокрутки).
Обеспечено корректное отображение шрифтов (ранее не работало сглаживание).
Устранены проблемы с пропаданием меню и случайными кликами на панели.
Налажено древовидное отображение списков в KDE Control Center.
Решены проблемы с изменением размера окон GTK-приложений, таких как Firefox, приводившие к смещению части окна за пределами видимой области.