Rimvydas Jasinskas posted an extended description of what’s happening with dports. There’s a significant xorg reformatting coming in ports, which is going to be absorbed into dports, but it may take some time. There’s also an odd loss of commit rights for John Marino, who commits (frequently!) to both DragonFly and FreeBSD. (His followup) This all translates to some upcoming transition time for dports to accommodate these changes.
Note that if you are using dports binaries, especially on DragonFly 4.6 release, this won’t really affect you; the way dports is set up, binary sets always work. It is interesting to hear about future work, in any case.
The vkernel(7) code has been going through a lot of changes, and instead of linking to the many smaller commits, I’ll point at Matthew Dillon’s latest change since it’s detailed. What’s the performance difference? I don’t know yet if this is for performance or for stability.
The ncv(4), nsp(4), and stg(4) drivers are now removed from DragonFly. So is the portal file system. Also, though not a removal, vm.swapcache.use_chflags now defaults to 0. Does this affect you? Almost certainly not! I feel compelled to point it out, though, just in case there’s that one person who didn’t want a surprise.
If you are on DragonFly -master, now is a good time to update. Matthew Dillon has been changing how DragonFly handles locking and memory use, with differences in the vmstat structure and page coloring, some memory settings, and many other locking changes. I am only linking to a few examples. If you don’t want to dig through those links for performance numbers, he summarized his changes and their effects in a post to users@.
That’s Non-Uniform Memory Access, to disambiguate. Matthew Dillon’s changing how memory is allocated in DragonFly. NUMA is been a long-discussed and complex topic for a long time, so I will point at the initial commits and call it “a developing situation”.
If you are using DragonFly under Hyper-V, Sepherosa Ziehau’s been making additional commits to improve compatibility. What’s it like? I don’t know; I haven’t tried Hyper-V yet.
The version of binutils used in DragonFly is now 2.27 by default. This will make the most difference to you if you want to work with Link Time Optimization.
If you were running DragonFly 4.7, for a short period you may have had trouble with shutting down, because of an ACPI bug. It’s fixed now. It’s actually been fixed for two weeks, but I’m going back and clearing things I hadn’t had a chance to post, since we are in the Christmas-New Years lull time.
Don’t get too excited yet – clang import hasn’t happened. However, I want to draw attention to Rimvydas Jasinskas’ changes to alternate compiler handling, which would be for importing clang. His commit message goes into some of the rather thorny problems of transitioning between compilers and releases.
I mention this because people don’t realize there’s a console screensaver: ‘vidcontrol -t XX’ will blank the console after XX seconds of inactivity. This way you aren’t lighting up your server closet with a terminal screen, forever.
This is a minor thing, but I bet someone will find it useful: Chromium in dports has been patched to remove the forced dependency on dbus, which will be useful to anyone using DragonFly and a ‘lighter’ window manager. You still need to specify this preference in your make.conf to have it happen.
If you had trouble mounting a Windows share with mount_smbfs, the problem has been fixed – and in _release, too. I don’t know when it started.
Matthew Dillon has made a number of locking improvements, that speeds up performance on systems with multiple processor. Here’s his commit with some numbers. Note that he’s testing with these built-in utilities. This probably helps multiple cores too, and some attention is shown to Hammer, too.
Did you know you can set the border color for the system console? I didn’t. syscons(4) lists a number of options, including scrollback length and some other features I never thought about changing.
DragonFly has had binutils 2.24 and 2.25 both available for some time. 2.24 has been taken out and replaced by binutils 2.27, thanks to Rimvydas Jasinskas.
The 2.25 version was and still is installed by default. If you want to try out 2.27 instead, WORLD_BINUTILSVER=binutils227 is what you need. I didn’t test that, of course. The binutils changelog will tell you what’s different in 2.27.
UEFI, which I casually sum up as the replacement for BIOS, has been seeing some support in DragonFly, but not within the installer. Matthew Dillon and Sascha Wildner has ported over FreeBSD’s EFI ABI support, which I think means support for various EFI applications and features. I haven’t booted a machine using UEFI in any significant way, so I don’t have a good explanation – but I am sure this is useful for people with new hardware.
Update: some explanation plus a note that it’s experimental and you could brick your machine.
Imre Vadasz is working on full-offload scan support for wlan, imported from FreeBSD. That doesn’t change much from a user point of view, other that (I assume) reducing load and power usage a tiny amount. I’m reinforcing something most people don’t think about: there’s tiny computers inside your computer with their own firmware and processors, that you don’t directly control.
Because of libressl, nc(1) is now available in the base DragonFly system. It was already available through dports, but it’s such a flexible tool that this is worth mentioning.
It’s now possible to put the /boot of your DragonFly system in the ‘a’ partition of a disklabel. It’s perhaps not major, but it’s another step in EFI support. EFI installs are possible now – if you do it manually.
Two things recently learned by Sascha Wildner’s timezone update in DragonFly: Everything (“GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, BlackBerry 10, MacOS, Microsoft Windows, OpenVMS, and Solaris”) uses the same time zone data, and there once was a “day of two noons“.