· | 07.07.2025 | Доступен Wayland 1.24 (78 +2) |
После 13 месяцев разработки представлен стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.24. Ветка 1.24 обратно совместима на уровне API и ABI с выпусками 1.x и содержит в основном исправления ошибок и незначительные обновления протокола. Наработки проекта распространяются под лицензией MIT. Эталонный композитный сервер Weston, предоставляющий код и рабочие примеры для использования Wayland в десктоп-окружениях и встраиваемых решениях, развивается в рамках отдельного цикла разработки.
Основные изменения в протоколе:
Наиболее заметные события, связанные с Wayland и произошедшие с момента публикации прошлого выпуска:
Добавленные за последний год расширения протоколов, дополняющих базовый протокол Wayland и поставляемых в отдельном наборе Wayland-Protocols:
Напомним, что Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK и Qt, берущих на себя работу по компоновке содержимого окон. Wayland решает многие проблемы с безопасностью X11, так как в отличие от последнего изолирует ввод и вывод для каждого окна, не позволяет клиенту получить доступ к содержимому окон других клиентов, а также не допускает перехват связанных с другими окнами событий ввода. Поддержка прямой работы c Wayland реализована для большинства применяемых в Linux графических библиотек, включая GTK, Qt, SDL, FLTK, wxWidgets, Clutter и EFL (Enlightenment Foundation Library). Взаимодействие с аппаратным обеспечением в Wayland/Weston, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland используется DDX-компонент XWayland (Device-Dependent X), похожий по организации работы на Xwin и Xquartz для платформ Win32 и macOS. ![]() ![]()
| ||
Обсуждение (78 +2) |
Тип: К сведению |
Интересно
| ||
· | 06.07.2025 | Релиз командной оболочки Bash 5.3 (151 +21) |
После почти трёх лет разработки опубликована новая версия командного интерпретатора GNU Bash 5.3, используемого по умолчанию в большинстве дистрибутивов Linux. Одновременно сформирован релиз библиотеки readline 8.3, применяемой в bash для организации редактирования командной строки.
Из ключевых улучшений можно отметить:
| ||
Обсуждение (151 +21) |
Тип: Программы |
| ||
· | 06.07.2025 | Let's Encrypt начнёт выдавать TLS-сертификаты для IP-адресов (65 +31) |
Некоммерческий удостоверяющий центр Let's Encrypt, контролируемый сообществом и предоставляющий сертификаты безвозмездно всем желающим, анонсировал начало предоставления бесплатных сертификатов для IP-адресов. В отличие от сертификатов для доменов срок действия сертификатов для IP-адресов составит не 30, а 6 дней. Реализуемая возможность позволит настроить защищённый шифрованный доступ к хостам не только при использовании доменных имён, но и при обращении напрямую по IP-адресу.
Из областей, в которых может оказаться востребовано защищённое обращение к web-серверу напрямую по IP-адресу, упоминается взаимодействие с домашними устройствами, такими как серверы хранения; начальная настройка или тестирование новых серверов; организация шифрованных соединений между бэкендами во внутренней инфраструктуре; создание хостинг-провайдерами информационных страниц-заглушек, показываемых по умолчанию при обращении по IP; организация входа на привязанные к IP-адресам сервисы, такие как 1.1.1.1 и 8.8.8.8; развёртывание личных серверов, на которые не хочется тратить деньги на регистрацию домена; организация доступа к серверам DoH (DNS over HTTPS) напрямую по IP. В настоящее время сертификаты для IP генерируются в тестовом режиме и будут доступны для широкого использования позднее в этом году, одновременно с возможностью генерации для доменов короткоживущих сертификатов, действующих 6 дней. Для запроса короткоживущего сертификата и сертификата для IP требуется наличие в ACME-клиенте поддержки расширения протокола, реализующего профили, а также поддержки профиля "shortlived". Для подтверждения владения IP-адресом можно использовать только методы http-01 и tls-alpn-01 (метод dns-01 запрещён).
| ||
Обсуждение (65 +31) |
Тип: К сведению |
| ||
· | 05.07.2025 | Релиз Multipass 1.16, инструментария для развёртывания Ubuntu в виртуальных машинах (18 +7) |
Компания Canonical опубликовала выпуск инструментария multipass 1.16, предназначенного для упрощения установки различных версий Ubuntu в виртуальных машинах, запускаемых в системах виртуализации Linux, Windows и macOS. Выпуск примечателен полным открытием кодовой базы проекта - в репозиторий включён код компонентов для организации работы в Windows и macOS, ранее не распространяемый публично. Код проекта написан на C++ и распространяется под лицензией GPLv3. Для быстрой установки multipass в Ubuntu подготовлен snap-пакет.
Multipass позволяет разработчику одной командой без дополнительных настроек запустить нужную версию Ubuntu в виртуальной машине, например, для экспериментов или проверки работы своего приложения. Для запуска виртуальной машины в Linux используется KVM или VirtualBox, в Windows - Hyper-V, а в macOS - HyperKit. Поддерживается работа в дистрибутивах Arch Linux, CentOS, Debian, elementary OS, Fedora, KDE Neon, Kubuntu, Manjaro, Pop!_OS, openSUSE, Red Hat Enterprise Linux, Ubuntu и Raspberry Pi OS. Инструментарий самостоятельно извлекает необходимый образ операционной системы и поддерживает его в актуальном состоянии. Для настройки может применяться cloud-init. Предусмотрена возможность как монтирования дисковых разделов в виртуальное окружение (команда "multipass mount"), так и передачи отдельных файлов между хост-системой и виртуальной машиной (команда "multipass transfer"). Поддерживается полная интеграция установленной виртуальной машины с основным рабочим столом (добавляются пиктограммы приложений, системное меню и уведомления). Основные изменения:
| ||
Обсуждение (18 +7) |
Тип: Программы |
| ||
· | 03.07.2025 | Доступен язык программирования Perl 5.42 (168 +24) |
После года разработки опубликован релиз новой стабильной ветки языка программирования Perl - 5.42. При подготовке нового выпуска было изменено около 280 тысяч строк кода (без документации и автоматически сгенерированного кода - 93 тысячи), изменения затронули 1500 файлов, в разработке приняли участие 64 разработчика.
Ветка 5.42 выпущена в соответствии с утверждённым двенадцать лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.42.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.42.0. Одновременно с выходом Perl 5.42 прекращена поддержка ветки 5.38, для которой обновления могут быть выпущены в будущем только в случае выявления критических проблем с безопасностью. Начался процесс разработки экспериментальной ветки 5.43, на базе которой в июне 2026 года будет сформирован стабильный релиз Perl 5.44, если не будет принято решение перейти к нумерации 7.x. Ключевые изменения:
| ||
Обсуждение (168 +24) |
Тип: Программы |
| ||
· | 03.07.2025 | Возобновлена работа над лицензией Copyleft-next, развиваемой на смену GPLv3 (263 –39) |
Бредли Кун (Bradley M. Kuhn), основатель правозащитной организации Software Freedom Conservancy (SFC) и бывший директор Фонда СПО, и Ричард Фонтана (Richard Fontana), один из трёх ключевых авторов лицензии GPLv3 (два остальных - Ричард Столлман и Эбен Моглен) и бывший директор организации OSI (Open Source Initiative), объявили о возобновлении работы над лицензией Copyleft-next. Разработка новой лицензии началась в 2012 году под именем GPL.next, но с 2016 года проект не развивался.
Целью проекта является разработка копилефт лицензии нового поколения, идущей на смену лицензии GPLv3, а также учитывающей современные реалии и потребности корпораций, развивающих свободные проекты. Отмечается, что лицензии GPLv3 исполнилось 18 лет, а GPLv2 - 34 года, и за это время в сообществе назрела потребность в пересмотре применения жёсткого копилефта. Текст лицензии Copyleft-next основан на лицензии GPLv3, очищенной от лишних нагромождений и ограничений, что позволило улучшить совместимость с пермиссивными лицензиями и добиться переносимости с проектами под лицензией Apache. Лицензия значительно сокращена и упрощена для восприятия (например, убраны введение с политикой фонда СПО, приложение с пояснениями по применению, упоминания избыточных и устаревших компромиссов). Одним их принципиальных отличий от существующих копилефт лицензий стал пункт "Copyleft Sunset", отменяющий условия соблюдения копилефта через 15 лет после первой публикации работы под лицензией Copyleft-next. В частности, через 15 лет лицензия превращается в разрешительную, так как прекращают действовать пункты 3-5 c требованиями по распространению производных продуктов под лицензией Copyleft-next, запретом наложения дополнительных ограничений и обязательной доступности исходного кода при распространении бинарных сборок. Другим нетипичным новшеством является аннулирование копилефт защиты при двойном лицензировании проекта - под лицензией Copyleft-next и коммерческой лицензией. Если продукт дополнительно поставляется под коммерческой лицензией или на условиях, противоречащих критериям OSI или Фонда СПО, то в свободном варианте продукта прекращают действовать пункты 3-5, обеспечивающие копилефт-защиту произведения (лицензия превращается в пермиссивную). Из возможностей Copyleft-next также можно отметить отзыв лицензии в случае нарушения условий использования (например, если началось распространение производного продукта без предоставления доступа к исходному коду). На исправление нарушения даётся 13 дней. Лицензия также отзывается у лиц, инициировавших судебный процесс по нарушению патентов (за исключением встречных исков), пересекающихся с проектом под лицензией Copyleft-next.
| ||
Обсуждение (263 –39) |
Тип: К сведению |
| ||
· | 02.07.2025 | В GNOME 49 просмотрщик документов Evince заменят на приложение Papers (134 +3) |
Команда, отвечающая за формирование релизов GNOME, одобрила включение в основной состав GNOME нового просмотрщика документов Papers. Начиная с выпуска GNOME 49, программа Papers будет поставляться вместо Evince под именем Document Viewer в качестве просмотрищика документов по умолчанию. Изменения, связанные с заменой Evince на Papers, приняты в репозиторий GNOME. В Ubuntu 25.04 приложение Papers уже поставляется вместо Evince.
Приложение Papers является форком Evince, созданным год назад одним из участников разработки ветки evince-next с целью существенной модернизации кодовой базы. Ключевыми отличиями Papers стало портирование на библиотеку GTK4 и задействование языка Rust для разработки - на Rust переписывается код, обеспечивающий работу интерфейса пользователя. Из значительных отличий также выделяется существенная модернизация оформления, повышение производительности и интеграция средств для заверения документов цифровой подписью. По функциональности Papers близок к Evince и также позволяет просматривать, искать и аннотировать документы в форматах PDF, DjVu, TIFF и архивах комиксов (CBR, CBT, CBZ, CB7). При этом в Papers проведена чистка API библиотек libppsdocument и libppsview, а также прекращена поддержка формата DVI и платформы Windows. Многие внутренние виджеты Evince заменены на стандартные виджеты GTK. Прекращено использование фонового процесса papersd. Вместо ручной перезагрузки документа подобная операция теперь выполняется автоматически при определении изменения файла. Убрана отдельная панель с инструментами для добавления аннотаций, вместо которой рекомендовано использовать контекстное меню или горячие клавиши. ![]()
| ||
Обсуждение (134 +3) |
Тип: К сведению |
| ||
· | 02.07.2025 | Выпуск загрузочных прошивок CoreBoot 25.06, Libreboot 25.06 и Canoeboot 25.06 (29 +9) |
Опубликован выпуск проекта CoreBoot 25.06, разрабатывающего свободную альтернативу проприетарным прошивкам и BIOS. Код проекта распространяется под лицензией GPLv2. В состав новой версии включено 879 изменений, подготовленных при участии 128 разработчиков.
Основные изменения:
Дополнительно можно отметить релиз свободной загрузочной прошивки Libreboot 25.06, который получил статус стабильного выпуска, сосредоточенного на оттачивании функциональности, добавленной в экспериментальных выпусках (стабильные релизы в основном содержат исправления и публикуются примерно раз в год, прошлый стабильный релиз был в декабре). Проект развивает готовую сборку проекта Coreboot, предоставляющую замену проприетарным прошивкам UEFI и BIOS, отвечающим за инициализации CPU, памяти, периферийных устройств и других компонентов оборудования, с минимизацией бинарных вставок. Libreboot нацелен на формирование системного окружения, позволяющего обойтись без проприетарного ПО настолько, насколько это возможно, не только на уровне операционной системы, но и прошивки, обеспечивающей загрузку. Libreboot дополняет Coreboot средствами для упрощения применения конечными пользователями, формируя готовый дистрибутив, которым может воспользоваться любой пользователь, не имеющий специальных навыков. По сравнению с прошлым стабильным релизом добавлена поддержка материнской платы Acer Q45T-AM, а также мини-ПК Dell Precision T1700 SFF и MT. Улучшена система сборки. Добавлена возможность сборки с использованием GCC 15. CoreBoot синхронизирован с репозиторием по состоянию на 20 апреля. С актуальными кодовыми базами синхронизированы компоненты GRUB2, U-Boot, SeaBIOS, flashprog, uefitool и NASM. Оборудование, поддерживаемое в Libreboot:
Также сформирован выпуск проекта Canoeboot 25.06, который позиционируется как полностью свободная сборка Libreboot, соответствующая требованиям Фонда СПО к свободным дистрибутивам. Выпуск Canoeboot основан на версии Libreboot 25.06, из которой удалены компоненты и изменения, не соответствующие критериям Фонда СПО. Необходимость в создании отдельной сборки Libreboot объясняется тем, что сформированные Фондом СПО требования к свободным дистрибутивам не допускают поставку бинарных прошивок (firmware) и любых бинарных компонентов драйверов. При этом начиная с 2022 года проект Libreboot перешёл на более прагматичные правила использования бинарных компонентов, позволившие заметно расширить спектр поддерживаемого аппаратного обеспечения. Новой целью проекта Libreboot стала поддержка всего оборудования, поддерживаемого в coreboot, за исключением бинарных компонентов, влияющих на безопасность и надёжность (например, в Libreboot используется me_cleaner для отключения Intel ME). При таком подходе Libreboot потерял статус полностью свободного дистрибутива с позиции Фонда Свободного ПО. В новой версии Canoeboot реализована поддержка:
Устройства, поддерживаемые в Canoeboot:
| ||
Обсуждение (29 +9) |
Тип: Программы |
| ||
· | 01.07.2025 | Атака через Bluetooth-наушники Sony, Marshall и Beyerdynamic на чипах Airoha (102 +20) |
В Bluetooth-устройствах, использующих SoC от компании Airoha Systems, выявлены уязвимости, позволяющие получить контроль над устройством через отправку специально оформленных данных по Bluetooth Classic или BLE (Bluetooth Low Energy). Атака может быть совершена без аутентификации и без предварительного сопряжения, при наличии устройства жертвы в зоне досягаемости сигнала Bluetooth (примерно 10 метров). Уязвимости затрагивают некоторые модели беспроводных наушников, колонок и микрофонов от Sony, Marshall, Beyerdynamic и менее известных компаний.
Выявившие уязвимость исследователи смогли подготовить прототип инструментария, позволяющего удалённо по Bluetooth читать и записывать данные в оперативную память и Flash. На практике, получение полного доступа к памяти наушников может использоваться для атаки на сопряжённый с наушниками смартфон пользователя. В частности, упоминается, что через взаимодействие наушников со смартфоном можно получить доступ к содержимому адресной книги, извлечь историю звонков, совершать звонки и прослушивать разговоры или улавливаемые микрофоном звуки. Для взаимодействия со смартфоном со скомпрометированных наушников используются возможности Bluetooth-профиля HFP (Hands-Free Profile), позволяющего отправлять команды на смартфон. Из-за сложности эксплуатации уязвимостей можно предположить, что они будут востребованы для проведения целевых атак на конкретных персон, а не на массовое применение против обычных пользователей. Проблема в том,что инструментарий для проведения атаки должен быть реализован для каждой отдельной модели наушников, так как необходимо учитывать различия раскладки памяти в каждой прошивке. Проведение атаки возможно благодаря выявлению трёх уязвимостей в Blutooth-стеке Airoha. Уязвимости CVE-2025-20700 и CVE-2025-20701 позволяют установить канал связи с Bluetooth BR/EDR (Bluetooth Classic) и сервисами GATT (Bluetooth Low Energy) без прохождения аутентификации, а уязвимость CVE-2025-20702 позволяет задействовать специфичный для SoC Airoha расширенный протокол для манипуляции устройством. Исследователи выявили, что служебный расширенный протокол, среди прочего позволяющий читать и записывать данные в ОЗУ и Flash, доступен без сопряжения устройств через BLE GATT или Bluetooth Classic RFCOMM. Информация о наличии уязвимостей была отправлена в компанию Airoha 25 марта, но ответ удалось получить только 27 мая после нескольких повторных попыток связаться с Airoha и привлечения к этому некоторых производителей устройств. 4 июня компания Airoha начала распространение среди производителей обновлённого SDK, включающего возможности для блокирования уязвимостей. В конце июня после истечения 90 дней с момента отправки информации о проблеме исследователи опубликовали общие сведения об уязвимостях, но решили пока не раскрывать детали, касающиеся проблемного протокола, чтобы дать производителям дополнительное время на распространение обновлений прошивок. Устройства, в которых подтверждено наличие рассматриваемых уязвимостей:
| ||
Обсуждение (102 +20) |
Тип: Проблемы безопасности |
| ||
· | 01.07.2025 | Уязвимости в утилите sudo, позволяющие получить права root в системе (225 +36) |
В пакете sudo, применяемом для организации выполнения команд от имени других пользователей, выявлена уязвимость (CVE-2025-32463), позволяющая любому непривилегированному пользователю выполнить код с правами root, даже если пользователь не упомянут в конфигурации sudoers. Проблеме подвержены дистрибутивы, использующие файл конфигурации /etc/nsswitch.conf, например, возможность эксплуатации уязвимости продемонстрирована в Ubuntu 24.04 и Fedora 41.
Уязвимость проявляется в конфигурации по умолчанию и подтверждена в выпусках sudo с 1.9.14 по 1.9.17 (потенциально затрагивает все версии, начиная с 1.8.33). Проблема устранена в обновлении sudo 1.9.17p1. Проверить состояние новой версии пакета или подготовки исправления в дистрибутивах можно на следующих страницах (если страница недоступна, значит разработчики дистрибутива ещё не приступили к рассмотрению проблемы): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo и Arch (1, 2). Проблема вызвана тем, что при применении опции "-R" ("--chroot") для запуска команд в chroot-окружении с выбранным пользователем корневым каталогом файл /etc/nsswitch.conf загружался в контексте нового корневого каталога, а не системного каталога. Так как пользователь может использовать в качестве корневого каталога для chroot собственный каталог, он может разместить в нём файл конфигурации nsswitch.conf. Контролируя загружаемый подсистемой NSS (Name Service Switch) файл /etc/nsswitch.conf, пользователь может добавить в него настройки, приводящие к вызову дополнительных обработчиков. Подобные обработчики загружаются NSS в форме разделяемых библиотек, которые также можно разместить в подконтрольном пользователю каталоге. Подставив свою библиотеку, пользователь может добиться выполнения из неё кода с правами root, так как обработка NSS производится до сброса привилегий. Пример эксплоита: #!/bin/bash STAGE=$(mktemp -d /tmp/sudowoot.stage.XXXXXX) cd ${STAGE?} || exit 1 cat > woot1337.c<<EOF #include <stdlib.h> #include <unistd.h> __attribute__((constructor)) void woot(void) { setreuid(0,0); setregid(0,0); chdir("/"); execl("/bin/bash", "/bin/bash", NULL); } EOF mkdir -p woot/etc libnss_ echo "passwd: /woot1337" > woot/etc/nsswitch.conf cp /etc/group woot/etc gcc -shared -fPIC -Wl,-init,woot -o libnss_/woot1337.so.2 woot1337.c echo "woot!" sudo -R woot woot rm -rf ${STAGE?} В версии sudo 1.9.17p1 также устранена ещё одна уязвимость (CVE-2025-32462), позволяющая выполнить команды с правами root, но проявляющаяся только в конфигурациях sudoers, параметр "host" в которых выставлен в значение, отличное от ALL или имени текущего хоста. Уязвимость вызвана ошибкой, из-за которой опция "-h" ("--host") действовала не только в сочетании с опцией "-l" ("--list") для вывода привязанных к хосту привилегий, но и при запуске команд. Таким образом пользователь мог указать при вызове sudo любой хост и обойти ограничения правил sudoers, привязанных к имени хоста. Для совершения атаки пользователь должен упоминаться в sudoers, например, если в настройках указано "testuser testhost = ALL", то пользователь "testuser" мог указать "sudo -h testhost" и запустить команды с правами root на любых хостах, а не только на хосте testhost. Уязвимости не подвержены конфигурации с настройками вида "testuser ALL = ALL" или без явных правил для конкретного пользователя.
| ||
Обсуждение (225 +36) |
Тип: Проблемы безопасности |
| ||
· | 29.06.2025 | Автор Node.js добивается отмены торговой марки JavaScript (154 +46) |
Райан Даль (Ryan Dahl), создатель JavaScript-платформ Node.js и Deno, добивается отзыва у компании Oracle торговой марки "JavaScript". Первым шагом стала публикация в прошлом году открытого письма к компании Oracle c призывом отказаться от торговой марки JavaScript, так как данное слово стало общеупотребительным термином, не связанным с конкретными продуктами Oracle и широко используемым людьми и компаниями.
Компания Oracle никак не отреагировала на призыв и Райан попытался добиться отмены торговой марки в Агентстве по патентам и товарным знакам США (USPTO). В Апелляционный совет по товарным знакам (TTAB) было направлено ходатайство об отмене торговой марки, в котором были указаны три претензии: введение в заблуждение при продлении торговой марки, использование торговой марки на термин общего назначения и неиспользование торговой марки в продуктах её владельца. Несколько дней назад Апелляционный совет отклонил первую претензию, суть которой в том, что во время продления своих прав на торговую марку "JavaScript" в 2019 году компания Oracle ввела USPTO в заблуждение и указала сведения, не соответствующие действительности. В качестве демонстрации своих продуктов, использующих торговую марку "JavaScript", компания Oracle привела скриншот с сайта платформы Node.js, которая никак не связана c Oracle и никогда не была её продуктом. Райан не согласен с данным решением, но не намерен тратить ресурсы на его оспаривание, так как это лишь затянет разбирательство на месяцы. Решено сосредоточить усилия на оставшихся двух претензиях - общем характере термина "JavaScript" и неиспользовании торговой марки в продуктах Oracle:
До 7 августа представители Oracle должны предоставить в USPTO ответы на все пункты, указанные в ходатайстве об отмене торговой марки. После этого 6 сентября в USPTO начнётся разбирательство. Более 20 тысяч разработчиков подписали петицию о том, что торговая марка "JavaScript" не служит общественным интересам и мешает отрасли. Отмечается, что наличие действующей торговой марки вынуждает компании, развивающие продукты, связанные с языком JavaScript, действовать в серой зоне, используя данное название постольку, поскольку компания Oracle пока не заявляет никаких требований. Например, из-за опасений возможных претензий со стороны Oracle так и не была создана "Конференция JavaScript". Предполагается, что Oracle удерживает торговую марку, которую не использует, для сохранения влияния на экосистему, в которой больше не участвует.
| ||
Обсуждение (154 +46) |
Тип: К сведению |
| ||
· | 29.06.2025 | Опубликован Wayback, композитный сервер Wayland для запуска рабочих столов на базе X11 (92 +22) |
Ариадна Конилл (Ariadne Conill), создатель музыкального проигрывателя Audacious, инициатор разработки протокола IRCv3 и лидер команды по обеспечению безопасности Alpine Linux, опубликовала начальную реализацию прослойки Wayback, позволяющей запускать десктоп-окружения, завязанные на протокол X11, используя компоненты на базе Wayland. Код проекта написан на языке Си и распространяется под лицензией MIT (в файле с кодом указано общественное достояние - CC0).
Проект предоставляет композитный сервер Wayland, ограниченный возможностью запуска полноэкранного сеанса X11 при помощи Xwayland. Wayback развивается для упрощения ухода от поставки классического X.org Server в дистрибутиве Alpine. Предполагается, что оставление в дистрибутиве только компонентов, необходимых для Wayland и Xwayland, сократят затраты на сопровождение X11-приложений в Alpine. Wayback использует библиотеку wlroots от проекта Sway, в которой реализованы базовые примитивы для построения композитных серверов на базе Wayland. Код Wayback основан на tinywl, эталонном композитном сервере от разработчиков wlroots, функциональность которого была урезана до минимума, достаточного для обособленного запуска Xwayland.
| ||
Обсуждение (92 +22) |
Тип: Программы |
| ||
· | 28.06.2025 | Представлен Tyr, Linux-драйвер для GPU ARM Mali, написанный на Rust (100 +3) |
Дэниел Алмейда (Daniel Almeida), занимающийся развитием видеокодеков в компании Collabora, опубликовал в списке рассылки разработчиков Linux-ядра начальную реализацию драйвера Tyr для GPU ARM Mali, в которых применяется технология CSF (Сommand Stream Frontend), таких как Mali G310, G510 и G710. Код драйвера написан на языке Rust и насчитывает чуть больше 600 строк кода. Работа над драйвером Tyr ведётся совместно сотрудниками компаний Collabora, Arm и Google.
В качестве каркаса для создания нового драйвера использованы компоненты абстрактного драйвера rust_platform_driver и драйвера Nova, развиваемого для GPU NVIDIA, написанного на Rust и частично добавленного в ядро 6.15. Функциональность для взаимодействия с GPU Mali портирована из существующего DRM-драйвера Panthor (Direct Rendering Manager), написанного на языке Си. uAPI драйвера Tyr идентичен uAPI драйвера Panthor, что позволяет использовать с ним уже существующие компоненты пространства пользователя. Технология CSF, применяемая начиная с 10 поколения GPU Mali, примечательна выносом на сторону прошивки некоторых функций драйвера и задействованием новой модели организации выполнения работ на GPU. В GPU с интерфейсом CSF вместо модели на основе отправки цепочки работ применяется модель на основе потока команд с планированием очереди потока команд на стороне прошивки. Для организации работы планировщика в GPU встроен отдельный микроконтроллер Cortex-M7, а для выполнения инструкций CSF предусмотрен специальный блок выполнения команд (Command Execution Unit). Функциональность Tyr пока отстаёт от драйвера Panthor, но разработчики намерены постепенно сокращать разрыв до тех пор пока не будет достигнут паритет в возможностях драйверов. Недостающие функции требуют интеграции в ядро дополнительных абстракций для создания драйверов на Rust, поэтому развитие драйвера Tyr будет синхронизировано с добавлением в ядро данных абстракций. Например, в ядре пока отсутствуют возможности для маппинга памяти в Rust-драйверах для GPU, развиваемые в ещё не принятом наборе патчей GPUVM.
| ||
Обсуждение (100 +3) |
Тип: К сведению |
| ||
· | 28.06.2025 | Линус Торвальдс намерен исключить Bcachefs из ядра Linux 6.17 (363 +20) |
Очередная дискуссия между Линусом Торвальсом и Кентом Оверстритом (Kent Overstreet), автором Bcachefs, завершилась тем, что Линус выразил готовность исключить код Bcachefs из ядра Linux 6.17. При этом Линус принял в состав ядра 6.16 изменения в Bcachefs, ставшие предметом очередного недовольства действиями Кента. Линус написал:
Предшествовавшая данному заявлению переписка с Кентом велась в личном порядке и детали пока не ясны. Тем не менее, в обсуждении данной темы Кент написал, что возможно его слова в частной переписке были неправильно истолкованы и он не считает, что BcacheFS следует исключить из ядра. При этом он готов к прекращению поставки Bcachefs в основном составе ядра Linux и это не убьёт проект, хотя и будет огромной проблемой. В случае удаления Bcachefs разработка будет продолжена и данная ФС станет распространяться в форме модуля DKMS. Кент также отметил, что исключение BcacheFS из ядра будет лучшим вариантом для его с Линусом спокойствия, но явно не станет лучшим решением для пользователей и сообщества разработчиков. Споры между Кентом и Линусом вызваны постоянными нарушениями правил отправки изменений и исправлений в ядро. Кент считает, что исправления проблем в ФС должны продвигаться безотлагательно и любыми возможными способами. Линус настаивает на том, что функциональные изменения и крупные исправления допускаются на начальной стадии разработки новой ветки ядра, а поздние кандидаты в релизы сосредоточены только на исправлении ошибок. Кент регулярно нарушает данное правило и присылает крупные изменения в неподходящий момент, что приводит к недовольству Линуса и к новой волне споров. Ранее Линус уже предупреждал Кента о желании удалить Bcachefs из основного ядра, так как Кент продолжает играть один в своей песочнице, не подключается к совместной работе и не желает принимать правила игры сообщества разработчиков ядра. В случае с ядром 6.16 Кент отправил для включения в обновление RC3 набор патчей, среди которых был патч с реализацией новой опции "journal_rewind". Линус написал, что Кент забыл о том, что после закрытия окна приёма функциональных изменений добавление новой функциональности в ядро не допускается, даже если она связана с исправлением других ошибок, так как добавление новых возможностей на поздних стадиях формирования релиза может привести к регрессиям. Кроме того, Bcachefs продолжает позиционироваться как экспериментальная ФС и оперативность устранения ошибок в ней не является столь критичным. Кент ответил, что главная цель разработки - предоставить пользователям работающий код, поэтому он не намерен уступать в вопросах, касающихся исправления ошибок, влияющих на сохранение целостности данных. В отличие от других подсистем ошибки в ФС не решаются перезагрузкой и могут приводить к повреждению данных, поэтому, по мнению Кента, откладывание их исправления до следующего окна приёма изменений недопустимо, даже если подобные исправления требуют внесения крупных изменений. Добавленная опция "journal_rewind" откатывала изменения в журнале для сброса ФС в более раннее состояние. Кент считает, что новая опция должна быть включена безотлагательно, так как она решает проблему с восстановлением ФС у пользователей, столкнувшихся с ошибкой при удалении подразделов и не имеющих резервной копии. Вначале Линус отказался принимать набор патчей с данным изменением в ядро 6.16-RC3, но после личной переписки с Кентом изменил свою позицию и принял изменения в кодовую базу, на основе которой формируется обновление 6.16-RC4.
| ||
Обсуждение (363 +20) |
Тип: К сведению |
| ||
· | 27.06.2025 | Выпуск Rust 1.88. Операционная система Munal и утилита rsched на Rust (153 +3) |
Опубликован релиз языка программирования общего назначения Rust 1.88, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io. Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок. Основные новшества:
Дополнительно можно отметить связанные с Rust события:
| ||
Обсуждение (153 +3) |
Тип: Программы |
| ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |