diff options
Diffstat (limited to 'website/content/en/status')
23 files changed, 867 insertions, 2 deletions
diff --git a/website/content/en/status/report-2025-07-2025-09/ACPI.adoc b/website/content/en/status/report-2025-07-2025-09/ACPI.adoc new file mode 100644 index 0000000000..14a2f67524 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/ACPI.adoc @@ -0,0 +1,80 @@ +=== ACPI Lua Bindings + +Links: + +link:https://www.github.com/kpowkitty/freebsd-src[Github] URL: link:https://www.github.com/kpowkitty/freebsd-src[] + +link:https://www.github.com/freebsd/freebsd-src/pull/1740[PR: libsa: Add isprint()] URL: link:https://www.github.com/freebsd/freebsd-src/pull/1740[] + +link:https://www.github.com/freebsd/freebsd-src/pull/1843[PR: loader: Move ACPI RSDP detection] URL: link:https://www.github.com/freebsd/freebsd-src/pull/1843[] + +link:https://www.github.com/freebsd/freebsd-src/pull/1818[PR: efi: Create libacpi] URL: link:https://www.github.com/freebsd/freebsd-src/pull/1818[] + +link:https://www.github.com/freebsd/freebsd-src/pull/1819[PR: liblua: ACPICA Lua bindings] URL: link:https://www.github.com/freebsd/freebsd-src/pull/1819[] + +Contact: Kayla Powell (AKA Kat) <kpowkitty@FreeBSD.org> + +Mentor: Warner Losh <imp@FreeBSD.org> + +==== Introduction + +For Google Summer of Code 2025, I have been working on a project under mailto:imp@FreeBSD.org[Warner Losh] for ACPI Lua Bindings. +ACPI (Advanced Power and Configuration Interface) is an interface for managing power in the OS, rather than in the BIOS. +The goal is to expose ACPI to Lua in the loader for amd64 platforms, with future arm64 support. + +==== Outcomes + +* Lua is a much simpler, higher level scripting language that enables faster development. +* It reduces ACPI-related guesswork in the bootloader. +* It allows users to query and manipulate ACPI data before the kernel is entered, giving them control over loader-time configuration. + +==== Remarks + +If there are any specialized use cases for ACPI in the loader that my interface does not aid in, please reach out to me, and I will see what I can do. +For now, this is the interface that I will be committing to the tree for GSoC, so while any extra work will have to come afterwards, I am interested in it (and encourage it). + +==== Current status + +* Completed: +** ACPICA initialized in loader for amd64 +*** [.filename]#OsdMemory.c# +*** [.filename]#osunixxf.c# +*** AcpiInitializeSubsystem +*** AcpiInitializeTables +*** AcpiEnableSubsystem (in reduced hardware mode, with events enabled) +*** AcpiLoadTables +*** AcpiWalkNamespace +*** AcpiEvaluateObject +*** AcpiAttachData +*** AcpiGetData +*** AcpiDetachData +** Lua bindings +*** [.filename]#lacpi_walk.c# +**** Users can walk and read nodes on the namespace +*** [.filename]#lacpi_object.c# +**** Users can evaluate objects +*** [.filename]#lacpi_data.c# +**** Users can attach, get, and detach data from nodes +*** Man Page +* Future plans: +** [.filename]#lacpi_walk.c# (V2) +*** Namespace printout format +** [.filename]#lacpi_walk.c# (V3) +*** Strategies for walking the namespace +** arm64 compat + +==== Design constraints + +The loader is meant to be lightweight and prepare the kernel. +In order to adhere to that, its initialization of ACPI has been reduced by 130 functions. +These functions were picked such that they were not necessary for the above interface, or lacked possibility in the loader. +They are: + +* AcpiInitializeObjects +* AcpiInstallNotifyHandler +* AcpiRemoveNotifyHandler + +Some functions needed to be stubbed in respect to the loader's limited library (specifically in [.filename]#osunixxf.c#). +Some functions needed to handle physical addresses, rather than virtual memory mappings (specifically in [.filename]#OsdMemory.c#). + +==== Testing + +* Confirmation tests were performed, demonstrating that the ACPI namespace is initialized correctly by dumping it in the loader (in C and in Lua) and in the kernel (in C) and comparing the results. +* Regression tests were performed, ensuring FreeBSD builds across all architectures with this change. +* Unit tests were performed on the Lua bindings, verifying their functionality. + +Sponsor: Google Summer of Code 2025 diff --git a/website/content/en/status/report-2025-07-2025-09/appjail.adoc b/website/content/en/status/report-2025-07-2025-09/appjail.adoc new file mode 100644 index 0000000000..3a0193be69 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/appjail.adoc @@ -0,0 +1,41 @@ +=== Container orchestration: Overlord, Director, AppJail and cloud-init + +Links: + +link:https://github.com/DtxdF/AppJail[AppJail on Github] URL: link:https://github.com/DtxdF/AppJail[] + +link:https://github.com/DtxdF/Director[Director on Github] URL: link:https://github.com/DtxdF/Director[] + +link:https://github.com/DtxdF/Overlord[Overlord on Github] URL: link:https://github.com/DtxdF/Overlord[] + +link:https://github.com/AppJail-makejails[Makejails] URL: link:https://github.com/AppJail-makejails[] + +Contact: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org> + +**AppJail** is an open-source BSD-3 licensed framework entirely written in POSIX shell and C to create isolated, portable and easy to deploy environments using FreeBSD jails that behaves like an application. + +**Director** is a tool for running multi-jail environments on link:https://github.com/DtxdF/AppJail[AppJail] using a simple YAML specification. +A Director file is used to define how one or more jails that make up your application are configured. +Once you have a Director file, you can create and start your application with a single command: `appjail-director up`. + +**Overlord** is a fast, distributed orchestrator for FreeBSD jails oriented to GitOps. +You define a file with the service intended to run on your cluster and deployment takes seconds to minutes. +This orchestration tool uses link:https://github.com/DtxdF/AppJail[AppJail], link:https://github.com/DtxdF/director[Director] and can even create VMs with link:https://github.com/FreeBSD/vm-bhyve[vm-bhyve], but as its philosophy is "deploy using code" you can create a single file once and deploy many times. +Through a tree chaining system Overlord deploys jails on connected systems sharing their resources almost infinitely. +See the link:https://github.com/DtxdF/Overlord/wiki[wiki] for articles that use Overlord. + +**Recently written articles about Overlord**: + +* link:https://freebsdfoundation.org/our-work/journal/browser-based-edition/networking-3/overlord-deploy-jails-as-fast-as-you-code/[Overlord: Deploy Jails as Fast as You Code] +* link:https://github.com/DtxdF/overlord/wiki/cloud-init[Deploying virtual machines using cloud-init] +* link:https://github.com/DtxdF/overlord/wiki/ephemeral[Deploying virtual machines with ephemeral jails] +* link:https://github.com/DtxdF/overlord/wiki/gitops[Using GitOps with Overlord] +* link:https://dtxdf.github.io/jellyseerr.html[How to install Jellyfin and Jellyseerr using Overlord] + +**Makejails** are simple text files that automate the steps to create a jail, a widely used feature of link:https://github.com/DtxdF/AppJail[AppJail]. +Currently, there are many Makejails created and hosted in the link:https://github.com/AppJail-makejails[Centralized Repository], but here are some of the recently written ones: + +* link:https://github.com/AppJail-makejails/odoo[Odoo] +* link:https://github.com/AppJail-makejails/writefreely[WriteFreely] +* link:https://github.com/AppJail-makejails/adminer[Adminer] +* link:https://github.com/AppJail-makejails/shiori[Shiori] +* link:https://github.com/AppJail-makejails/healthchecks[Healthchecks] +* link:https://github.com/AppJail-makejails/ntfy[ntfy] + +Sponsor: https://www.patreon.com/appjail diff --git a/website/content/en/status/report-2025-07-2025-09/audio.adoc b/website/content/en/status/report-2025-07-2025-09/audio.adoc new file mode 100644 index 0000000000..e9b57c0c9c --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/audio.adoc @@ -0,0 +1,25 @@ +=== Audio Stack Improvements + +Contact: Christos Margiolis <christos@FreeBSD.org> + +I have been working on the audio stack since 2024Q1. Below is a list of the previous status reports: + +link:https://www.freebsd.org/status/report-2024-01-2024-03/#_audio_stack_improvements[2024Q1] URL: link:https://www.freebsd.org/status/report-2024-01-2024-03/#_audio_stack_improvements[] + +link:https://www.freebsd.org/status/report-2024-04-2024-06/#_audio_stack_improvements[2024Q2] URL: link:https://www.freebsd.org/status/report-2024-04-2024-06/#_audio_stack_improvements[] + +link:https://www.freebsd.org/status/report-2024-07-2024-09/#_audio_stack_improvements[2024Q3] URL: link:https://www.freebsd.org/status/report-2024-07-2024-09/#_audio_stack_improvements[] + +link:https://www.freebsd.org/status/report-2024-10-2024-12/#_audio_stack_improvements[2024Q4] URL: link:https://www.freebsd.org/status/report-2024-10-2024-12/#_audio_stack_improvements[] + +link:https://www.freebsd.org/status/report-2025-01-2025-03/#_audio_stack_improvements[2025Q1] URL: link:https://www.freebsd.org/status/report-2025-01-2025-03/#_audio_stack_improvements[] + +link:https://www.freebsd.org/status/report-2025-04-2025-06/#_audio_stack_improvements[2025Q2] URL: link:https://www.freebsd.org/status/report-2025-04-2025-06/#_audio_stack_improvements[] + +Important work since link:https://www.freebsd.org/status/report-2025-04-2025-06/#_audio_stack_improvements[last report]: + +* virtual_oss to base port in review: link:https://reviews.freebsd.org/D52308[D52308], link:https://reviews.freebsd.org/D52365[D52365], link:https://reviews.freebsd.org/D52366[D52366], link:https://reviews.freebsd.org/D52426[D52426], and more. +* man:snd_hda[4] sound redirection patch (link:https://reviews.freebsd.org/D50070[D50070]) almost done. +* More man:sound[4] cleanups, fixes and improvements. +* More out-of-the-box laptop support. +* Wrote BSDCan 2025 trip report for the FreeBSD Journal. +* Working on FreeBSD Journal audio article. + +You can also follow the development process in link:https://lists.freebsd.org/subscription/freebsd-multimedia[freebsd-multimedia@], where I post regular reports. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/bananapi-r64-drivers.adoc b/website/content/en/status/report-2025-07-2025-09/bananapi-r64-drivers.adoc index 2f1d1fd86c..5eaa5f9918 100644 --- a/website/content/en/status/report-2025-07-2025-09/bananapi-r64-drivers.adoc +++ b/website/content/en/status/report-2025-07-2025-09/bananapi-r64-drivers.adoc @@ -11,6 +11,9 @@ The Banana Pi R64 is a MediaTek MT7622-based development board (ARM Cortex-A53, * **UART driver** * **Clock management (clocks)** * **Pinctrl/gpio driver** – in active development gpio part + * **Storage controllers (eMMC/SD/MMC) driver + * **Ethernet Switch mt7531 driver + * **Ethernet mt7622 driver Other essential components—Ethernet, USB, SATA, Wi-Fi, etc.—are not yet implemented. @@ -19,10 +22,8 @@ Support for Banana Pi R64 in FreeBSD is in the early stages—UART and clocks dr ==== Development roadmap * Implement missing drivers - - Ethernet (GMAC ports) - USB (XHCI/OTG) - SATA / AHCI - - Storage controllers (eMMC/SD/MMC) - Wi-Fi (likely MediaTek MT7615) - GPIO subsystems diff --git a/website/content/en/status/report-2025-07-2025-09/bhyvemgr.adoc b/website/content/en/status/report-2025-07-2025-09/bhyvemgr.adoc new file mode 100644 index 0000000000..4aec57f06c --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/bhyvemgr.adoc @@ -0,0 +1,46 @@ +=== A bhyve management GUI written in Freepascal/Lazarus + +Links: + +link:https://github.com/alonsobsd/bhyvemgr[Bhyvemgr] URL: link:https://github.com/alonsobsd/bhyvemgr/[] + + +Contact: José Alonso Cárdenas Márquez <acm@FreeBSD.org> + +Bhyvemgr is a bhyve management GUI written in Freepascal/Lazarus on FreeBSD. +It needs a bunch of tools, mostly installed on base system, and some installed from ports/packages. +The main goal is to be a desktop application with focus on desktop users to easily and quickly setup and run virtual machines on FreeBSD hosts. + +During this quarter, there were many bugfixes and improvements to Bhyvemgr. + +These are some highlights that were added: + +- Add swtpm support to FreeBSD >=1403000. +- Add x86.verbosemsr setting on FreeBSD >=1500023. +- Add IPv6 support. + It enhances a better IPv6 support using package:dns/dnsmasq[]. + A host-record will be added to dnsmasq when Use_IPv6 is enabled. +- Add a bridge IPv6 calculator at Bhyve Manager Settings. + It helps us to calculate what IPv6 must be assigned to bridge interface. + Take a look at README for more information about that. +- Add support to create virtual machines from Cloud or VM images. + A new page will appear when "Create a virtual disk from image" option is selected. + It includes an image downloader (only support img.xz, raw.xz, qcow2.xz, qcow2, img, and raw files). +- Add Cloud init/Nuageinit configuration files support. +- Add user-data, network-config, and meta-data templates used from image minimal configuration. +- Add user-data, network-config, and meta-data samples files. +- Add support to define static ipv4 address when files configuration is selected from "Create Virtual Machine/Image" form. +- Add new option to select images path directory from "Settings". + This directory is used to storage extracted images files. + By default, it is located at [.filename]#~/.bhyvemgr#. +- Add new option to define qemu-img path file. +- Add i18n support with initial English, Simplified Chinese (thanks to link:https://github.com/ykla[ykla]) and Spanish translations. +- Enhanced logging support. +- Enhanced clipboard support. + +Bhyvemgr supports aarch64 from 15-PRERELEASE to 16-CURRENT and amd64 from FreeBSD 13.x to 16-CURRENT. +Also, package:sysutils/bhyvemgr[] can be compiled or installed from link:https://ports.freebsd.org/cgi/ports.cgi?query=bhyvemgr&stype=name&sektion=sysutils[ports] or pkg binaries with gtk2, qt5 or qt6 interface support. + +People interested in helping or supporting the project are welcome. + +Sponsor: https://paypal.me/alonsocbsd + +Current version: 1.12.0 diff --git a/website/content/en/status/report-2025-07-2025-09/drm-drivers.adoc b/website/content/en/status/report-2025-07-2025-09/drm-drivers.adoc new file mode 100644 index 0000000000..eb143bccba --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/drm-drivers.adoc @@ -0,0 +1,41 @@ +=== DRM drivers + +Links: + +link:https://github.com/freebsd/drm-kmod/pull/371[Update to Linux 6.10 DRM drivers] URL: link:https://github.com/freebsd/drm-kmod/pull/371[] + +Contact: Jean-Sébastien Pédron <dumbbell@FreeBSD.org> + +DRM drivers are **kernel drivers for integrated and discrete GPUs**. +They are maintained in the Linux kernel and we port them to FreeBSD. +As of this report, we take the AMD and Intel DRM drivers only (NVIDIA FreeBSD drivers are proprietary and provided by NVIDIA themselves). + +We port them one Linux version at a time. +This allows us to ship updates more often and it eases porting and debugging because we have a smaller delta compared to a bigger jump skipping several versions. + +This quarter, the work was slower with the holidays. +**DRM drivers from Linux 6.10 were ported**. +However, there are still issues that need to be worked on: +* There is a regression in the integration of the `amdgpu` driver with man:vt[4], causing the console to go blank once the driver is loaded. + A graphical session still works though. +* There are significant changes to the `radix-tree` support in `linuxkpi` that needs more testing. +* The `siphash` code committed to `linuxkpi` is not working yet. + +The pull request on GitHub and the associated freebsd-src branch may not have the latest versions, until the compilation and load failures are fixed. + +These updates target the FreeBSD 16-CURRENT development branch for now, but `linuxkpi` changes should be backported to FreeBSD 15-STABLE. + +The following pull request did not receive enough reviews and tests for now. +That is why they are still in flight. + +* https://github.com/freebsd/drm-kmod/pull/357[`DMA_BUF_IOCTL_EXPORT_SYNC_FILE` and `DMA_BUF_IOCTL_IMPORT_SYNC_FILE` ioctls] +* https://github.com/freebsd/drm-kmod/pull/358[`DRM_IOCTL_SYNCOBJ_EVENTFD` ioctl] + +They are apparently required to allow the use of wlroots-based Wayland compositors with the Vulkan API (see link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286311[]). +wlroots will need a patch as well because it only expects these features on Linux for now. + +Both pull requests rely on patches to `linuxkpi`. +The `linuxkpi` patches are linked in the pull requests. + +This work is kindly sponsored by the FreeBSD Foundation as part of the Laptop and Desktop Project. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/frdp.adoc b/website/content/en/status/report-2025-07-2025-09/frdp.adoc new file mode 100644 index 0000000000..d75733ea5a --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/frdp.adoc @@ -0,0 +1,43 @@ +=== The FreeBSD Russian Documentation Project + +Links: + +link:https://docs.freebsd.org/ru/books/faq/[FAQ] URL: link:https://docs.freebsd.org/ru/books/faq/[] + +link:https://www.freebsd.org/ru/[Web] URL: link:https://www.freebsd.org/ru/[] + +link:https://github.com/freebsd-doc-ru/freebsd-doc/discussions[The FreeBSD Russian Documentation Project site] URL: link: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. + +In September 2025, two committers were granted commit bits to write Russian-translated documentation into the FreeBSD documentation tree: + +* mailto:andy@FreeBSD.org[Andrey Zakhvatov], co-mentors Sergio Carlavilla and Maxim Konovalov +* mailto:vladlen@FreeBSD.org[Vladlen Popolitov], mentor Maxim Konovalov + +During the last quarter: + +* 100% of the text has been translated in Weblate. +* 31 out of 47 documents have been updated to the latest version from link:https://docs.freebsd.org/ru/[docs.FreeBSD.org/ru], with the remaining documents currently under review and awaiting commit. + +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): + +* mailto:arrowd@FreeBSD.org[Gleb Popov] +* mailto:bcr@FreeBSD.org[Benedict Reuschling] +* mailto:eugen@FreeBSD.org[Eugene Grosbein] +* mailto:maxim@FreeBSD.org[Maxim Konovalov] +* mailto:mizhka@FreeBSD.org[Michael Zhilin] + +Plan for next quarter: + +* Finalize the review and commit process for documentation (books and articles) +* Restore the Russian pages on www.FreeBSD.org +* Review the feasibility and the mechanics of the man pages translation + +Check the https://docs.freebsd.org/ru/books/fdp-primer/translations/[official translation guide] if you would like to help. + +We would appreciate your assistance with translating the following materials: + +* Web pages diff --git a/website/content/en/status/report-2025-07-2025-09/freebsd-git-weekly.adoc b/website/content/en/status/report-2025-07-2025-09/freebsd-git-weekly.adoc new file mode 100644 index 0000000000..f9872e59e0 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/freebsd-git-weekly.adoc @@ -0,0 +1,16 @@ +=== FreeBSD Git Weekly + +links: + +link:https://freebsd-git-weekly.tarsnap.net/[FreeBSD Git Weekly] URL: link:https://freebsd-git-weekly.tarsnap.net/[] + +Contact: Graham Percival <gperciva@tarsnap.com> + +These are weekly lists of commits to the link:https://cgit.freebsd.org/src/[FreeBSD source tree], split into categories such as "documentation", "hardware support", "testing", and "kernel". + +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. + +In the future, these reports might include summaries or additional information, but for now our focus is figuring out what type of classification will be most useful to the FreeBSD community. + +These weekly reports began on 2025-09-01. + +Sponsor: Tarsnap Backup Inc. diff --git a/website/content/en/status/report-2025-07-2025-09/geomman.adoc b/website/content/en/status/report-2025-07-2025-09/geomman.adoc new file mode 100644 index 0000000000..81a97ee5ff --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/geomman.adoc @@ -0,0 +1,33 @@ +=== Geomman Release + +Links: + +link:https://gitlab.com/brauliorivas/geomman[geomman gitlab repo] URL: link:https://gitlab.com/brauliorivas/geomman[] + +link:https://www.freshports.org/sysutils/geomman[geomman port] URL: link:https://www.freshports.org/sysutils/geomman[] + +Contact: Braulio Rivas <brauliorivas@FreeBSD.org> + +Geomman is a partitioning tool (TUI) based on man:sade[8] that brings more functionality such as copying, pasting partitions, creating ext filesystems or encrypting partitions using man:geli[8]. + +Geomman is relevant for both newcomers and experienced users because it is a complete and unified management of partitions and disks. + +Features added to geomman since last report are: + +* Grow UFS, NTFS, ext2, ext3 and ext4 filesystems. +* Shrink NTFS, ext2, ext3 and ext4 filesystems. +* New partition dialog, where users can visually select a free space to place the partition to be pasted or moved, added to link:https://gitlab.com/alfix/bsddialog[bsddialog]. +* Create exFAT, NTFS, ext2, ext3 and ext4 filesystems. +* Check all the mentioned filesystems. + +Then, two GEOM-related features were added too: + +* Label man:glabel[8] new partitions. +* Encrypt man:geli[8] new partitions by adding an optional "keyfile", plus a "passphrase" (or passfile). + +Finally, with the help of mailto:fuz@FreeBSD.org[Robert Clausecker], we published the link:https://www.freshports.org/sysutils/geomman[geomman port] to let people try it out. + +Future work includes: + +* Add geomman to FreeBSD natively (userland) +* Add ZFS management + +Sponsor: Google Summer of Code 2025 diff --git a/website/content/en/status/report-2025-07-2025-09/kde.adoc b/website/content/en/status/report-2025-07-2025-09/kde.adoc new file mode 100644 index 0000000000..7d3e78181c --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/kde.adoc @@ -0,0 +1,54 @@ +=== KDE on FreeBSD + +Links: + +link:https://freebsd.kde.org/[KDE/FreeBSD initiative] URL: link:https://freebsd.kde.org/[] + +link:https://community.kde.org/FreeBSD[FreeBSD -- KDE Community Wiki] URL: link: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 mailto:kde@FreeBSD.org[KDE team] is part of mailto:desktop@FreeBSD.org[desktop@], building the software stack to make FreeBSD beautiful and usable as a daily driver graphical desktop workstation. + +We missed last quarterly status report. The changes from the second quarter are included in this report. + +==== Infrastructure + +CMake was updated to 3.31.9, the latest release in 3.x series. +Ninja was updated to 1.13.1. + +Qt6 was updated to 6.9.2. +Both of the Python bindings for the Qt6 toolkit have been updated to their latest releases: + +* PyQt6: updated to 6.9.1 +* PySide6: updated to 6.9.2 + +The package:graphics/qt6-wayland[] port was patched to fix crashes of Plasma on Wayland when right-clicking the desktop. + +Qt5 was updated to 5.15.17 KDE patch collection. +Upstream standard support for Qt5 is officially over. +This might be the last update for Qt5 on FreeBSD. + +The package:www/qt5-webengine[] port has been updated to 5.15.19 with security patches up to Chromium 135.0.7049.95. +The Qt5 WebEngine component, however, is and forever will be based on Chromium 87.0.4280.144, which is over 4 years old. +Security updates for the underlying Chromium base have now ceased. Use at your own risk. + +==== KDE Stack + +KDE Frameworks, Plasma, and Gear release happen very regularly. mailto:kde@FreeBSD.org[KDE team] lands these updates shortly after their upstream release. + +* KDE Frameworks reached version 6.18.0. +* KDE Plasma Desktop was updated to 6.4.5. +* KDE Gear was updated to 25.08.1. + +Plasma 6.5 Beta (6.4.90) was ported but not committed to the main ports-tree. + +The package:net-mgmt/kf6-networkmanager-qt[] port with stub implementation for Linux NetworkManager was added to aid porting third-party software. + +==== Related Ports + +The mailto:kde@FreeBSD.org[KDE team] maintains a wide range of ports and updates them all as needed. +According to link:https://portscout.freebsd.org/kde@freebsd.org.html[Portscout] less than 0.7% ports are outdated. + +The KDE team would like to thank mailto:fluffy@FreeBSD.org[Dima Panov], mailto:arrowd@FreeBSD.org[Gleb Popov], mailto:jhale@FreebSD.org[Jason E. Hale], mailto:kenrap@kennethraplee.com[Kenneth Raplee], mailto:lbartoletti@FreeBSD.org[Loïc Bartoletti], and mailto:makc@FreeBSD.org[Max Brazhnikov] for keeping things up-to-date. +The KDE team is grateful to Harley (SponiX on IRC) for sharing his building box. diff --git a/website/content/en/status/report-2025-07-2025-09/libvirt.adoc b/website/content/en/status/report-2025-07-2025-09/libvirt.adoc new file mode 100644 index 0000000000..68d46f9a51 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/libvirt.adoc @@ -0,0 +1,24 @@ +=== Improve libvirt support for bhyve hypervisor + +Links: + +link:https://empt1e.blogspot.com/2025/09/ci-for-libvirtbhyve-on-freebsd.html[CI for libvirt/bhyve on FreeBSD] URL: link:https://empt1e.blogspot.com/2025/09/ci-for-libvirtbhyve-on-freebsd.html[] + + +Contact: Roman Bogorodskiy <novel@FreeBSD.org> + +==== Completed work + +* Support for man:pf[4]-based NAT https://libvirt.org/drvnetwork.html#freebsd[networking] was merged and has been available since libvirt 11.7.0 release. +* Domain usage statistics reporting is also available starting with libvirt 11.7.0 release. +* TCP console support has been available since libvirt 11.6.0 release. +* The libvirt testing project, libvirt-tck, can now successfully run domain, network, and storage tests against the bhyve driver. + +==== Plans for the next quarter + +* Extend libvirt-tck testing with https://libvirt.org/hooks.html[hooks] tests. +* Add support for: +** Boot order configuration. +** TPM devices. +** Snapshot/resume to the bhyve driver (targeted, but might roll over to next quarter). +* Improve virt-manager support on FreeBSD. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/lkpi-wireless.adoc b/website/content/en/status/report-2025-07-2025-09/lkpi-wireless.adoc new file mode 100644 index 0000000000..1c6580dd7e --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/lkpi-wireless.adoc @@ -0,0 +1,20 @@ +=== LinuxKPI 802.11 and Native Wireless Update + +Contact: Bjoern A. Zeeb <bz@FreeBSD.org> + +Contact: The FreeBSD wireless mailing list <wireless@FreeBSD.org> + +This report focuses on the efforts using permissively licensed Linux wireless drivers, mostly unmodified, on FreeBSD, as well as preparing the native net80211 stack for support of newer standards. + +Work is ongoing for Mediatek mt76-based PCIe card support. + +LinuxKPI 802.11 (man:linuxkpi_wlan[4]) updates were committed for scanning and beacon handling improvements and more robustness. + +LinuxKPI updates were done in order to import newer versions of man:iwlwifi[4], man:rtw88[4], and man:rtw89[4] drivers. +Work on suspend and resume for LinuxKPI-based wireless drivers has a possible solution which will need community testing and feedback. +Both updates were blocked by out-of-tree drm LinuxKPI PCI conflicts and problems were just resolved before EuroBSDCon 2025 thus the work will likely appear beginning of 25Q4. + +I gave a talk on wireless at EuroBSDCon 2025 and had a good chat with wireless people from NetBSD and OpenBSD. + +There is increasing interest again in getting brcmfmac support sorted, as well as more requests for ath11k. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/mac_do.adoc b/website/content/en/status/report-2025-07-2025-09/mac_do.adoc new file mode 100644 index 0000000000..8c29e839b9 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/mac_do.adoc @@ -0,0 +1,22 @@ +=== mac_do(4) and mdo(1) Improvements + +Links: + +link:https://wiki.freebsd.org/SummerOfCode2025Projects/MacDoAndMDoImprovements[Wiki page] URL: link:https://wiki.freebsd.org/SummerOfCode2025Projects/MacDoAndMDoImprovements[] + +Contact: Kushagra Srivastava <thesynthax@FreeBSD.org> + +As part of Google Summer of Code 2025, I worked on two related sub-projects in the FreeBSD Project: kernel improvements to man:mac_do[4] and userland enhancements to man:mdo[1]. + +mac_do is a kernel MAC security module that allows controlled credential transitions without requiring setuid binaries. The project extended it in two key ways: + +* **Per-jail configuration of authorized executables** – administrators can now specify a list of executables per-jail, permitted to request credential transitions, instead of being limited to the hardcoded [.filename]#/usr/bin/mdo#. +* **Support for traditional credential-changing syscalls** – transitions requested via man:setuid[2], man:setgid[2], man:setgroups[2], and related functions are now intercepted and authorized through mac_do, in addition to the original man:setcred[2] mechanism. + +On the userland side, the companion tool man:mdo[1] was extended to: + +* Allow explicit UID/GID overrides, fine-grained group management (`-g`, `-G`, `-s` options), and improved credential parsing. +* Provide a `--print-rule` option to display the corresponding mac_do rule for a requested transition. + +Together, these improvements make mac_do and mdo far more flexible and practical, enabling safer privilege transitions without relying on setuid executables and with strong jail integration. + +Sponsor: Google LLC (Google Summer of Code 2025) diff --git a/website/content/en/status/report-2025-07-2025-09/nuageinit.adoc b/website/content/en/status/report-2025-07-2025-09/nuageinit.adoc new file mode 100644 index 0000000000..77cbbaca23 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/nuageinit.adoc @@ -0,0 +1,30 @@ +=== Cloud: Improvements for nuageinit + +Contact: Baptiste Daroussin <bapt@FreeBSD.org> + +Contact: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org> + +Inspired by link:https://cloud-init.io/[cloud-init], nuageinit is a script written entirely in Lua to add cloud-init compatibility to FreeBSD. +Thanks to the `firstboot` feature of the man:rc[8] framework, it runs early and only once. + +Fixes and improvements have been made in recent months: + +* Missing documentation for already implemented parameters have been added. +* More test cases have been added. +* The device configuration ID is used as an interface when no `match` rule is specified. +* Implementation of the `network.ethernets.{id}.match.name` parameter. +* Implementation of the `network.ethernets.{id}.wakeonlan` parameter. +* Implementation of the `network.ethernets.{id}.set-name` parameter. +* Implementation of the `network.ethernets.{id}.match.driver` parameter. +* Implementation of the `network.ethernets.{id}.mtu` parameter. +* Implementation of the `nameservers` parameter. +* Support for package:security/doas[]. +* Allow the use of network parameters from `network-config` file. + +Committed in the following branches: stable/14, stable/15, and main. + +If you plan to use nuageinit, remember that each image is generated periodically and distributed on the following sites: + +* link:https://download.freebsd.org/releases/VM-IMAGES[] +* link:https://download.freebsd.org/snapshots/VM-IMAGES[] + +Commits: link:https://cgit.freebsd.org/src/commit/?id=ba5df7a2d03cd5624b1825ca8d4c39dcaace7796[ba5df7a], link:https://cgit.freebsd.org/src/commit/?id=95b0be1118b1a24ceb1b59ecd936aaa155d828bd[95b0be1], link:https://cgit.freebsd.org/src/commit/?id=a7f19968ae5d5e7e5feba85d04698050fcaf784f[a7f1996], link:https://cgit.freebsd.org/src/commit/?id=9f3330f5224ea2384a1c7d79a5b1f2784f7c14b6[9f3330f], link:https://cgit.freebsd.org/src/commit/?id=a5cc9b7b96dcba4d3ee98f2eb58c3f389590ddf0[9f3330f], link:https://cgit.freebsd.org/src/commit/?id=95230b248f6412c2d1c416c1e9795c3192cdf750[95230b2], link:https://cgit.freebsd.org/src/commit/?id=9a829e865697e623a046800545be7781a117125e[9a829e8] diff --git a/website/content/en/status/report-2025-07-2025-09/openjdk.adoc b/website/content/en/status/report-2025-07-2025-09/openjdk.adoc new file mode 100644 index 0000000000..e5bbc6af86 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/openjdk.adoc @@ -0,0 +1,24 @@ +=== Improve OpenJDK on FreeBSD + +Links: + +link:https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[Project description] URL: https://freebsdfoundation.org/project/improving-openjdk-on-freebsd/[] + +link:https://github.com/freebsd/openjdk[Project repository] URL: https://github.com/freebsd/openjdk[] + +Contact: + +Harald Eilertsen <haraldei@freebsdfoundation.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: + +* The OpenJDK 24 port https://cgit.freebsd.org/ports/commit/?id=7aed795e864ced2f6dfee773d2371d01b23d5d4f[was updated to OpenJDK 24.0.2], and https://cgit.freebsd.org/ports/commit/?id=8e3dc60231183008cea882574020f74163db9b58[once more] to include several fixes for the serviceability agent and performance improvements for large Elastic- and OpenSearch workloads. + The serviceability improvements fixes symbol and thread lookups when attaching to another JVM, and fixes loading core files in the Java debugger on FreeBSD. +* The OpenJDK 23 port https://cgit.freebsd.org/ports/commit/?id=a936fb9b16bac7cc5945213c7edf8c6a57709591[was updated] to include IPv6 dual protocol socket support (like OpenJDK 24), as well as the performance improvements for Elastic- and OpenSearch. +* OpenJDK https://cgit.freebsd.org/ports/commit/?id=aaf3de01b3a035acaf6bf238772c149000158d21[8], https://cgit.freebsd.org/ports/commit/?id=d1896072c1d6089df2fa62cc56d41e3970534d7f[17] and https://cgit.freebsd.org/ports/commit/?id=b962e334545b2b095cca680a0958370af4e91144[21] were updated to the latest releases from upstream, and https://cgit.freebsd.org/ports/commit/?id=e626e069e7d41ae373471a9b9596f34f54729acc[a new port] for installing just the Java Runtime Environment (JRE) of OpenJDK 21 was added. +* Build issues causing the official pkg builds of some older java versions on certain FreeBSD revisions to fail, was debugged and fixed by Ronald Klop. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/pkgbase-install.adoc b/website/content/en/status/report-2025-07-2025-09/pkgbase-install.adoc new file mode 100644 index 0000000000..b710d5bdcb --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/pkgbase-install.adoc @@ -0,0 +1,11 @@ +=== Support for installing pkgbase systems + +Contact: Isaac Freund <ifreund@freebsdfoundation.org> + +The FreeBSD 15.0 snapshot installation images (disc1.iso, dvd1.iso) now include offline pkgbase packages rather than traditional distribution tarballs. +This makes it possible to install a pkgbase system without an internet connection. + +Patches to build FreeBSD 15.0 VM and cloud images as pkgbase systems are in review and should land soon. +Switching the VM and cloud images over to pkgbase is the last major step needed to make pkgbase the default installation path for FreeBSD 15.0. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/portmgr.adoc b/website/content/en/status/report-2025-07-2025-09/portmgr.adoc new file mode 100644 index 0000000000..ef1fb377e0 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/portmgr.adoc @@ -0,0 +1,52 @@ +=== Ports Collection + +Links: + +link:https://www.FreeBSD.org/ports/[About FreeBSD Ports] URL:link:https://www.FreeBSD.org/ports/[] + +link:https://docs.freebsd.org/en/articles/contributing/#ports-contributing[Contributing to Ports] URL: link:https://docs.freebsd.org/en/articles/contributing/#ports-contributing[] + +link:https://www.freebsd.org/portmgr/[Ports Management Team] URL: link:https://www.freebsd.org/portmgr/[] + +link:http://ftp.freebsd.org/pub/FreeBSD/ports/ports/[Ports Tarball] URL: link:http://ftp.freebsd.org/pub/FreeBSD/ports/ports/[] + +Contact: Tobias C. Berner <portmgr-secretary@FreeBSD.org> + +Contact: FreeBSD Ports Management Team <portmgr@FreeBSD.org> + +The Ports Management Team is responsible for overseeing the overall direction of the Ports Tree, building packages, and personnel matters. +Below is what happened in the last quarter. + +During the last quarter, we welcomed Älven (alven@) and Tiago Gashiba (tiga@) as new ports committers, and said goodbye to six committers. +We also promoted Dan Langille (dvl@) as a full portmgr member after successfully being on the lurker program. + +According to INDEX, there are currently 37,163 (up from 36,605) ports in the Ports Collection. +There are currently about 3,428 (up from 3,330) open ports PRs, of which 821 are unassigned. +The last quarter saw 8,738 (down from 10,924) commits by 156 (down from 157) committers on the main branch and 898 (up from 770) commits by 61 (up from 56) committers on the 2025Q3 branch. + +The most active committers to main were: + +- 2348 sunpoet@FreeBSD.org +- 574 yuri@FreeBSD.org +- 409 vvd@FreeBSD.org +- 406 tagattie@FreeBSD.org +- 348 bofh@FreeBSD.org +- 223 jbeich@FreeBSD.org +- 161 fluffy@FreeBSD.org +- 153 eduardo@FreeBSD.org +- 147 alven@FreeBSD.org +- 143 arrowd@FreeBSD.org + +A lot has happened in the ports tree in the last three months, an excerpt of the major software upgrades are: + +- pkg 2.3.1 +- New USES: zig +- Default version of Lazarus switched to 4.2 (non-devel, non-aarch64) +- Default version of Perl switched to 5.42 +- Chromium 140.0.7339.207 +- Electron 37 and 38 added +- Firefox 143.0.3 +- Firefox-esr 140.3.1 +- KDE Applications 25.08.1 +- KDE Frameworks 6.18.0 +- KDE Plasma 6.4.5 +- Ruby 3.4.6 +- Rust 1.89.0 +- SDL 3.2.22 + +During the last quarter, pkgmgr@ ran 12 exp-runs to test source code changes and various ports upgrades. diff --git a/website/content/en/status/report-2025-07-2025-09/releng.adoc b/website/content/en/status/report-2025-07-2025-09/releng.adoc new file mode 100644 index 0000000000..8686ac801e --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/releng.adoc @@ -0,0 +1,15 @@ +=== FreeBSD Release Engineering Team + +Links: + +link:https://www.freebsd.org/releases/15.0R/schedule/[FreeBSD 15.0-RELEASE schedule] URL: link:https://www.freebsd.org/releases/15.0R/schedule/[] + +link:https://download.freebsd.org/releases/ISO-IMAGES/[FreeBSD releases] URL: link:https://download.freebsd.org/releases/ISO-IMAGES/[] + +link:https://download.freebsd.org/snapshots/ISO-IMAGES/[FreeBSD development snapshots] URL: link:https://download.freebsd.org/snapshots/ISO-IMAGES/[] + +Contact: FreeBSD Release Engineering Team, <re@FreeBSD.org> + +The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things. + +The Team managed the first half of the 15.0-RELEASE cycle, aiming for the official RELEASE build and announcement in December. +Of note, this has involved a significant amount of pkgbase-related work landing. + +The Release Engineering Team continued providing weekly development snapshot builds for the *main*, *stable/14*, and *stable/13* branches. diff --git a/website/content/en/status/report-2025-07-2025-09/sta-wpc-ci-automation.adoc b/website/content/en/status/report-2025-07-2025-09/sta-wpc-ci-automation.adoc new file mode 100644 index 0000000000..4f0088b2b5 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/sta-wpc-ci-automation.adoc @@ -0,0 +1,111 @@ +=== STA Work Package C: CI/CD Automation + +Contact: Siva Mahadevan <smahadevan@freebsdfoundation.org> + +In this quarter, as part of the infrastructure modernization work commissioned by the Sovereign Tech Agency (STA), I have been working on the in-tree CI Makefile targets. +I also worked on bringing our CI test reports to a clean state on our tier-1 architectures (amd64 and aarch64). +This report is a supplement to the overall STA status report and will describe the work done in more detail. + +==== tests/ci improvements + +The [.filename]#tests/ci# subdirectory in the src tree was introduced in link:https://cgit.freebsd.org/src/commit/?id=cb9d4bb1fbb9ac0eb9f211656e91f9d5254c166c[commit: Add preliminary in-tree CI infrastructure for developers] by mailto:bofh@FreeBSD.org[Moin Rahman] and aims to provide an easy way for developers to replicate the CI testing run by link:https://ci.freebsd.org[our Jenkins cluster]. +In this quarter, the following improvements were made by the team: + +New functionality: + +* link:https://cgit.freebsd.org/src/commit/?id=f6e5bcd4716c2974c7ceb1fbbfc0ef8db8e13d8b[tests/ci: run ci-full kyua tests in parallel] +* link:https://cgit.freebsd.org/src/commit/?id=92a7f2d577630d670643f855a1d123a2260102af[tests/ci: Add KYUA_TEST_FILTERS to allow user to select specific tests] +* link:https://cgit.freebsd.org/src/commit/?id=932cf5fa44b7ff3b7ea21ccb32bbbefff11c160c[tests/ci: Add CIENV variable] + +Bug fixes: + +* link:https://cgit.freebsd.org/src/commit/?id=ed4c64bc792fd2509d8fd6805f8e174c2db62338[tests/ci: Use suitable variable for qemu-user-static existence check] +* link:https://cgit.freebsd.org/src/commit/?id=2f50ea54c6e3b15f655e800eb680ddcb80e30b4f[tests/ci: fix race condition in bhyveload boot] +* link:https://cgit.freebsd.org/src/commit/?id=57f725a6a6c19b12015854589764babe58252155[tests/ci: fix missing /usr/local/{sbin,bin} in freebsdci rc PATH] +* link:https://cgit.freebsd.org/src/commit/?id=9f3e4b28f9dec27b73eeebd161d119d1e9864081[tests/ci: Fix missing qemu devices] +* link:https://cgit.freebsd.org/src/commit/?id=10fb5e7117e522540167fa02692e1e7b8e38eec0[tests/ci: Fix race condition with ci-extractmeta] +* link:https://cgit.freebsd.org/src/commit/?id=66fe805070d121d4b93f63b7b02a70d76069edfc[tests/ci: Fix wrong chflags target path in 'beforeclean' target] +* link:https://cgit.freebsd.org/src/commit/?id=9ec37e8ff49c6b555e8d4f522adc9378157df170[tests/ci: Use QEMU blockdev declaration for all platforms] +* link:https://cgit.freebsd.org/src/commit/?id=e990e460d50c628dfa681c5693bd8ece87b001ad[tests/ci: Fix unescaped kld_list var in rc.conf] + +With these changes, a developer can run CI with these example commands as root: + +[source,shell] +---- +# Fully parallel CI: +make ci + +# Single-threaded CI +make PARALLEL_JOBS=1 ci + +# Single-threaded CI, running a subset of the tests as described in kyua-test(1) +make PARALLEL_JOBS=1 KYUA_TEST_FILTERS='/path/to/testcase /path/to/another:testname1' ci + +# Run smoke (boot) tests +make CITYPE=smoke ci +---- + +==== Test case management + +link:https://ci.freebsd.org/tinderbox[Tinderbox] has been reporting that our supported platforms are failing in CI since a link:https://ci.freebsd.org/job/FreeBSD-main-amd64-test/26756/[run from the last quarter]. +As the backlog grows larger, it becomes harder for users and developers to notice a new failure and pin it to a particular commit. + +To complement the [.filename]#tests/ci# CI/CD automation improvements, along with link:https://github.com/markjdb/bricoler[Bricoler] to help with more granular investigations, I worked on cleaning up the failing test backlog on tier-1 architectures. +The following patches and bug reports were submitted as a result of this (still ongoing) work: + +New bug reports filed to track failing or flaky tests: + +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288991[PR 288991: sys/netinet/output:output_raw_flowid_mpath_success] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289096[PR 289096: lib/libexecinfo/sigtramp_test:test_backtrace_sigtramp] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289165[PR 289165: usr.bin/limits/limits_test:cputime_soft_flag] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289240[PR 289240: sys/netlink/netlink_socket:overflow] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289239[PR 289239: sys/netpfil/pf/sctp:pfsync] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289236[PR 289236: sys/kern/exterr_test:gettext_extended] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289382[PR 289382: sys/netinet6/lpm6:lpm6_test1_success] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289628[PR 289628: sys/netpfil/pf/nat:endpoint_independent_pass] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289630[PR 289630: libexec/rc/rc_subr_test:wait_for_pids_progress] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289237[PR 289237: sys/fs/fusefs/last_local_modify:main] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289084[PR 289084: lib/libc/string/memcmp_test:{diff,neq}] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289477[PR 289477: sys/netpfil/pf/route_to:prefer_ipv6_nexthop_mixed_af_random_table_ipv4] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289299[PR 289299: sys/netpfil/pf/rules_counter:keepcounters] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289684[PR 289684: sys/netlink/test_snl:snl_parse_errmsg_capped] +* link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289146[PR 289146: sbin/ipfw/test_add_rule.py:TestAddRule::test_add_action] + +Unskip tests that are wrongly skipped in CI: + +* link:https://cgit.freebsd.org/src/commit/?id=6ff78a63d8cd0dd64ae79cbda5cb03572c1e17f5[tests/sys/netpfil: unskip tests that no longer need to be skipped] +* link:https://cgit.freebsd.org/src/commit/?id=178b9c2364740ead21f584dc30c3aa45bd0bb8bf[tests/ci: Add missing kmods and pkgs to unskip tests] + +Test case metadata fixes: + +* link:https://cgit.freebsd.org/src/commit/?id=83b08f40264177ecf03fce808474815816f9846f[fix parallel execution of swapon tests] +* link:https://cgit.freebsd.org/src/commit/?id=1e570722dced7a3afc0a35b10af047b835e51567[cap_dns/tests/dns_test: mark tests as needing network access] +* link:https://cgit.freebsd.org/src/commit/?id=68fe0d9cc03bd80f63a5317a633d2426ae286316[pfctl tests: use require.kmods instead of manual check for pf] +* link:https://cgit.freebsd.org/src/commit/?id=df88c711a26c04192761e96dc08a6f3f9e42afed[cap_net/net_test: require 'allow_network_access'] +* link:https://cgit.freebsd.org/src/commit/?id=5dadfac51c3876b0ba6fde831cb4417594167fed[tests/mac_portacl: enable is_exclusive for now] +* link:https://cgit.freebsd.org/src/commit/?id=cacfd42b0c57b3455ca4a23e21de071fa0cc9ed0[tests/sys/mqueue: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=215a0654186926b2e4497d83f3eb45b5eefcb23f[tests/sys/netlink: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=308c9c995794f1ae89bba1d43aab9c51f7e90a09[tests/sys/opencrypto: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=26d3dfa8733892adf107b045a8c98d480b4bb21d[tests/sys/aio: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=c444bfca0063d0820f3fc72cb429809f5f52a970[tests/pf/ioctl: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=559b0f6b82867b60a2d5cb1b2744114603cb17a7[tests/sys/netmap: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=74898ce961e1f4818eba500dfa3a06bc30c1d9b3[tests/sndstat: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=7a1a6d1e2a836d189447ba725b0e256014613ab8[tests/socket_accf: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=4079513328d5656e31cb853a799176ff2500f79b[tests/sys/net: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=427be10491e37160a82eef31622676c655a29f1e[tests/sys/netinet: use require.kmods property instead of ad-hoc checks] +* link:https://cgit.freebsd.org/src/commit/?id=f53228c4e398468c71d3ed8a372cc29ccae6a0c1[tests/vmm_cred_jail: use require.kmods property instead of ad-hoc checks] + +mark tests as "expected fail" (xfail), currently WIP: + +* link:https://cgit.freebsd.org/src/commit/?id=df997faca8411bdf8008c25de5db3ed719019d21[atf_pytest: fix xfail detection from pytest report] + +==== Tooling (WIP) + +To catch errors more quickly, instead of relying on link:https://ci.freebsd.org[Jenkins] to update the test report, I ran local CI multiple times daily. +To help with this, I worked on some tooling to speed up the testing/debugging cycles. +I am maintaining the following (currently uncommitted) tools: + +* link:https://codeberg.org/svmhdvn/mypoudriere/src/branch/main/myfreebsd[parallel CI runner built on top of tests/ci] +* link:https://codeberg.org/svmhdvn/depistage[(VERY WIP) automated CI bug report/triage system] + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/suspend.adoc b/website/content/en/status/report-2025-07-2025-09/suspend.adoc new file mode 100644 index 0000000000..1e4f48a9bb --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/suspend.adoc @@ -0,0 +1,29 @@ +=== Suspend/Resume Improvement + +Links: + +link:https://obiw.ac/s0ix/[Blog] URL: link:https://obiw.ac/s0ix/[] + +link:https://youtu.be/RCjPc4X2Edc[BSDCan talk on s2idle/S0ix] URL: https://youtu.be/RCjPc4X2Edc[] + +link:https://people.freebsd.org/~obiwac/s0ix/[Sleep testing image] URL: https://people.freebsd.org/~obiwac/s0ix/[] + +link:https://github.com/obiwac/freebsd-s0ix/tree/everything[Working Repo] URL: link:https://github.com/obiwac/freebsd-s0ix/tree/everything[] + +link:https://reviews.freebsd.org/D48721[Tip of the s2idle/S0ix + AMD SMU stack] URL: https://reviews.freebsd.org/D48721[] + + +Contact: obiwac <obiwac@FreeBSD.org> + +Suspend-to-idle and support for S0ix sleep is in the process of being added to FreeBSD. + +This will allow modern Intel and AMD laptops, some of which do not support ACPI S3 sleep, to enter low power states to increase battery life. + +Entry to S0i3 is now working reliably on the Framework 13 AMD Ryzen 7040 series laptops on FreeBSD 15. +This required changes to LinuxKPI for DRM to know whether the system intends to enter S3 or S0ix: link:https://reviews.freebsd.org/D51591[D51591]. + +These changes in turn required the creation of generic sleep types, separate from ACPI. +Not all of these changes have yet been committed, but new hw.power.* sysctls will be created to choose the sleep type for various sleep state transition requests. + +The amdsmu driver, some ACPI changes and fixes, and GPIO interrupt servicing in amdgpio have been committed. + +A pre-built sleep testing image is now available to easily testing S0i3 entry on machines. +Detailed instructions are on the webpage. + +With respect to the links, the blog post entry is still outdated. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/sylve.adoc b/website/content/en/status/report-2025-07-2025-09/sylve.adoc new file mode 100644 index 0000000000..923b181cc5 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/sylve.adoc @@ -0,0 +1,72 @@ +=== Sylve -- A Unified System Management Platform for FreeBSD + +Links: + +link:https://github.com/AlchemillaHQ/Sylve[GitHub] URL: link:https://github.com/AlchemillaHQ/Sylve[] + +link:https://sylve-ci.alchemilla.io[CI] URL: link:https://sylve-ci.alchemilla.io[] + +link:https://discord.gg/bJB826JvXK[Discord] URL: link:https://discord.gg/bJB826JvXK[] + +Contact: Hayzam Sherif <hayzam@alchemilla.io> + +Sylve is a modern, unified system management platform for FreeBSD, inspired by Proxmox. +We aim to provide an integrated web interface for managing virtual machines (via Bhyve), Jails, ZFS storage, networking, and firewalling. The backend is implemented in Go, while the frontend uses SvelteKit with Tailwind CSS and ShadCN UI components. + +The project emphasizes a minimal system footprint, currently requiring only package:sysutils/smartmontools[], package:sysutils/tmux[], package:libvirt[], package:samba419[], package:swtpm[] as runtime dependencies. + +==== Q3 Progress Highlights + +===== Clustering + +Sylve now supports simple clustering with a single-pane-of-glass (SPOG) experience. +This multi-master design, built on top of `hashicorp/raft` and SQLite, allows users to manage multiple nodes from a single interface. + +===== Networking + +* Network Objects: Subnets, hosts, and MACs are now treated as first-class objects. + Users can create and reuse them across VMs, Jails, and switches. +* Manual Switches: Existing FreeBSD bridges can now be imported into Sylve and managed as switches. + +===== Storage + +* A new file explorer has been introduced for managing each node's local filesystem (copy, cut, delete, etc.). +* ZFS pools now feature extensive health monitoring, including support for special vdevs (cache, log, etc.). +* Major performance improvements to ZFS dataset viewing and editing. +* Ability to flash images to ZFS zvols directly from the UI. +* Samba integration: Users can now create Samba shares. + A comprehensive audit log has been added to track file share activity. + +===== Authentication + +* Ability to create and manage users directly in the UI, including Samba users. +* Groups can now also be created and managed from the UI. + +===== Virtual Machines + +* Full VM editing is now supported (storage, network, PCI devices, etc.). +* TPM support (via package:swtpm[]) is available in both UI and API, this feature is currently experimental. +* Support for reusing existing raw disks. +* Added Wake-on-LAN functionality for VMs. + +===== Jails + +* Full support for thick jails (creation, editing, viewing). +* Resource limiting for CPU and RAM has been implemented. +* Networking for Jails supports both inherited configurations and switch-based (manual/standard) setups. + +==== Roadmap Update + +Due to community demand, Q3 focused on clustering instead of firewalling and network services. +The following items have been pushed to Q4: + +* Firewall rules configuration. +* DHCP support. +* WireGuard VPN integration. + +The current roadmap is to complete clustering with external storage backup support (e.g., S3) before returning to networking services. + +Contributions, testing, and feedback are very welcome. +If you are interested in contributing, consider helping with: + +* UI testing and accessibility feedback. +* Bug reports and feature requests via GitHub. + +Sponsor: FreeBSD Foundation and Alchemilla (development and infrastructure support) diff --git a/website/content/en/status/report-2025-07-2025-09/usb-debugging.adoc b/website/content/en/status/report-2025-07-2025-09/usb-debugging.adoc new file mode 100644 index 0000000000..92e26bd073 --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/usb-debugging.adoc @@ -0,0 +1,22 @@ +=== USB Kernel Debugging Improvements + +Contact: Tom Jones <thj@FreeBSD.org> + +XHCI USB controllers offer a mode which allows them to be used as a system debugging interface. +XHCI debug uses a special USB 3 cable with VBUS, D+ and D- disconnected. +The feature can be used to live debug the FreeBSD kernel, enabling investigation of issues which cause the system video console to lock up and there is not an alternative such as a serial console. +This can happen when debugging issues with graphics drivers. + +mailto:hrs@FreeBSD.org[Hiroki Sato] developed support for the XHCI debug interface and made it available as some in progress git branches. +This implementation enables FreeBSD to operate as both a Debug Host and a Debug Target, with support for debugging from the loader through to the kernel. + +In this quarter the Debug Host side of the XHCI debug has been committed to FreeBSD main and will be available in FreeBSD 15. +The Debug Host driver enables a FreeBSD machine to debug Linux and Windows systems acting as Debug Targets. +The Debug Host driver has been split from the patch series to enable debugging of FreeBSD 16 and onwards from FreeBSD 15. + +The Debug Target side of XHCI debug has progressed in this quarter, with an improved interface between the loader and the kernel and a lock up sending data from a Target resolved. +The remaining work for the host implementation is to enable XHCI debug as a console very early in boot and to convert some methods to use bus space allocations. + +In the coming quarter I plan to update the developers handbook section on kernel debugging. + +Sponsor: The FreeBSD Foundation diff --git a/website/content/en/status/report-2025-07-2025-09/valgrind.adoc b/website/content/en/status/report-2025-07-2025-09/valgrind.adoc new file mode 100644 index 0000000000..ea8fb619fc --- /dev/null +++ b/website/content/en/status/report-2025-07-2025-09/valgrind.adoc @@ -0,0 +1,53 @@ +=== Valgrind: preparing for 15.0-RELEASE + +Links: + +link:https://www.valgrind.org/[Valgrind Home Page] URL: link:https://www.valgrind.org/[] + +link:https://www.valgrind.org/docs/manual/dist.news.html[Valgrind News] URL: link:https://www.valgrind.org/docs/manual/dist.news.html[] + +link:https://github.com/paulfloyd/freebsdarm64_valgrind[arm64 port] URL: link:https://github.com/paulfloyd/freebsdarm64_valgrind[] + +Contact: Paul Floyd <pjfloyd@wanadoo.fr> + +I have not submitted any reports for over a year. On the whole that is good news as it means that there have not been any major issues. Back then I said that aarch64 support was about to land and indeed it did in mid April 2024. + +I added a nice little script for use with Valgrind called `vgscript`. This works in a similar manner to `pstack` (or `bstack` on FreeBSD) in that you give it a PID and it will generate a stack trace for that process. If you use `bstack` with a Valgrind process you will see the Valgrind call stack which is probably of no use to you. If you run `vgstack` with a Valgrind PID it will print the call stack of the test exe running under Valgrind. + +If you use Valgrind regularly could you take a look and answer the survey that I posted on the forums (if you have not done so already). +Here is the link:https://forums.freebsd.org/threads/valgrind-feature-poll.98707/#post-716085[link]. + +Valgrind 3.26 is due out at the end of October 2025 and package:devel/valgrind[] will be updated shortly after that. + +package:devel/valgrind-devel[] will get one (or maybe more) updates as I fix issues with FreeBSD 15.0. + +The outstanding issues that I have on FreeBSD 15.0 are +* aarch64: there is a problem when using Valgrind with gdb/vgdb. Hitting ctrl-c to interrupt the process running under Valgrind does not work and Valgrind crashes with an assert. +* aarch64: a known old issue that was infrequent regarding initialisation of thread memory now seems to occur much more often. +* amd64: maybe similar to the first issue with gdb/vgdb and interrupting a process, but this time I'm seeing `select` return an 'impossible' value. +* amd64: a test for `setcred` is getting an extra "Conditional jump" error message. + +Most of the above are not too serious unless you are a heavy user of gdb/vgdb. + +Here is a list of bugfixes since my last report, Q1 2024. + +* Several suppressions added for libc, libc++ and libstdc++ functions +* Improvements to `setcontest` argument checking +* Some more `aio_*` fixes +* Syscall `_sysctlname` was checking the wrong length of the name argument +* New syscall wrappers for `kcmp`, `getrlimitusage`, `close_range`, `fchroot`, `setcred`, `exterrctl`, `inotify_add_watch_at`, `inotify_rm_awtch`, `jail_attach_jd` and `jail_remove_jd` +* Started adding better `ioctl` argument checking +* Fixes to Valgrinds self-checking modes +* Support aarch64 auxv AT_HWCAP, AT_CHERI_STATS, AT_HWCAP3 and AT_HWCAP4 +* Valgrind file descriptor checking has been significantly enhanced and this includes FreeBSD +* Some old code that I could never test for FreeBSD 10 has been removed +* Removed as much as possible FreeBSD version dependent code. This reduces everyday maintenance at the cost of making version-independent regression tests more difficult +* Turn off check for lock created during text handling that will deliberately leak +* Syscall `sigwait` was not correctly dealing with its atypical return value +* Improved checking of `utrace` syscall arguments +* amd64: syscall arguments 7 and 8 were swapped (it turns out that argument 8 is never needed and has been removed) +* amd64: added `sysarch` subcommands `AMD64_SET_TLSBASE` and `AMD_GET_TLSBASE` +* Reduced warnings that get printed in quiet (-q) mode +* Improved checking done by `sysctl` kern.proc.pathname +* Handle `mmap` MAP_STACK and MAP_GUARD +* Syscalls `open*` now produce an error if you try to open the guest exe for writing +* Syscalls `sigwait` and `sigwaitingfo` were too lax in accepting NULL arguments +* Many of the `*at` system calls (like `faccessat`) were not checking that the directory fd is not one of the file descriptors reserved for Valgrind's use +* Function `memalign` now accepts a size of zero |
