Представлен релиз Linux-дистрибутива Fedora 34. Для загрузки подготовлены продукты Fedora Workstation, Fedora Server, CoreOS, Fedora IoT Edition, а также набор “спинов” c Live-сборками десктоп-окружений KDE Plasma 5, Xfce, i3, MATE, Cinnamon, LXDE и LXQt. Сборки сформированы для архитектур x86_64, Power64, ARM64 (AArch64) и различных устройств с 32-разрядными процессорами ARM. Публикация сборок Fedora Silverblue задерживается.
Наиболее заметные улучшения в Fedora 34:
- Все звуковые потоки переведены на мультимедийный сервер PipeWire, который теперь используется по умолчанию вместо PulseAudio и JACK. Использование PipeWire позволяет в обычной настольной редакции предоставить возможности профессиональной обработки звука, избавиться от фрагментации и унифицировать звуковую инфраструктуру для разных применений.
В прошлых выпусках для обработки звука в Fedora Workstation применялся фоновый процесс PulseAudio, а приложения использовали клиентскую библиотеку для взаимодействия с этим процессом, микширования и управления звуковыми потоками. При профессиональной обработке звука применялся звуковой сервер JACK и связанная с ним клиентская библиотека. Для обеспечения совместимости вместо библиотек для взаимодействия с PulseAudio и JACK добавлена работающая через PipeWire прослойка, которая позволяет сохранить работу всех существующих клиентов PulseAudio и JACK, а также приложений, поставляемых в формате Flatpak. Для старых клиентов, использующих низкоуровневый API ALSA, установлен ALSA-плагин, направляющий звуковые потоки напрямую в PipeWire.
- Сборки с рабочим столом KDE по умолчанию переведены на использование Wayland. Сеанс на базе X11 переведён в разряд опции. Отмечается, что поставляемый в Fedora 34 выпуск KDE Plasma 5.20 почти доведён до паритета в функциональности с режимом работы поверх X11, в том числе решены проблемы с ведением скринкастов и вставкой средней кнопкой мыши. Для работы при использовании проприетарных драйверов NVIDIA задействован пакет kwin-wayland-nvidia. Совместимость с X11-приложениями обеспечена при помощи компонента XWayland.
- Рабочий стол Fedora Workstation обновлён до выпуска GNOME 40 и библиотеки GTK 4. В GNOME 40 виртуальные рабочие столы в обзорном режиме (Activities Overview) переведены на горизонтальную ориентацию и отображаются в виде непрерывно прокручиваемой слева направо цепочки. На каждом рабочем столе, показываемом в обзорном режиме, наглядно представлены имеющиеся окна, для которых применяется динамическое панорамирование и масштабирование при взаимодействии пользователя. Обеспечен бесшовный переход между списком программ и виртуальными рабочими столами. Улучшена организация работы при наличии нескольких мониторов. Модернизировано оформление многих программ. В GNOME Shell обеспечено использование GPU для рендеринга шейдеров.
- Все редакций Fedora переведены на использование механизма systemd-oomd для раннего реагирования на нехватку памяти в системе вместо ранее применяемого процесса earlyoom. Systemd-oomd базируется на подсистеме ядра PSI (Pressure Stall Information), позволяющей в пространстве пользователя проанализировать информацию о времени ожидания получения различных ресурсов (CPU, память, ввод/вывод) для точной оценки уровня загруженности системы и характера замедления работы. PSI даёт возможность выявить начало возникновения задержек из-за нехватки ресурсов и выборочно завершить работу ресурсоёмких процессов на стадии, когда система ещё не находится в критическом состоянии и не начинает интенсивно урезать кэш и вытеснять данные в раздел подкачки.
- В файловой системе Btrfs, которая начиная с прошлого выпуска применяется по умолчанию в вариантах Fedora для рабочего стола (Fedora Workstation, Fedora KDE и т.п.), включено прозрачное сжатие данных с использованием алгоритма ZSTD.
Сжатие по умолчанию применяется для новых установок Fedora 34. Пользователи уже установленных систем могут активировать сжатие через добавление в /etc/fstab флага “compress=zstd:1” и запуска “sudo btrfs filesystem defrag -czstd -rv / /home/” для сжатия уже имеющихся данных. Для оценки эффективности сжатия можно использовать утилиту “compsize”. Отмечается, что хранение данных в сжатом виде позволяет не только экономить дисковое пространство, но и увеличивает ресурс работы SSD-накопителей за счёт снижения объёмов операций записи, а также повышает скорость чтения и записи больших хорошо сжимаемых файлов на медленных накопителях. - В число официальных редакций дистрибутива принят вариант с оконным менеджером i3, предлагающим мозаичный режим компоновки окон на рабочем столе.
- Началось формирование образов с рабочим столом KDE для систем на базе архитектуры AArch64, в дополнение в сборкам с рабочими столами GNOME и Xfce, и образов для серверных систем.
- Добавлен новый образ Comp Neuro Container, включающий подборку приложений для моделирования и симуляции, полезных при проведении исследований в области нейробиологии.
- В редакцию для интернета вещей (Fedora IoT), которая предлагает урезанное до минимума системное окружение, обновление которого производится атомарно через замену образа всей системы, а приложения отделены от основной системы при помощи изолированных контейнеров (для управления применяется podman), добавлена поддержка ARM-плат Pine64, RockPro64 и Jetson Xavier NX, а также улучшена поддержка плат на базе SoC i.MX8, таких как 96boards Thor96 и Solid Run HummingBoard-M. Обеспечено использование аппаратных механизмов отслеживания сбоев (watchdog) для автоматического восстановления системы.
- Прекращено
формирование отдельных пакетов с библиотеками, используемыми в проектах на базе Node.js. Вместо этого для Node.js обеспечена поставка только базовых пакетов с интерпретатором, заголовочными файлами, первичными библиотеками, бинарными модулями и основными инструментами для управления пакетами (NPM, yarn). В поставляемых в репозитории Fedora приложениях, использующих Node.js, разрешено встраивать все имеющиеся зависимости в один пакет, без дробления и выделения используемых библиотек в отдельные пакеты. Встраивание библиотек позволит избавиться от нагромождения мелкими пакетами, упростит сопровождение пакетов (ранее сопровождающий тратил больше времени на рецензирование и тестирование сотен пакетов с библиотеками, чем на основной пакет с программой), избавит инфраструктуру от конфликтов библиотек и решит проблемы с привязкой к версиям библиотек (сопровождающие будут включать в пакет проверенные в работе и протестированные версии). - Шрифтовой движок FreeType переведён на использование движка компоновки глифов (shaping) HarfBuzz. Использование HarfBuzz во FreeType позволило улучшить качество хинтинга (сглаживание контура глифа при растеризации для повышения чёткости на экранах с низким разрешением) при отображении текста на языках со сложной компоновкой текста, в которых глифы могут формироваться из нескольких символов. В частности, применение HarfBuzz позволяет избавиться от проблемы с игнорированием при хинтинге лигатур, для которых нет отдельных Unicode-символов.
- Убрана возможность отключения SELinux во время работы – отключение через изменение настроек /etc/selinux/config (SELINUX=disabled) теперь не поддерживается. После инициализации SELinux LSM-обработчики теперь переводятся в режим только для чтения, что позволяет повысить защиту от атак, нацеленных на отключение SELinux после эксплуатации уязвимостей, позволяющих изменить содержимое памяти ядра. Для отключения SELinux можно перезагрузить систему с передачей параметра “selinux=0” в командной строке ядра. Возможность переключение режимов “enforcing” и “permissive” в процессе загрузки сохранена.
- DDX-компонент Xwayland, обеспечивающий запуск X.Org Server для организации выполнения X11-приложений в окружениях на базе Wayland, перемещён в отдельный пакет, собираемый из свежей кодовой базы, не зависящей от стабильных выпусков сервера X.Org.
- Обеспечен перезапуск разом всех обновлённых сервисов systemd после завершения транзакции в пакетном менеджере RPM. Если раньше сервис перезапускался непосредственно после обновления каждого пересекающегося с ним пакета, то теперь формируется очередь и сервисы перезапускаются в самом конце сеанса RPM, после того как все пакеты и библиотеки обновлены.
- Образы для плат ARMv7 (armhfp) переведены по умолчанию на использование UEFI.
- Размер виртуального устройства подкачки, предоставляемого механизмом zRAM, увеличен с четверти до половины размера физической памяти, а также ограничен лимитом в 8 ГБ. Изменение позволяет успешно запускать инсталлятор Anaconda на система с небольшим объёмом ОЗУ.
- Обеспечена поставка в стабильной ветке crate-пакетов для языка Rust. Пакеты предоставляются с префиксом “rust-“.
- Для сокращения размера установочных iso-образов обеспечена поставка чистого SquashFS, без вложенного слоя EXT4, который применялся по историческим причинам.
- Проведена унификаций файлов конфигурации загрузчика GRUB для всех поддерживаемых архитектур, независимо от поддержки EFI.
- Для сокращения потребления дискового пространства обеспечено сжатие файлов с прошивками, используемыми ядром Linux (начиная с ядра 5.3 поддерживается загрузка прошивок из xz-архивов). В распакованном виде все прошивки занимают около 900 МБ, а при сжатии их размер удалось сократить в два раза.
- Пакет ntp (сервер для синхронизации точного времени) заменён на форк ntpsec.
- Объявлены устаревшими пакеты xemacs, xemacs-packages-base, xemacs-packages-extra и neXtaw, разработка которых давно остановилась. Объявлен устаревшим пакет nscd – для кэширования базы хостов теперь применяется systemd-resolved, а для кэширования сервисов named может использоваться sssd.
- Прекращена поставка коллекций X11-утилит xorg-x11-*, каждая утилита теперь предлагается в отдельной пакете.
- Прекращено использовании имени master в git-репозиториях проекта, так как данное слово считается последнее время неполиткорректным.
В качестве имени ветки по умолчанию в git-репозиториях теперь используется имя “main”, а в репозиториях с пакетами, такими как src.fedoraproject.org/rpms, используется ветка “rawhide”. - Обновлены версии пакетов, в том числе: GCC 11, LLVM/Clang 12, Glibc 2.33, Binutils 2.35, Golang 1.16, Ruby 3.0, Ruby on Rails 6.1, BIND 9.16, MariaDB 10.5, PostgreSQL 13. Обновлены рабочие столы LXQt 0.16.0 и Xfce 4.16.
Одновременно для Fedora 34 введены в строй “free” и “nonfree” репозитории проекта RPM Fusion, в которых доступны пакеты с дополнительными мультимедиа приложениями (MPlayer, VLC, Xine), видео/аудио кодеками, поддержкой DVD, проприетарными драйверами AMD и NVIDIA, игровыми программами, эмуляторами.