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



index | | raw e-mail

As of late, I have upstreamed changes to AMD’s LLVM fork allowing the
compilation of their fork on FreeBSD so you can build their ROCm toolchain.
Beyond that, I have worked on getting a series of patches into LinuxKPI to
slowly bring in amdkfd support.

Sponsor: The FreeBSD Foundation

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

Cloud

Updating cloud-specific features and bringing in support for new cloud
platforms.

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

FreeBSD on EC2

Contact: Colin Percival <cperciva@FreeBSD.org>

FreeBSD is available on both amd64 (Intel and AMD) and arm64 (Graviton) EC2
instances.

An issue causing the ena(4) driver to drop packets when receiving jumbograms
has been fixed. The fix was present in 15.1-RELEASE (June) and will be present
in 14.5-RELEASE (September). This fix improved single-TCP-stream network
performance on some EC2 instances from 110 Mbps to 9.5 Gbps and also
significantly improved multiple-TCP-stream throughput.

An issue causing the ena(4) driver to launch taskqueues on the wrong CPU(s) on
NUMA systems has been identified. The fix should be present in 14.5-RELEASE
(September) and produces a 2x increase in multiple-TCP-stream throughput on
c8gn.48xlarge instances.

Sponsor: Amazon
Sponsor: https://www.patreon.com/cperciva

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

FreeBSD on Microsoft HyperV and Azure

Links:
Microsoft Azure article on FreeBSD wiki URL:
https://wiki.freebsd.org/MicrosoftAzure
Microsoft HyperV article on FreeBSD wiki URL: https://wiki.freebsd.org/HyperV

Contact: Microsoft FreeBSD Integration Services Team <bsdic@microsoft.com>
Contact: freebsd-cloud Mailing List
Contact: The FreeBSD Azure Release Engineering Team <releng-azure@FreeBSD.org>
Contact: Wei Hu <whu@FreeBSD.org>, <weh@microsoft.com>
Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>

Publishing the 15.1-RELEASE image to Azure Marketplace is in progress. It is
expected to become publicly available early in the third quarter.

Li-Wen is investigating the technical details needed to support Azure Trusted
Launch.

Wei and Li-Wen, together with other Microsoft engineers, are investigating an
issue preventing mana(4) from working correctly on AMD-based Azure VMs. The
mana(4) device is present on the latest v7-generation Azure VMs.

Work in progress tasks:

  • Automating the image publishing process and merging it into src/release/.

  • Making the process of publishing to Azure Marketplace smoother.

  • Supporting FreeBSD in Azure VM utilities.

Open tasks:

  • Update FreeBSD-related documentation at Microsoft Learn.

  • Update sysutils/azure-agent to the latest version.

  • Upstream local modifications of Azure agent.

  • Port Linux Virtual Machine Extensions for Azure.

  • Add FreeBSD support in Azure Pipelines.

      □ https://github.com/microsoft/azure-pipelines-agent/pull/3266

      □ Build and publish snapshot builds to Azure community gallery.

Sponsor: Microsoft for people in Microsoft, and for resources for the rest
Sponsor: The FreeBSD Foundation for everything else

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

Documentation

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

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

The FreeBSD Russian Documentation Project

Links:
The 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.

  • The Russian language section of www.FreeBSD.org/ru has been fully
    translated, with 100% of its pages now available in Russian.

  • For the FreeBSD 15.1 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.

Plan for the next quarter:

  • Continue the ongoing efforts 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.

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

Dockerbox

Links:
freebsd-dockerbox GitHub URL: https://github.com/leafoliage/freebsd-dockerbox
dockerbox-broker GitHub URL: https://github.com/leafoliage/dockerbox-broker
freebsd-dockerbox-debian GitHub URL:
https://github.com/leafoliage/freebsd-dockerbox-debian

Contact: Chun-Cheng Yeh <leafoliage@FreeBSD.org>

Dockerbox is a virtualized Docker daemon. Although the Docker daemon is not
natively available on FreeBSD, Dockerbox runs it inside a Debian Bhyve virtual
machine to provide access to it. Dockerbox supports common Docker features such
as Docker Compose, port publishing, and bind mounts. This project aims to
facilitate non-production Docker usage on FreeBSD.

Related Ports and Repositories

  • freebsd-dockerbox
    Provides Docker on FreeBSD by running dockerd inside a Linux Bhyve VM. This
    service manages the lifecycle of the Dockerbox guest, along with its
    network and storage settings.
    v0.2.5 — ported.

  • dockerbox-broker
    A child service of Dockerbox that handles port forwarding from the host to
    the Dockerbox guest when a container requests port publishing.
    Not yet ported.

  • freebsd-dockerbox-debian
    Codebase used to generate Dockerbox’s disk image.
    Not ported.

  • docker-cli
    The Docker CLI tool.
    v29.4.2 — ported.

  • docker-compose
    A Docker CLI plugin for defining and running multi-container applications.
    v5.1.3 — ported.

  • docker-buildx
    A Docker CLI plugin providing extended build capabilities via BuildKit.
    v0.34.1 — ported.

sysutils/dockerbox, sysutlis/docker-cli, sysutils/docker-compose, and sysutils/
docker-buildx are now available in the FreeBSD Ports Collection and via pkg.

Sponsor: The FreeBSD Foundation

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

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.12.

Qt6 and PySide6 were updated to 6.11.1. PyQt6 was updated to 6.11.0.

Qt5 and PySide2 were updated to 5.15.19 KDE patch collection. Upstream standard
support for Qt5 is officially over. This is the final update for Qt5.

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.28.0.

  • KDE Plasma Desktop was updated to 6.6.6.

  • KDE Gear was updated to 26.04.3.

Related Ports

A number of new KDE ports have been added. Amarok, the classic KDE music
player, has been reinstated and updated to 3.3.3.

Sunsetting Qt5 ports

Qt5 is still used by approximately 350 ports. Although Qt5 is deprecated there
is no definite date for its removal from the ports tree yet. Still, the port
for Qt5WebEngine which is based on very old Chromium with multiple
vulnerabilities is scheduled for removal just before 2026Q4. KDE team
encourages maintainers to migrate their ports to Qt6, remove Qt5 flavors, and
remove abandoned Qt5 software.

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

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/
GCC 17 release series URL: https://gcc.gnu.org/gcc-17/

Contact: Lorenzo Salvadore <salvadore@FreeBSD.org>

Two new ports have been created: lang/gcc16 and lang/gcc17-devel.

PR 294062 about arm64 build failures has been fixed. More precisely, in 2026Q2
lang/gcc16-devel and lang/gcc17-devel have been fixed, while lang/gcc16 has
been fixed in the beginning of 2026Q3 (at the time this report is written the
patch still needs to be forwarded to the ports quarterly branch).
Unfortunately, the solution is local to the FreeBSD ports tree and cannot be
upstreamed directly. Discussion for an upstream solution can be found in the
upstream bugzilla. Thanks to all those who have helped, in particular to Mark
Millard.

I have not worked personally on the process to get GCC_DEFAULT=15 this quarter,
but some work is being done in the associated PRs, so this is getting forward
as well. Moreover, minor version updates to lang/gcc13, lang/gcc14 and lang/
gcc15 are planned.

As I continue to work on the GCC ports, I realize that I am having less time
and less energy to put into them. These ports are important, I prefer not to
leave them unmaintained at least until I am able to deal with them, even if
slowly. But if there is someone who would like to take them, please stand up
and I would be glad to transfer maintainership.

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

Improve OpenJDK on FreeBSD

Links:
Project description URL:
https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/
Project repository URL: https://github.com/freebsd/openjdk
Upstream BSD port repo URL: https://github.com/openjdk/bsd-port

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.

This quarter has been spent mostly on getting the upstreaming process properly
going. We submit patches to a separate repository under the OpenJDK org on
GitHub, and make sure that each PR is reviewed by at least one upstream
reviewer. This way, when we get to the point where we want to merge our port
into the upstream mainline, all commits should already be reviewed by someone
in the project.

This is a fairly slow process, as we depend on upstream reviewers having time.
We also encounter that some of the changes that has been living in our port for
a long time is rejected. Then we have to rework them, or if not strictly
needed, just throw them out. I feel this is a useful correction, but sometimes
causes quite a bit of work.

In this quarter the following issues/milestones were reached:

  • OpenJDK 25 port was updated to version 25.0.3.

  • Upstream mainline changes and bugfixes:

      □ 8382614: Consolidate implementation of current_stack_base_and_size on
        BSD

      □ 8384085: Make os::Bsd::dlopen_helper private, and drop unused arg

      □ 8384088: osThread _thread_id should be an int on all BSD’s

      □ 8384946: os::Bsd::gettid misses the return value

      □ 8386344: runtime/StackGuardPages/TestStackGuardPages build failure
        after JDK-8303612

  • Upstream BSD Port:

      □ Fix conditional sections for BSD in hotspot/cpu

      □ Port hotspot/os/posix for BSD

      □ Merged changes accepted for mainline.

  • Current (out-of-tree) BSD port:

      □ Merge + Remove VFORK for BSD + rebase GHA workflow on OpenJDK26

      □ Merge + Fix usage of FREE_C_HEAP_ARRAY macro on BSD

      □ Sync aarch64 cpuinfo impl for *BSD with Linux

      □ Remove duplicate include in global defs for zero

      □ Remove ThreadWXEnable from BSD code

      □ Backported changes accepted for mainline upstream BSD port.

  • Ports:

      □ java/javavmwrapper: JAVA_VERSION does not work with openjdk25

In addition, these tasks are still ongoing, or waiting for review:

  • Upstream BSD port:

      □ Port hotspot/os/bsd/os_perf_bsd.cpp to BSD (Waiting for refactor, see
        WIP: Split os_perf impl for macOS and BSD)

      □ os::get_process_uid and os::rss for BSD (Still ongoing)

Other notes:

  • Started preparing for OpenJDK 27 port.

  • Presented the project at Foss North 2026.

Sponsor: The FreeBSD Foundation

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

FreeBSD HPC Ports Modernization: Slurm 26.05, UCX 1.20 Upstreaming, and
MPI-Parallel File Utilities

Links:
sysutils/slurm-wlm URL: https://cgit.freebsd.org/ports/tree/sysutils/slurm-wlm/
net/ucx URL: https://cgit.freebsd.org/ports/tree/net/ucx/
sysutils/mpifileutils URL: https://cgit.freebsd.org/ports/tree/sysutils/
mpifileutils/
devel/libcircle URL: https://cgit.freebsd.org/ports/tree/devel/libcircle/
devel/lwgrp URL: https://cgit.freebsd.org/ports/tree/devel/lwgrp/
devel/dtcmp URL: https://cgit.freebsd.org/ports/tree/devel/dtcmp/
benchmarks/py-reframe-hpc URL:
https://cgit.freebsd.org/ports/tree/benchmarks/py-reframe-hpc/
openucx/ucx#11354: UCS/TYPE portability fixes for non-glibc/Clang environments
(merged) URL: https://github.com/openucx/ucx/pull/11354
openucx/ucx#11549: UCS/SYS portability fixes for non-Linux platforms (in
review) URL: https://github.com/openucx/ucx/pull/11549
hpc/mpifileutils#664: Portability fixes for FreeBSD/non-Linux builds (in
review) URL: https://github.com/hpc/mpifileutils/pull/664
Kavocado Monthly Status Reports – FreeBSD HPC notes
URL: https://kavocado.net/reports/

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

This report continues the FreeBSD HPC Ports Modernization initiative. Previous
quarters focused on bringing the Slurm + PMIx + PRRTE + UCX stack up to date
and filling gaps in the surrounding ecosystem. This quarter’s work centered on
three things: keeping the core scheduler and communication libraries current
against fast-moving upstream releases, upstreaming the FreeBSD portability
fixes accumulated while maintaining these ports so the local patchsets keep
shrinking, and adding a new port for MPI-parallel file utilities that are
common on large HPC filesystems.

Work completed

  • Updated sysutils/slurm-wlm twice this quarter, from 25.11.4 to 25.11.5 and
    then from 25.11.5 to 26.05.1, tracking the latest upstream releases.

  • Fixed several FreeBSD-specific runtime issues in net/ucx: hardened async
    thread state handling, corrected UCM relocation handling, fixed mm signal
    socket binding, and resolved other FreeBSD runtime portability issues.

  • Updated net/ucx from 1.20.0 to 1.20.1, and separately fixed a libucm
    early-init panic together with several gtest suite failures uncovered while
    validating the update.

  • Added sysutils/mpifileutils as a new port, along with its dependency stack:
    devel/libcircle, devel/lwgrp, and devel/dtcmp. These provide MPI-parallel
    file utilities (copy, remove, checksum, etc.) commonly used on large HPC
    filesystems.

  • Updated benchmarks/py-reframe-hpc twice this quarter to track upstream
    releases of the regression testing framework.

  • Upstreamed "UCS/TYPE: Portability fixes for non-glibc/Clang environments"
    to UCX, which was reviewed and merged.

  • Opened "UCS/SYS: portability fixes for non-Linux platforms" against UCX,
    covering hostname buffer sizing, MAC address retrieval via getifaddrs()/
    AF_LINK, shared-memory error reporting, mmap/munmap-based reallocation, and
    cpuset_getaffinity()-based thread affinity queries; currently addressing
    review feedback.

  • Opened a portability PR against mpifileutils guarding Linux-only APIs for
    FreeBSD and other non-Linux builds; currently in review.

  • Collaborated with SchedMD on a Slurm configure-time probe for H5PTopen,
    used to detect the HDF5 high-level library, which was merged upstream.

Work in progress

  • Addressing reviewer feedback on the open UCX and mpifileutils portability
    pull requests to get them merged upstream and reduce the FreeBSD ports'
    local patchsets further.

  • Continuing collaboration with SchedMD to upstream additional portability
    fixes discovered while maintaining sysutils/slurm-wlm on FreeBSD, including
    BSD socket-handling improvements.

  • Evaluating a proctrack/freebsd_reaper Slurm plugin design, made possible by
    recently landed FreeBSD kernel support for exposing reaper metadata in
    process information.

  • Continuing to track upstream Slurm, UCX, and PMIx/PRRTE releases closely to
    keep the FreeBSD ports current with minimal local patching.

Future plans

  • Land the outstanding UCX and mpifileutils upstream pull requests, and
    continue identifying further portability issues to upstream rather than
    patch locally.

  • Prototype and submit the Slurm proctrack/freebsd_reaper plugin once the
    underlying kernel interface work is finalized.

  • Continue expanding the HPC software ecosystem available in the FreeBSD
    Ports Collection and reduce local patchsets across the stack wherever
    upstream acceptance is possible.

  • Document a reference Slurm + OpenMPI + PMIx + PRRTE + UCX deployment on
    FreeBSD to lower the barrier for new sites experimenting with FreeBSD in an
    HPC context.

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

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:

      □ virtio-console device support added.

      □ QEMU Guest Agent support added.

      □ Implemented a few features based on the QEMU Guest Agent, such as
        graceful reboot and shutdown, managing guest OS time, SSH keys, users
        passwords, etc.

      □ Added memory tuning and block I/O tuning based on rctl(8).

  • Work in progress on extend libvirt CI to test against FreeBSD-CURRENT
    snapshot VM images.

Plans for the next quarter

  • Add support for boot order configuration.

  • Add support for TPM devices.

  • Complete suspend/resume support.

  • Continue implementing features based on the QEMU Guest Agent.

  • Continue extending CI, cover the new guest agent based features with new
    tests.

Sponsor: The FreeBSD Foundation


home | help