LINUXTALKS.CO

В готовящемся в релизу ядре Linux 6.13 выявлен сбой, вызванный кодом сотрудника Microsoft

Новости — Ядро Linux
Группа Ядро Linux

Линус Торвальдс намеревался опубликовать релиз ядра Linux 6.13 в это воскресенье, но, скорее всего, тестирование ветки 6.13 будет продлено на неделю из-за проблем со стабильностью в изменениях, подготовленных сотрудником Microsoft и принятых в ветку 6.13 в ноябре. Дополнительно отмечается, что патч, ставший причиной сбоя, был подан нестандартно - но был принят, хотя не получил ни одного подтверждения (ACK) от мэйнтайнеров архитектуры x86, что является нарушением общепринятых практик.

Патч добавлял возможность использования больших страниц памяти в режиме ROX (Read Only Execute) при выделении памяти, предназначенной для размещения исполняемого кода. ROX позволяет использовать память с исполняемым кодом в режиме только для чтения, что усложняет эксплуатацию некоторых уязвимостей. В ядре 6.13 для исполняемого кода модулей на системах x86_64 по умолчанию было включено использование кэша больших исполняемых страниц памяти, отражённых как ROX. Изменение решало проблему с маппингом в режиме ROX страниц для ещё полностью не сформированного исполняемого кода и позволяло обойтись без временного репаминга ROX-страниц в режим записи до завершения подготовки модулей ядра к работе.

На финальном этапе тестирования ядра 6.13 инженер из компании Intel выявил сбой, не позволяющий ядру корректно выйти из спящего режима на некоторых ноутбуках с процессорами Intel (например, с CPU на базе микроархитектуры Alderlake). Сбой проявлялся при сборке ядра компилятором Clang с включённым режимом защиты CFI (Control Flow Integrity), блокирующим нарушения нормального порядка выполнения (control flow) в результате применения эксплоитов, изменяющих хранимые в памяти указатели на функции. В качестве временного решения мэйнтейнеры из компаний Intel и AMD, отвечающие за архитектуру x86, предложили отключить использование EXECMEM_ROX в ядре 6.13, до того как будет подготовлен и протестирован полноценный патч, решающий проблему (первый вариант исправления не решил проблему).

>>> Подробности

 , , ,

MrSugoma ()

Релиз Linux Mint 22.1 «Xia»

Новости — Canonical / Ubuntu
Группа Canonical / Ubuntu

Разработчики Linux Mint анонсировали релиз версии 22.1 под кодовым названием «Xia». Система имеет статус LTS (Long Term Support) с поддержкой до 2029 года. Дистрибутив основан на Ubuntu 24.04 и работает на ядре Linux 6.8.

Обновление системы управления пакетами

Aptkit заменяет aptdaemon для управления пакетами. Captain объединяет функции GDebi и apturl. Обновление позволило улучшить локализацию, уменьшить количество ошибок и добавить графический интерфейс для управления сторонними пакетами.

Управление питанием

Система получила три режима энергопотребления:

  1. Энергосберегающий - снижает производительность для экономии заряда.
  2. Сбалансированный - адаптирует производительность под текущие задачи.
  3. Производительный - доступен на совместимых системах.

Обновление Cinnamon 6.4

Рабочий стол Cinnamon обновился до версии 6.4:

  1. Новый дизайн с закругленными элементами
  2. Собственные диалоговые окна
  3. Функция Night Light для снижения нагрузки на глаза
  4. Улучшенная поддержка Wayland
  5. Новые настройки уведомлений
  6. Оптимизация переключателя окон Alt-Tab
  7. Поддержка горячих клавиш в Nemo

Системные изменения

  1. Оптимизация Центра приложений
  2. Поддержка миниатюр OpenRaster
  3. Новая организация обоев по темам
  4. Переход на звуковой сервер Pipewire
  5. Обновление файлового менеджера Bulky

Технические особенности

Время выключения системы в новой версии сокращено до 10 секунд. При необходимости увеличения времени ожидания пользователи могут изменить значение в файле /etc/systemd/system.conf.d/60_custom.conf.

Разработчики отключили магазин Snap Store по умолчанию. Для его активации требуется ручное включение.

В системе используются обновленные шрифты Ubuntu с более тонким начертанием. При желании можно вернуть старую версию шрифтов, загрузив соответствующий пакет.

Операционная система перешла на звуковой сервер Pipewire. В случае проблем со звуком возможен возврат к PulseAudio через удаление пакетов pipewire и перезагрузку системы.

В ядре 6.8 обнаружена регрессия при работе с NTFS-разделами. При появлении ошибки монтирования следует использовать утилиту Disks для восстановления файловой системы.

Из установщика удалена поддержка ZFS из-за низкой востребованности и сложности поддержки.

При проблемах с загрузкой системы рекомендуется:

  • использовать режим совместимости (Compatibility Mode);
  • добавить параметр nomodeset в параметры загрузки;
  • для видеокарт Nvidia установить проприетарные драйверы через Менеджер драйверов.

В случае использования монитора с высоким разрешением (HiDPI) рекомендуется установить пакет grub2-theme-mint-2k для корректного масштабирования загрузчика.

При использовании тачпада доступен выбор между драйверами libinput (по умолчанию) и synaptics. Переключение осуществляется через установку соответствующих пакетов.

>>> Подробности

 , , , ,

MrSugoma ()

Выпуск пользовательского окружения Enlightenment 0.27 и библиотек EFL 1.28

Новости — Open Source
Группа Open Source

После года разработки состоялся релиз пользовательского окружения Enlightenment 0.27, которое базируется на наборе библиотек EFL (Enlightenment Foundation Library) и виджетах Elementary. Выпуск доступен в исходных текстах без публикации готовых сборок.

Список изменений для выпуска 0.27 не сформирован, доступен лишь перечень коммитов, в котором в основном перечислены исправления ошибок и незначительные улучшения в виджетах.

Рабочий стол в Enlightenment формируют такие компоненты, как файловый менеджер, набор виджетов, панель запуска приложений и графические конфигураторы.

Графические конфигураторы предоставляют как высокоуровневые средства настройки (изменение оформления, настройка виртуальных рабочих cтолов, управление шрифтами, разрешением экрана, раскладкой клавиатуры, локализацией и т.п.), так и возможности по низкоуровневому тюнингу (например, можно настроить параметры кэширования, графического ускорения, потребления энергии, изменить логику работы оконного менеджера).

Для расширения функциональности предлагается использовать модули (гаджеты), а для переработки внешнего вида - темы оформления.

Доступны модули для отображения на десктопе календаря-планировщика, прогноза погоды, данных мониторинга, регулятора громкости, виджета для оценки заряда аккумулятора. Составляющие Enlightenment компоненты жёстко не привязаны друг к другу и могут использоваться в других проектах или для создания специализированных окружений, таких как оболочки для мобильных устройств.

Из обязательных зависимостей заявлены EFL, libexif и libpam (только в Linux).

Среди рекомендованных зависимостей, необходимых для достижения полноценной функциональности: connman для настройки сети; bluez5 для работы с Bluetooth; bc для встроенного калькулятора; pulseaudio для управления звуковыми устройствами; acpid для обработки различных аппаратных событий; packagekit для отслеживания системных обновлений; udisks2 для монтирования внешних дисков; ddcutil для управления подсветкой экрана; gdb для трассировки аварийных завершений.

Одновременно проект Enlightenment опубликовал набор библиотек EFL 1.28 (Enlightenment Foundation Library), позволяющих создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью.

Несмотря на изначальное развитие в качестве базиса для окружения Enlightenment, компоненты EFL часто используются для построения интерфейсов потребительской электроники и мобильных устройств. Например, EFL является составной частью мобильной платформы Tizen, используются в бытовой технике Electrolux, продуктах Samsung, ProFUSION, Free.fr и Calaos.

Состав EFL:

Eina - библиотека с реализацией типов данных (массив, хэш, список, дерево) и вспомогательных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.).

Eet - библиотека для записи произвольного набора блоков данных в файл для последующего быстрого чтения в произвольном порядке.

Evas - система рендеринга для организации вывода на экран.

Evas оперирует содержимым экрана как сценой с объектами, состояние которых можно отслеживать. Над сценой можно проделывать такие операции как масштабирование, вращение и 3D-трансформации.

Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании с программным и аппаратно ускоренным рендерингом.

Ecore - библиотека для организации цикла обработки событий, предлагающая набор модулей для упрощения связанных с обработкой событий задач, таких как работа с Evas, нитями, сетевыми соединениями и т.п.

Embryo - библиотека для написания небольших компилируемых приложений для встраиваемых устройств. Edje - графическая библиотека, отделяющая внешний вид от кода (оформление задаётся в виде загружаемого из файла шаблона).

Edje занимает нишу между HTML+CSS и SVG. При помощи данной библиотеки можно сформировать пользовательский интерфейс, снабжённый анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменён).

Efreet - библиотека, позволяющая использовать в приложениях спецификации Freedesktop.org для работы с пиктограммами, Desktop-файлами и меню.

Eeze - библиотека для организации взаимодействия с внешними устройствами через udev, HAL и другие механизмы.

Expedite - инструментарий для измерения производительности, который может тестировать различные движки Evas, такие как X11,

XRender, OpenGL, SDL и DirectFB.

Evil - реализация уровня совместимости для работы на платформе Windows.

Eio - абстрактный интерфейс для доступа к файловой системе и реализации асинхронного ввода/вывода.

Emotion - библиотека для интеграции в приложения обработчиков для проигрывания звука и видео. Воспроизведение видео может осуществляться с использованием Gstreamer, Xine или других внешних плагинов (например, VLC), при этом видео отображается как стандартный объект в Evas.

Ethumb - библиотека для формирования эскизов изображений, соответствующих стандартам freedesktop.org. Ethumb реализован в виде сервиса dbus и клиентской библиотеки, взаимодействующей с данным сервисом.

Elementary - набор виджетов с готовой реализацией разнообразных графических элементов (от кнопок и элементов управления, до календаря и модуля редактирования текста).

Eldbus - надстройкой над DBus.

Ephysics - предоставляет средства для использования движка симуляции физических процессов Bullet в приложениях на базе EFL.

Ephysics обеспечивает связку Bullet с библиотеками Ecore и Evas.

Ecore Audio - API для работы со звуком.

>>> Подробности

 

MrSugoma ()

Линус Торвальдс разыграет среди разработчиков ядра гитарную педаль собственной сборки

Новости — Ядро Linux
Группа Ядро Linux

Линус Торвальдс анонсировал седьмой кандидат в релизы ядра Linux 6.13 и в послесловии предложил отправить собранную им лично гитарную педаль одному из разработчиков ядра. Линус отметил, что у него есть хобби паять небольшие электронные устройства, не сложные, но и не слишком простые.

( читать дальше... )

>>> Подробности

 

crypt ()

В Fedora 42 планируют поставлять оптимизированные варианты исполняемых файлов

Новости — RHEL совместимые
Группа RHEL совместимые

В выпуске Fedora 42, намеченный на конец апреля, предложено разрешить сопровождающим включать в пакеты дополнительные варианты исполняемых файлов, собранные с включением оптимизаций для микроархитектур x86-64-v2, x86-64-v3 и x86-64-v4. Отмечается, что Fedora продолжает собирать пакеты для архитектуры x86-64-v1, в то время как CentOS использует при сборке архитектуру x86-64-v2, а RHEL 10 - x86-64-v3. В большинстве случаев прирост производительности при сборке для подобных архитектур не превышает 10%, но в отдельных ситуациях приводит к заметному повышению производительности (до 120%). Предложение пока не утверждено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora.

В Fedora уже допускается поставка дополнительных библиотек, оптимизированных для расширенных версий архитектуры x86_64, и подобную возможность теперь планируют распространить на исполняемые файлы. Загрузка оптимизированных реализаций библиотек осуществляется компоновщиком (dynamic linker), который проверяет наличие дополнительных вариантов в подкаталогах glibc-hwcaps, размещаемых в областях ФС, просматриваемых при поиске библиотек (например, /usr/lib64/glibc-hwcaps/x86-64-v2).

В случае исполняемых файлов предлагается использовать прослойку hwcaps-loader, которая будет выбирать и запускать вариант исполняемого файла, соответствующий возможностям текущей системы. Для пакетов, поставляющих несколько вариантов исполняемых файлов данную прослойку предлагается выставлять через символическую ссылку. Решение о добавлении дополнительно оптимизированных исполняемых файлов будут принимать сопровождающие, в зависимости от результатов тестирования производительности конкретных пакетов.

Версии x86-64-v* определяют неофициальный способ идентификации срезов состояния микроархитектуры, охватывающих определённые наборы расширений:

  • x86-64-v2 охватывает расширения SSE3, SSE4_2, SSSE3, POPCNT, LAHF-SAHF и CMPXCHG16B.
  • x86-64-v3 - AVX, AVX2, BMI2, FMA, LZCNT, MOVBE и SXSAVE.
  • x86-64-v4 - AVX512F, AVX512BW, AVX512CD, AVX512DQ и AVX512VL.

Дополнительно можно отметить предложение по унификации обновления загрузчиков grub и shim в атомарных и обычных вариантах Fedora. Вместо обновления содержимого каталогов /boot и /boot/efi через вызов скрипта во время установки rpm-пакета, для обновления загрузчика предлагается использовать инструментарий bootupd, который уже применяется в атомарно обновляемых вариантах Fedora. В rpm-пакетах с загрузчиками содержимое предлагается устанавливать не напрямую в каталоги /boot и /boot/efi, а в отдельный каталог внутри раздела /usr, после чего синхронизировать с ним содержимое /boot и /boot/efi. Подобный подход даст возможность реализовать запасной вариант загрузки, который можно использовать для отката к старой конфигурации в случае проблем после обновления загрузчика.

>>> Подробности

 ,

MrSugoma ()

Еще новости

Январь 2025

Декабрь 2024

Декабрь 2024

Ноябрь 2024

Октябрь 2024

О проекте