SysadminNews

FreeBSD Wrote Its Own NTSYNC Driver, Without Linux Code

On this page
  1. A driver written to a specification, not copied from one
  2. What else is in the 41 entries
  3. Reading the numbers underneath
  4. What to do with this
  5. Sources and further reading

FreeBSD published its status report for the second quarter of 2026 on Monday, and the entry worth your attention is a new NTSYNC driver written from scratch. It implements the same interface Linux exposes for accelerating Windows synchronisation primitives under Wine, specified against the Linux 7.0-rc3 documentation, without borrowing Linux source. Around it sit 41 entries covering an AMD ROCm port, a GENEVE tunnel implementation, native MPLS from a Summer of Code project, an IPv6 stack refresh across five RFCs and full CPUID control in bhyve. The report also records 15.1-RELEASE shipping in June and 14.5 planning under way for September.

The short answer

FreeBSD published its second quarter 2026 status report on Monday July twenty seventh. A new NTSYNC driver was written from scratch against the interface documented in Linux 7.0-rc3, without using Linux source, and validated with a ported minimal version of the Linux kernel test harness. Elsewhere: an AMD ROCm port by a Foundation intern, GENEVE tunnels per RFC 8926 in CURRENT, native MPLS from Summer of Code 2026, an IPv6 refresh across five RFCs, and full CPUID control in bhyve including architecture level presets. 15.1-RELEASE shipped in June, 14.5 is planned for September.

41entries in the Q2 2026 status report
638src commits sponsored by the FreeBSD Foundation
7.0the Linux interface version NTSYNC was written against
Answer card: the FreeBSD Q2 2026 status report contains 41 entries, including a clean room NTSYNC driver compatible with the Linux 7.0 interface, an AMD ROCm port, GENEVE tunnel support, native MPLS from Summer of Code 2026 and full CPUID control in bhyve.
The quarter in one card. Source: the FreeBSD Project status report for April to June 2026. PNG

Quarterly status reports are usually skimmed for the one entry that affects you and closed. This one has an entry that deserves reading in full, because of how the work was done rather than what it does.

A driver written to a specification, not copied from one

Linux has a driver called ntsync. Its job is to implement Windows synchronisation primitives, the semaphores, mutexes and events that Win32 programs expect, inside the kernel rather than emulating them in userspace. Wine uses it, and for software that hammers those primitives, which describes a great many Windows games, the difference is measurable.

FreeBSD now has its own. Not a port: a driver written from scratch against the interface as documented in Linux 7.0-rc3. The distinction is legal as much as technical. Linux is GPL licensed and FreeBSD's kernel is not, so lifting the implementation was never an option. Implementing against the published interface is.

The project wrote both a native FreeBSD interface and a Linux ABI compatibility layer, so a program looking for the Linux device finds something that answers correctly. To check the result, it ported a minimal version of the Linux kernel test harness and ran the new driver against it. That last part is what turns a plausible reimplementation into a verifiable one.

What else is in the 41 entries

Checklist figure of FreeBSD Q2 2026 highlights: NTSYNC driver written to the Linux 7.0 interface, AMD ROCm port by a Foundation intern, GENEVE tunnels per RFC 8926 in CURRENT, native MPLS from Summer of Code 2026, IPv6 refreshed against five RFCs, and bhyve gaining full CPUID control with architecture level presets.
The entries most likely to matter to someone running FreeBSD in production. PNG

An AMD ROCm port is under way, carried out by an intern working with the FreeBSD Foundation. GPU compute on FreeBSD has been a gap for years, and this is the first quarter where the gap has someone assigned to it.

On the networking side, GENEVE tunnel support following RFC 8926 landed in CURRENT, native MPLS arrived through a Google Summer of Code 2026 project, and the IPv6 stack was refreshed against RFCs 9131, 9898, 8781, 4861 and 4191. Routing metric support was completed across both kernel and userland.

For virtualisation, bhyve gained full CPUID control, including presets for x86 architecture levels. If you have ever had to hand tune what a guest believes about its processor in order to keep a workload happy, that is a familiar itch.

The desktop and laptop work continues to be the quiet long game: suspend and resume advancing toward S0ix, Framework laptop support extended to Intel Panther Lake, DRM drivers updated to the Linux 6.12 LTS base for 15.1-RELEASE, and LinuxKPI 802.11 suspend and resume now working for iwlwifi. In ports, the default Python moved to 3.12, with Slurm 26.05 and UCX 1.20 keeping the HPC side current. The Sylve management platform expanded its web interface for clustering, networking and storage, and the Parthenope installer is approaching a feature complete text interface.

Reading the numbers underneath

The FreeBSD Foundation sponsored 638 commits to src, 120 to ports and 31 to doc during the quarter. The project's build and distribution infrastructure runs on 142 physical machines hosting 444 installations across 13 mirror sites.

Those figures rarely make headlines and they are the ones we would look at first. A quarterly report full of interesting entries means nothing if nobody is paid to finish them and nothing to build them on. Here, roughly eight hundred sponsored commits and a cluster of that size say the entries above have somewhere to land.

What to do with this

If you run Wine workloads on FreeBSD, the NTSYNC entry is the one to follow into CURRENT, and it is worth benchmarking your own case rather than assuming the Linux numbers transfer.

If you run overlay networks, GENEVE in CURRENT is the entry to watch, particularly if VXLAN's header limits have already forced you into workarounds elsewhere in the estate.

And if you have been waiting on GPU compute to consider FreeBSD for a workload, the ROCm port is progress rather than an answer. Check back on the third quarter report before planning anything around it.

Sources and further reading

Frequently asked questions

What does NTSYNC do, and why does FreeBSD want it?

It moves Windows synchronisation primitives into the kernel. Semaphores, mutexes and events from the Win32 world behave differently from their POSIX equivalents, and emulating them in userspace costs real time in programs that use them heavily, which in practice means Windows games and applications running under Wine. Linux added a driver called ntsync to do that work in the kernel, and the performance gain was large enough that FreeBSD wanted the same capability. The FreeBSD implementation provides both a native interface and a Linux ABI compatibility layer, so software expecting the Linux device sees what it expects.

Is this a port of the Linux driver?

No, and the report is precise about it. The driver was written from scratch against the interface documented in Linux 7.0-rc3, not derived from the Linux source, which is the distinction that keeps a GPL licensed driver's code out of a BSD licensed kernel. To validate the result the project ported a minimal version of the Linux kernel test harness, so the new driver is checked against the same tests that exercise the original interface. Implementing to a specification and testing against the reference suite is the standard way this is done, and it is why the entry says compatible rather than ported.

What is in the report for networking?

Three things worth noting. GENEVE tunnel support, following RFC 8926, was committed to CURRENT, which matters for anyone running overlay networks where VXLAN's fixed header has become the limiting factor. Native MPLS support arrived through a Google Summer of Code 2026 project. And the IPv6 stack was refreshed against five RFCs, including 4861 and 4191 on neighbour discovery and router preferences, plus 9131, 9898 and 8781. Routing metric support was also completed across kernel and userland.

How much of this work is funded?

A measurable share of it. The FreeBSD Foundation reports sponsoring 638 commits to src, 120 to ports and 31 to doc during the quarter, and the ROCm port was carried out by a Foundation intern. The project also runs its own build infrastructure at some scale: 142 physical cluster machines carrying 444 installations across 13 geographic mirror sites. Those numbers are the part of a status report people usually skip, and they are the part that tells you whether the rest is sustainable.

When does any of this reach a release?

Depends which item. 15.1-RELEASE shipped in June 2026 and carries the DRM graphics drivers updated to the Linux 6.12 LTS base. Work committed to CURRENT during the second quarter, which includes GENEVE, flows into the next major release rather than into 15.1. Release engineering has started planning 14.5-RELEASE for September, which is a maintenance branch update rather than a home for new subsystems. As always with a quarterly report, an entry means work happened, not that a feature is finished.