Skip site navigation (1)Skip section navigation (2)



index | | raw e-mail

  • RNG driver

  • Pciecfg driver

  • SysIRQ driver

Development roadmap

Implement missing drivers:

  • USB3 / T-PHY

  • SATA / AHCI / T-PHY

  • Wi-Fi (likely MediaTek MT7615)

  • GPIO subsystems

  • I2C

  • SPI

  • PWM

  • PCIE

Work in progress drivers:

  • T-PHY

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Documentation

Noteworthy changes in the documentation tree, manual pages, or new external
books/documents.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Accessibility Handbook

Link:
FreeBSD Accessibility Handbook URL:
https://docs.freebsd.org/en/books/accessibility/

Contact: FreeBSD Accessibility mailing list <freebsd-accessibility@FreeBSD.org>
Contact: Alfonso Sabato Siciliano <asiciliano@FreeBSD.org>

In recent reports, the new Accessibility Handbook was announced and its reviews
were published. The handbook aims to document the assistive technologies
available in FreeBSD, covering both the base system and the Ports Collection.

During this quarter:

  • The book was presented at the FreeBSD Developer Summit Zagreb 2025, with
    slides available here.

  • The book was published and is now available on the FreeBSD website under
    Documentation > Books > Accessibility Handbook.

At present, the handbook describes assistive technologies related to visual
disabilities. It is part of the Vision Accessibility project sponsored by the
FreeBSD Foundation. The handbook is structured into two parts and six chapters:

 1. Help — Covers how to request assistance effectively through appropriate
    FreeBSD communication channels.

 2. Virtual Terminal — Documents vision-related accessibility features of the
    FreeBSD virtual console (vt(4)).

 3. Colors — Explains how to configure color schemes, including high-contrast
    themes and adjusting screen colors for ambient lighting.

 4. Low Vision — Outlines accessibility tools in graphical desktop environments
    for users with low vision, such as screen magnifiers, readable fonts, and
    scaling.

 5. Blindness — Describes assistive technologies for blind users, focusing
    primarily on screen readers and compatible tools.

 6. Development — Provides resources for developers to make their software
    accessible, test accessibility, and improve support for users with visual
    impairments.

The handbook deliberately avoids images and minimizes non-plain-text elements
to enhance compatibility with assistive technologies. Tips and new ideas are
welcome. If possible, send reports to the FreeBSD Accessibility mailing list,
to share and to track discussions in a public place.

Sponsored by: The FreeBSD Foundation

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

FreeBSD Git Weekly

Links:
FreeBSD Git Weekly URL: https://freebsd-git-weekly.tarsnap.net/

Contact: Graham Percival <gperciva@tarsnap.com>

These are weekly lists of commits to the FreeBSD source tree, split into
categories such as "documentation", "hardware support", "testing", and
"kernel". We also include quarterly lists of the categorized commits, for those
who prefer to see three months of development at once.

Our goal is to make it easier for developers and users to keep track of changes
in FreeBSD that are relevant to them, without needing to subscribe to the
dev-commits-src-main mailing list and look at every single commit which lands
in their mailbox.

There is a freebsd-git-weekly@tarsnap.com mailing list that provides
announcements about each report.

Sponsor: Tarsnap Backup Inc.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The FreeBSD Russian Documentation Project

Links:
FreeBSD Official Website in Russian URL: https://www.freebsd.org/ru/
FAQ URL: https://docs.freebsd.org/ru/books/faq/
The FreeBSD Russian Documentation Project site URL:
https://github.com/freebsd-doc-ru/freebsd-doc/discussions

Contact: Andrey Zakhvatov <andy@FreeBSD.org>
Contact: Vladlen Popolitov <vladlen@FreeBSD.org>

The FreeBSD Russian Documentation Project’s current goal is to provide
up-to-date Russian translations of the most important parts of the FreeBSD
documentation (FAQ, Handbook, website content). It is essential to support
Russian speaking users with high-quality official technical materials and to
increase the adoption of the operating system worldwide. We hope this
initiative will gain support within the Russian-speaking FreeBSD community and
lead to an increase in translated materials.

During the last quarter:

  • 100% of the text in Weblate has been translated, accounting for all recent
    changes.

  • The review and update process for the remaining documentation has been
    completed. All 47 documents (books and articles) are now fully synchronized
    on the Russian documentation site.

  • The Russian language section of www.FreeBSD.org/ru has been restored, with
    approximately 90% of its pages updated.

  • News, event announcements, and press links are now being translated and
    published on the Russian website. Additionally, Errata Notices and Security
    Advisories have been translated into Russian starting from January 2025.

  • For the FreeBSD 15.0 release, the complete set of release documentation
    (release notes, errata, etc.) has been translated into Russian in a timely
    manner alongside the English originals.

  • The project to translate FreeBSD man pages has been initiated and is in its
    very early stages. Preliminary examples can be found at GitHub.

This report acknowledges with appreciation the contributions of the following
colleagues who performed reviews of our commits during the quarter (in
Phabricator or by email):

  • Sergio Carlavilla Delgado

  • Eugene Grosbein

  • Dmitry Morozovsky

  • Maxim Konovalov

  • Michael Zhilin

  • Sergey Kandaurov

  • Lorenzo Salvadore

Plan for next quarter:

  • Finalize the update of all remaining pages on the Russian language website.

  • Establish a sustainable workflow to keep the translated content (News,
    Events, Press, Errata, Security Advisories) up to date and publish it on
    the website as promptly as possible.

  • Translate the new "FreeBSD Accessibility Handbook" as soon as it becomes
    available for translation in Weblate.

  • Continue the ongoing project to translate FreeBSD man pages.

Check the official translation guide if you would like to help.

We would appreciate your assistance with translating the following materials:

  • Web pages

  • Man pages

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Ports

Changes affecting the Ports Collection, whether sweeping changes that touch
most of the tree, or individual ports themselves.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

FreeBSD HPC Ports Modernization: Slurm 25.11 and Unbundled PMIx/PRRTE

Links:
sysutils/slurm-wlm: 23.11.7 → 25.11.0 URL:
https://cgit.freebsd.org/ports/commit/?id=1536bac0dd26d81e315652929b8bfaff9c136089
net/pmix: Process Management Interface for Exascale (PMIx) URL:
https://www.freshports.org/net/pmix/
net/prrte: PMIx Reference RunTime Environment (PRRTE) URL:
https://www.freshports.org/net/prrte/
sysutils/py-clustershell: Python framework for efficient cluster administration
URL: https://www.freshports.org/sysutils/py-clustershell/
Kavocado Monthly Status Reports – FreeBSD HPC notes URL:
https://kavocado.net/reports/

Contact: Generic Rikka <rikka.goering@outlook.de>

During this quarter, a significant amount of work has gone into making FreeBSD
a more practical target for modern HPC clusters by bringing key components of
the Slurm + PMIx + PRRTE stack up to date and available as first-class ports.

Work completed

  • Updated sysutils/slurm-wlm from 23.11.7 to 25.11.0, tracking the latest
    upstream long-term series and drastically reducing the number of local
    patches required for FreeBSD.

  • Refreshed the Slurm rc.d scripts so that slurmctld and slurmd integrate
    better with a typical FreeBSD deployment (configurable config/log
    directories, pidfiles, status and cleanup helpers).

  • Introduced net/pmix and net/prrte as standalone ports, and switched net/
    openmpi to use these unbundled runtimes instead of the copies shipped
    inside the OpenMPI distfile. This aligns FreeBSD more closely with how many
    Linux HPC distros package the MPI runtime stack.

  • Added sysutils/py-clustershell, a Python framework widely used for scalable
    cluster administration, providing FreeBSD users with a familiar tool found
    on many production HPC systems.

Work in progress

  • Iterating on additional Slurm integration improvements (plugins, defaults,
    documentation) to make it easier to deploy Slurm on FreeBSD in real
    clusters.

  • Extending the HPC userland stack with further tools such as test frameworks
    and job-oriented utilities, so that FreeBSD can serve as a realistic
    development and validation platform for HPC software.

  • Porting sysutils/mpifileutils and its dependencies (devel/libcircle, devel/
    lwgrp, devel/lwgrpd) to provide MPI-parallel file utilities commonly used
    on large HPC filesystems (currently under review).

  • Adding and refining HPC-oriented Python tooling, including benchmarks/
    py-reframe (HPC regression testing framework) and continued work around
    sysutils/py-clustershell.

  • Initial work on bringing devel/spack to FreeBSD as a complementary tool for
    HPC software development and experimentation, with the goal of improving
    compatibility with existing HPC workflows.

Future plans

  • Continue tracking upstream Slurm, PMIx and PRRTE releases closely so that
    FreeBSD remains a viable target for sites that expect a modern MPI/Slurm
    stack.

  • Document a “reference” Slurm + OpenMPI + PMIx + PRRTE setup on FreeBSD, to
    lower the barrier for new sites that want to experiment with FreeBSD in an
    HPC context.

  • Identify and address FreeBSD-specific gaps or regressions to ensure the
    software stack remains feature-complete and robust on FreeBSD.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

GCC on FreeBSD

Links:
GCC Project URL: https://gcc.gnu.org/
GCC 13 release series URL: https://gcc.gnu.org/gcc-13/
GCC 14 release series URL: https://gcc.gnu.org/gcc-14/
GCC 15 release series URL: https://gcc.gnu.org/gcc-15/
GCC 16 release series URL: https://gcc.gnu.org/gcc-16/

Contact: Lorenzo Salvadore <salvadore@FreeBSD.org>

Very little has happened for GCC on FreeBSD this quarter.

The main news is that the exp-run to update GCC default version from 13 to 14
is finally finished. It took longer than expected due to some segmentation
fault which happens in the emacs ports only on most recent FreeBSD versions.
Since the GCC_DEFAULT update was already long due, it has been chosen to pin
the emacs ports to GCC 13 for now, so that this single bug does not prevent the
rest of the ports tree from getting advantage of a more recent GCC version by
default. Please see PR 288303 for more information.

GCC 15 is already in our ports tree and the process to bring GCC_DEFAULT to 15
will soon start.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Improve libvirt support for bhyve hypervisor

Links:
libvirt: Bhyve driver URL: https://libvirt.org/drvbhyve.html

Contact: Roman Bogorodskiy <novel@FreeBSD.org>

Completed work

  • libvirt/bhyve driver:

      □ NVMe device support added.

      □ PCI passthrough support added.

      □ SLIRP networking support added.

      □ More configuration options added: SATA nmrr/RPM, NVMe queues, VNC wait.

  • Enabled libvirt-tck hooks tests.

Plans for the next quarter

  • Add support (targeted, but might roll over to next quarter) for:

      □ Boot order configuration.

      □ TPM devices.

      □ Complete suspend/resume support.

      □ arm64 support.

      □ virtio-scsi support.

      □ Guest NUMA configuration support.

  • Improve virt-manager support on FreeBSD.

Sponsor: The FreeBSD Foundation

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Improve OpenJDK on FreeBSD

Links:
Project description URL:
https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/
Project repository URL: https://github.com/freebsd/openjdk

Contact:
Harald Eilertsen <haraldei@FreeBSD.org>
FreeBSD Java mailing list <freebsd-java@lists.freebsd.org>

The goal of this project is to improve OpenJDK support for FreeBSD/amd64 and
FreeBSD/arm64.

Java is an important runtime environment for many high performance, critical
enterprise systems. Making sure Java based applications run correctly and
efficiently on FreeBSD is important to ensure that FreeBSD will continue to be
a viable and attractive platform for enterprises, as well as businesses and
organizations of all sizes.

In this quarter the following issues/milestones were reached:

  • Released a port for OpenJDK 25, later updated to OpenJDK 25.0.1. Thanks to
    Greg Lewis and Kurt Miller for helping.

  • Added headless and jre FLAVORS to the OpenJDK 25 port. This enables
    building and installing only a headless (no GUI) version of the JDK or just
    the Java Runtime Environment (no compiler or dev tools). It is also
    possible to combine these to only install a headless-jre variant. This is
    useful in server environments, or other resource constrained environments
    where the full JDK and tools are not necessary. The plan is to extend these
    FLAVORS to the remaining OpenJDK ports as well.

  • Submitted a fix upstream that fixed invalid memory alignment on systems
    using jemalloc, or other allocators that do not use the strong alignment
    interpretation of the C standard alignment requirements. This caused
    problems when allocating small off-heap memory segments using the
    java.lang.foreign.Arena API on FreeBSD. This fix will be included in
    OpenJDK 26.

  • Deprecated OpenJDK ports no longer supported by upstream. The ports will
    expire and be removed throughout the first half of 2026, leaving the LTS
    versions and the latest maintained ports behind.

Other notes:

  • Spent some time digging into the history of getrlimitusage(2) system call
    discovering it was available since version 14.2 despite the man page saying
    it first appeared in version 15. See also related review by emaste. This
    was relevant because the performance improvements from previous quarter
    relies on this system call. Knowing that it is available for all currently
    maintained versions of FreeBSD, means we do not need to keep code to fall
    back to less efficient ways of obtaining the same information.

  • Updates made to the Mac OS X implementation of the Hotspot Serviceability
    Agent debugging facility broke the BSD implementation. Due to history,
    these implementations share the same source files and directories despite
    being somewhat different implementations. Work has been started on moving
    the OS X code to it’s own implementation, so that we can work on the BSD
    implementation without having to step on each others toes.

  • Work on changing the way we bootstrap OpenJDK builds in the ports system
    has been resumed. This work is more relevant again as deprecating
    unmaintained ports breaks the previous assumption that you could depend on
    the previous OpenJDK version to build the current version. The new
    bootstrapping mechanism must be in place before actually expiring the
    existing ports.

  • I lost access to my Aarch64 test system in the beginning of this quarter,
    so I have not been able to test as well as I want on that architecture.
    This situation is now remedied, and I am in the process of getting the new
    system set up for building and testing.

Sponsor: The FreeBSD Foundation

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Make OpenJDK 21 the default JAVA_VERSION

Links: Issue 272855 URL:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272855
Sheet tracking Work in Progress URL:
https://docs.google.com/spreadsheets/d/17hmRQ0ShY4SHHVEkQBVxqK2G88fPZLriTzO26zXdjC4/edit?usp=sharing

Contact: Ronald Klop <ronald@FreeBSD.org>

The default JAVA_VERSION in FreeBSD ports is still OpenJDK 8. It is time to
upgrade this to a more modern version like OpenJDK 21. We need to test and fix
all ports using Java to build or run with JDK 21, or pin JAVA_VERSION in the
port to the latest supported version.

The work is being tracked in PR 272855 and a Google Sheet for more details.
Already more than half of the ports that failed a test run is fixed.

If you have experience with Java and the ports system you are invited to help.
I think it is reasonable to have the ports in shape for the JAVA_VERSION=21
setting in February 2026.

Plan:

  • Check the last 12 ports and create a PR or commit

  • Commit the PRs that are timing out on maintainer feedback

  • Ask for another exp-run

  • If done, increase JAVA_VERSION

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

KDE on FreeBSD

Links:
KDE/FreeBSD initiative URL: https://freebsd.kde.org/
FreeBSD — KDE Community Wiki URL: https://community.kde.org/FreeBSD

Contact: KDE on FreeBSD Mailing List <kde@FreeBSD.org>

The KDE on FreeBSD project packages CMake, Qt, and software from the KDE
Community, for the FreeBSD ports tree. The software includes a full desktop
environment called KDE Plasma (for both X11 and Wayland) and hundreds of
applications that can be used on any FreeBSD machine. The KDE team is part of
desktop@, building the software stack to make FreeBSD beautiful and usable as a
daily driver graphical desktop workstation.

Infrastructure

CMake was updated to 3.31.10. Ninja was updated to 1.13.2.

Qt6, PyQt6, and PySide6 were updated to 6.10.1.

Qt5 was updated to 5.15.18 KDE patch collection. Upstream standard support for
Qt5 is officially over. This might be the last update for Qt5 on FreeBSD.

KDE Stack

KDE Frameworks, Plasma, and Gear release happen very regularly. KDE team lands
these updates shortly after their upstream release.

  • KDE Frameworks ports were updated to 6.21.0.

  • KDE Plasma Desktop was updated to 6.5.4.

  • KDE Gear was updated to 25.12.0.

With KDE Gear 25.12.0 the last two applications have been finally ported to
Qt6, and KDE Stack is liberated from Qt5 packages now. The x11/kde port has
been reduced and does not install Plasma 6 integration plugins for Qt5 and GTK2
applications anymore. They are still available and can be installed via x11/
plasma6-plasma port if required.

Support for Plasma/Wayland has been improved. It can be used as a daily driver
instead of Plasma/X11.

Related Ports

The KDE team maintains nearly 730 ports and updates them all as needed.
According to portscout only 1% ports are outdated.

The KDE team would like to thank Gleb Popov, Jason E. Hale, Loïc Bartoletti,
and Max Brazhnikov for keeping things up-to-date. The KDE team is grateful to
Harley (SponiX on IRC) for sharing his building box.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Use Bazel as build tool for MongoDB 8.0

Links:
MongoDB 8.0 port URL: https://www.freshports.org/databases/mongodb80/
Bazel 8 PR URL: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287546

Contact: Ronald Klop <ronald@FreeBSD.org>

MongoDB is a production level NoSQL database. Our ports has the Community
edition of MongoDB for many years already. MongoDB is used by several WiFi
controller software in ports like Unifi and Omada. In MongoDB 8.0.13 the build
system is changed from SCons to Bazel.

We have version 8 of Bazel in Bugzilla (PR 287546). With this version the build
of MongoDB 8.0 starts. Unfortunately the build errors pretty quickly.

Because of security issues in the MongoDB 8.0 port it becomes important to
upgrade the port to the latest version.

I am looking for somebody with experience of a Bazel build to help.

  • Contact me.

  • Set up your build environment with Bazel 8.

  • Compile and fix.

  • Let us commit it!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

OpenVox (Puppet)

Links:
Vox Pupuli URL: https://voxpupuli.org/
OpenVox GitHub organization URL: https://github.com/OpenVoxProject/
Vox Pupuli GitHub organization URL: https://github.com/voxpupuli/

Contact: Puppet Team <puppet@FreeBSD.org>

OpenVox (Puppet) is a Free Software configuration management tool, composed of
a source of trust (OpenVox Server) that describes the expected configuration of
machines with a domain-specific language, and an agent (OpenVox Agent) on each
node which enforces that the actual configuration matches the expected one. An
optional database (OpenVoxDB) can be setup for reporting and describing
advanced schemas where the configuration of a machine depends on the
configuration of another one.

A lot of things happened in the Puppet world this year. After Perforce
announced major changes regarding how they contribute to Open-Source, they
discontinued the Open Source version of Puppet (also known as OSS Puppet),
advising users to switch to Puppet Enterprise (closed source flavor of Puppet
that has existed for years) or Puppet Core (a new closed source flavor of
Puppet, not developed in the open, and accessible only after signing an
End-User License Agreement (EULA)). The Vox Pupuli community tried to reason
with Perforce, but without success. Vox Pupuli therefore took maintainership of
the Apache-2.0 licensed Puppet code, and continue to maintain it, update it,
provide packages, instead of Perforce. The name "Puppet" being owned by
Perforce, the project has been renamed to "OpenVox" in order for users to not
confuse the old unmaintained Open-Source Puppet with the new version maintained
by OpenVoxProject, which is part of Vox Pupuli.

To follow these changes, a bunch of ports have been added to the FreeBSD ports
tree:

  • sysutils/openvox-agent8 replaces sysutils/puppet8;

  • sysutils/openvox-server8 replaces sysutils/puppet-server8;

  • databases/openvoxdb8 replaces databases/puppetdb8;

  • databases/openvoxdb-terminus8 replaces databases/puppetdb-terminus8;

  • sysutils/rubygem-openbolt replaces sysutils/rubygem-bolt;

  • sysutils/rubygem-openfact replaces sysutils/rubygem-facter.

They are drop-in replacement of the former ports: while the packages are named
"openvox", the service keep their legacy name for now. Switching to them is as
easy as installing them, and answering yes when pkg propose to remove the
legacy packages and install the new ones. No other action is required: the
module you used with Puppet are expected to continue working with OpenVox.

During this year, Puppet 7 has also reached End-of-Life, so the corresponding
ports have been deleted from the FreeBSD ports tree. Puppet 7 was the last
version that allowed to choose between the C and the Ruby version of facter,
the port for the C version (sysutils/facter) has therefore also been removed.
Because the legacy ports of Puppet 8 will not be updated anymore, they will be
deprecated soon, and follow the same fate.


home | help