Организация FreeBSD Foundation ведёт разработку нового графического инсталлятора для FreeBSD, который призван сделать более удобным для новичков процесс установки и начальной настройки системы. Отмечается, что новый инсталлятор повысит привлекательность системы для пользователей, привыкших к графическим инсталляторам и воспринимающих текстовые интерфейсы как анахронизм. Кроме того, графический режим установки позволит сформировать более целостное окружение в сборках, использующих FreeBSD в качестве основы для запуска пользовательских окружений.
Для выполнения связанных с установкой процессов используются уже проверенные компоненты существующего инсталлятора bsdinstall, графический интерфейс в котором реализован через замену инструментария для построения консольных диалогов bsddialog на новый инструментарий gbsddialog, в котором задействованы диалоги и виджеты на базе библиотеки GTK.
Подобный подход позволяет реализовать возможность установки в графическом режиме, используя имеющуюся инфраструктуру инсталлятора bsdinstall и сохранив в нём возможность консольного режима установки. Аналогичная замена может быть произведена и для конфигуратора bsdconfig, который уже поддерживает опцию “-X” для создания простого графического интерфейса через вызов Xdialog (на базе GTK2) вместо bsddialog. Использование gbsddialog вместо Xdialog позволит получить более современное оформление интерфейса.
Рабочая реализация нового инсталлятора уже готова для тестирования, а необходимые для его интеграции в основной состав патчи предложены для рецензирования. Для включения в bsdinstall предложены переведённые на bsddialog интерфейсы для добавления пользователя, установки пароля администратора и выбора часового пояса, а также компоненты для выбора реализации утилиты dialog на основе значения переменной окружения $DIALOG и поддержки активации графического режима.
Примечательно, что проект GhostBSD (редакция FreeBSD с рабочим столом MATE) уже использует собственный графический инсталлятор, написанный на Python и PyGTK, но его перенос во FreeBSD не рассматривается, так он потребует включения Python в качестве дополнительной зависимости, что приведёт к заметному увеличению размера установочного носителя. Несколько лет назад при поддержке FreeBSD Foundation также развивался прототип графического инсталлятора, написанного на языке Lua и реализованного в форме http-сервера, предоставляющего web-интерфейс, который открывается в однооконном режиме при помощи web-браузера.
Из других событий, упомянутых в отчёте FreeBSD за первый квартал 2024 года,
можно отметить:
- Ведётся работа по улучшению звукового стека. Реализована возможность отсоединения звуковых устройств в асинхронном режиме, что необходимо, например, для горячего отключения звуковых карт с интерфейсом USB. В планах реализация библиотеки oss, утилиты audio и утилиты для управления устройствами Bluetooth, а также расширение возможностей утилиты и библиотеки mixer.
- Для Bhyve реализован фоновый процесс vmstated для управления виртуальными машинами и настройки связанных с ними сетевых подсистем и хранилищ. Добавлена утилита vmstatedctl для управления (запуска/остановки/проверки состояния) виртуальными машинами в стиле команды jail.
- Инициатива по выносу в отдельную библиотеку libsys.so кода для обращения к системным вызовам, ранее присутствовавшего в libc.so и libpthread.so. Создание libsys.so позволит ограничить прямое обращение к системным вызовам только для заслуживающего доверия кода, абстрагировать доступ к системным вызовам для runtime языков программирования и улучшить поддержку инструментариев для ведения лога системных вызовов и повторного воспроизведения операций.
- Для PackageKit развивается бэкенд для пакетного менеджера pkg, который позволит использовать для управления пакетам во FreeBSD типовые интерфейсы управления приложениями, использующими PackageKit, например, KDE Discover и GNOME Software Center.
- Версия набора компиляторов GCC в портах обновлена до GCC 13.
- Запущен совместный с AMD проект по созданию драйвера IOMMU для FreeBSD.
- Ведётся портирование сетевого стека VPP (Vector Packet Processor) для FreeBSD.
- Стартовал проект по реализации настраиваемых ограничений пропускной способности (rate limit) в OpenZFS, работающий по аналогии с дисковыми квотами, но в контексте ограничения числа операций чтения/записи и пропускной способности при чтении/записи.
- Ведётся работа по стабилизации поддержки unionfs во FreeBSD.
- План прекращения поддержки 32-разрядных платформ.
- В порты добавлен KDE 6.