Category: DragonFly

DragonFly and Hyper-V

Sepherosa Ziehau needs to run DragonFly under Hyper-V at work, so he’s making improvements .

Posted by     Categories: Committed Code, DragonFly     3 Comments

When a mouse isn’t a mouse

There are USB devices out there that are sort of like a mouse, as in they work as a pointing device, but they don’t show up as a mouse device.  For example, the PowerMate USB Multimedia Controller.  It’s possible to pipe the events from this or similar ‘weird’ devices to sysmouse, and use it the way you’d expect, with this fix from user tautology.

Hammer 2 and CRC

As part of his NVMe work, Matthew Dillon found I/O speed so fast that CRC checking actually got in the way of disk activity.  He’s brought in a new CRC algorithm called xxHash.  He also brought in Mark Adler’s hardware iscsi_crc32 implementation, but did not add it to Hammer2.  There’s some work on read-ahead operations too, to deal with the NVMe throughput.

Posted by     Categories: Committed Code, DragonFly     1 Comment

am-utils out of DragonFly

Remember how DragonFly now has autofs?  That obsoletes amd, amq, and so on, in the am-utils suite.  Now, am-utils has been removed.  This may affect nobody, as am-utils wasn’t working well.

Posted by     Categories: Committed Code, DragonFly     0 Comments

The rescue undo

Did you know there’s a rescue image, created with crunchgen, in DragonFly?  If your system can boot to single-user mode, you can use it to at least manipulate data on disk – it includes mined as a simple small editor.  (Since vi assumes /usr is mountable.)  This rescue image now includes undo, so you can back out changes on a Hammer volume.

Something for iwm(4) users

If you have iwm(4) network hardware, that driver now supports some more chipsets, plus it’s had some other updates, courtesy of Imre Vadasz.

(I think I spelled Imre’s name right for once!)

Posted by     Categories: Device support, DragonFly     0 Comments

More NVMe fun

Matthew Dillon has been testing on more NVMe hardware, or at least what is supposed to be NVMe hardware, and he has a writeup of the results that may be useful for anyone planning a shopping trip soon.

Posted by     Categories: Device support, DragonFly     0 Comments

accept(2)/close(2) performance on DragonFly

Remember Sepherosa Ziehau’s nginx tests on DragonFly?  He’s using the same configuration to test performance of the accept(2) and close(2) calls.  The result?  Over 8000 concurrent connections, for 580,000 connections per second.  That’s on one DragonFly machine.

Posted by     Categories: Committed Code, DragonFly     0 Comments

NVMe comes to DragonFly

Matthew Dillon has written a new, from scratch, driver for NMVe in DragonFly.  If you haven’t encountered it yet, that’s SSD access over PCIe, which gives better throughput than ATA.   He’s posted a summary of his work, and it’s possible to load it now as a module.  It supports MSI-X, and there’s test results from using dd on supported NVMe hardware.

Posted by     Categories: Device support, DragonFly     1 Comment

Autofs in DragonFly

Tomohiro Kusumi has finished his port of autofs to DragonFly; you can now have a filesystem automatically mount when accessed, rather than requiring it at boot.

Posted by     Categories: Committed Code, DragonFly     3 Comments

Fixes for virtio(4)

If you are running DragonFly in a virtual environment, there’s been some improvements to virtio(4).  Update and try if you’ve had problems in the past.

Posted by     Categories: Committed Code, Device support, DragonFly     0 Comments

10G isn’t enough

Sepherosa Ziehau has been working on network performance, including making more network calls asynchronous.  His test case using nginx shows that a single DragonFly machine can now take enough traffic to max out 2 10Gb links.  That’s with 16Kb requests, and 30,000 of them at the same time.

Posted by     Categories: Committed Code, DragonFly     3 Comments

ral(4) may suddenly work

If you have a ral(4) wireless card that didn’t function as expected, it may suddenly work for you now on DragonFly 4.5 due to the large wifi update.  The ral(4) driver covers a lot of hardware, so check the man page for all the commercial names.

Posted by     Categories: Device support, DragonFly     0 Comments

How fast is DragonFly?


Posted by     Categories: DragonFly, Goings-on     3 Comments

Huge wifi resync

Matthew Dillon and Adrian Chadd have updated the wifi setup in DragonFly, incorporating Adrian’s FreeBSD changes (and merging back some of Matt’s from DragonFly).  This affects the ath, rum, iwm, iwn, run, bwn, urtwn, wi, ral, iwi, ndis, and wpi drivers.  The ‘an’ driver has been removed, too.  I’m not going to even try to link to all the commits.

If you’re on DragonFly master and are using one of these devices, now is the time to update and try.  Note that this removes the separate network interface that’s specific to the device and creates only a wlanX device.

Update: Matt reminded me that at least half the work came from Imre Vadasz; I missed it because I was only looking at the commit email names – mea culpa.

Posted by     Categories: Device support, DragonFly     0 Comments

Mounting as non-root

Read this email thread for how to mount devices (e.g. USB drives) in DragonFly when you aren’t root.

DragonFly and xorg/xwayland

karu.pruun managed to get xwayland working on DragonFly, and also took notes while doing it.  That means you can try it out, too.

Posted by     Categories: DragonFly, Goings-on     1 Comment

Remember: join the ‘video’ group for direct rendering

If you get “libGL error: failed to open drm device: Permission denied” when using direct rendering, make sure to add your user id to the ‘video’ group.

TeX, clisp, and DragonFly

DragonFly versions of TeX have been available for some time now.  However, Nelson Beebe, who is part of the TeX project, is having trouble building some related binaries – asymptote and clisp.  He could use help from anyone interested, to match up with this summer’s release of TeX 2016.

In Other BSDs for 2016/05/14

Some DragonFly links are sneaking in here just to get them cleared out.

Posted by     Categories: BSD, Conventions, DragonFly, FreeBSD, NetBSD, OpenBSD, pkgsrc     0 Comments

Cleanup work is also good

I usually link to new features, additions, and so on.  That’s fine, but there’s often necessary work that goes on which doesn’t correlate to a new function – just better code.  Rimvydas Jasinskas just did one of those cleanups, and I’m mentioning it to give credit where’s it’s due.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Acceleration for Skylake users

If you are on the Skylake series of processors, and also running xorg on DragonFly, pick ‘uxa’ video acceleration.  Andrew Slaughter found this made a significant different in visual quality.

Benchmarks and tips nginx on DragonFly

Sepherosa Ziehau posted an extended description of his work with nginx on DragonFly, and the kind of performance he was able to wring out of it.  Of special note: he posts all his sysctl changes, which might be useful to anyone else in high-traffic environments, and notes that he was able to saturate a 10Gb link with one DragonFly machine.

Also: a followup comparing interrupt vs. polling performance.

Posted by     Categories: DragonFly, Goings-on     0 Comments

Another i915 update

The drm/i915 driver has been updated by Francois Tigeot to match what’s in Linux kernel 4.3.  His commit post has the general detail; you will especially want this if on DragonFly-current and running on Skylake architecture.

Posted by     Categories: Device support, DragonFly     0 Comments

autofs for DragonFly, a preview

Tomohiro Kusumi has been working on a port of autofs to DragonFly.  If you aren’t familiar with it, autofs is an automatic file system mounter, so when you access a network file system at its local mount point, autofs kicks in and makes sure the remote file system is automatically mounted.  He has an initial report on his progress, and expects it to be in DragonFly master in the next month.

Posted by     Categories: DragonFly, Goings-on     0 Comments

Interleaved swap for the curious

If you’ve ever wondered how having multiple swap devices can work, here’s your DragonFly-specific answer.

Posted by     Categories: Device support, DragonFly     0 Comments

modules.local now possible

If you happen to be testing kernel modules, DragonFly can now load them from a modules.local directory.  This keeps modules that aren’t part of the base system, separate.  This is probably of most use to developers.  It’s controlled by local_modules being set in /boot/loader.conf, and defaults to on.

(Updated for correct file location – thanks, swildner)


Posted by     Categories: Committed Code, DPorts, DragonFly     0 Comments

NFS tuning tips

If you’re on DragonFly, or maybe even if you aren’t, and you are using NFS, here’s some tips on how to wring the best performance out of it.

Old DragonFly users, please test

Not older people that use DragonFly, but people of any age using an older release of DragonFly: Bezitopo is Pierre Abbat’s topographical program, and he needs testers on versions 4.4 of DragonFly or before.  Please give his open-source program a run if you are on the appropriate versions.  Trying other BSDs, even though not requested, can’t hurt.

Posted by     Categories: BSD, DragonFly, Goings-on, Please test     0 Comments

ACPICA update for qemu users

If you’re using qemu and DragonFly, the latest update of ACPICA to version 20160422 may fix some issues introduced in a previous update.  (I don’t have a specific bug report to point you at; sorry!)

Posted by     Categories: Committed Code, DragonFly     0 Comments

DragonFly 4.4.3 released

The DragonFly 4.4.3 point release is out.  There’s a commit page listing the changes between 4.4.2 and 4.4.3.  Nobody will be surprised that there’s an OpenSSL update in there.

If you want a complete image, it’s available for download at your nearest mirror.  If you want to upgrade an existing install:

cd /usr; make src-update 
    (or  src-create-shallow if you don't already have source)
make buildworld && make buildkernel
make installkernel && make installworld
make upgrade


Posted by     Categories: DragonFly, Goings-on     7 Comments

In Other BSDs for 2016/04/16

This is one of those weeks where a bunch of release all tumble together by chance.

Hammer and FreeBSD

Tomohiro Kusumi would like to port Hammer (1) to FreeBSD, as noted in this bug discussion.  It’s not even begun to happen, but if you can contribute, please do.

Posted by     Categories: BSD, DragonFly, FreeBSD, Hammer     31 Comments

More Hammer fixups

Tomohiro Kusumi has been creating a near-constant stream of bugfixes and cleanups to Hammer for quite some time. I don’t often link to it, because they are incremental improvements and hard to linkblog, so to speak. In an effort to make up for this deficit, I do want to draw attention to his two recent commits: “Make hammer commands print root volume path“, and “Print volume list after volume-add|del“.  Small changes, but this is what makes complex systems usable.

Posted by     Categories: Committed Code, DragonFly, Hammer     1 Comment

Baytrail fix for DragonFly and others

If you remember this Baytrail problem, Daniel Bilik has gone and found a fix, as this appears to be a cross-platform bug, and he has patches for DragonFly.  If it’s affecting you, you don’t have to wait for the patches to be added in; he’s made them available directly.

Update: it’s committed to DragonFly now.

Posted by     Categories: Device support, DragonFly     0 Comments

Many, many network connections

I keep posting about Sepherosa Ziehau’s work on sustaining extremely high traffic loads in DragonFly.  Now I’m posting about a tool to create that load: kq_sendrecv.  It creates tens of thousands of TCP connections, without creating a process for each, and uses kqueue, as you might guess from the name.  This may be useful if you really want to tax another system.

GPIO controller support and Cherry Trail

Do you have a Cherry Trail SoC?  For example, a HP x2 210?  Imre Vadasz’s recent commit may be useful for you, if you are running DragonFly on this detachable … thing?

Posted by     Categories: Device support, DragonFly     0 Comments

Mini-ITX recommendations

Tim Darby is looking for motherboard recommendations.  Specifically, mini-ITX with 4 SATA ports and at least one decent network link.  Who’s got hardware to recommend?  There’s already one set of suggestions.

Posted by     Categories: Device support, DragonFly     0 Comments

In Other BSDs for 2016/03/26

By the time you read this, I will have already been at my second job for 5 hours.

Posted by     Categories: BSD, DragonFly, FreeBSD, OpenBSD, OPNSense, PC-BSD     1 Comment

Another update for Radeon users

If you have a Radeon video card in your DragonFly system, and are running bleeding-edge, there’s an update for you.  This is a partial sync with Radeon code for Linux 3.18, with no additional notes in the commit but you can always check elsewhere.

Posted by     Categories: Device support, DragonFly     0 Comments

unzip here, too

unzip has been added to DragonFly, making it present in every BSD but I think OpenBSD.

Posted by     Categories: BSD, Committed Code, DragonFly     2 Comments

UEFI for you and I

Imre Vadasz has added the ability to create a UEFI bootloader in DragonFly.  Can you use it?  I don’t know; I haven’t tried it yet and I can’t tell from the commit.

clang in DragonFly, soon

John Marino has added the starting framework to use clang as the alternate base compiler in DragonFly.  Note that it’s not hooked into the build yet.  This is the first non-GCC compiler added into DragonFly, so there’s some work yet before you can have an all-clang system.  This should replace GCC 4.7, which is the current alternate compiler.  GCC 5.0 is the default, if you didn’t know.

Note that clang is present in dports, so it’s already been available for general use, for some time.  This framework is for building DragonFly itself.

Posted by     Categories: Committed Code, DragonFly     4 Comments

Multiple card slots accessible in DragonFly

If you somehow have a device with multiple SD/MMC card slots, you can now access all of them under DragonFly.  (Apparently done to make a tablet run DragonFly better, going by IRC conversation)

Posted by     Categories: Device support, DragonFly     0 Comments

World rebuild needed for DragonFly 4.5

If you are running bleeding-edge DragonFly, Sepherosa Ziehau has made some networking changes that both reduce CPU usage in high-traffic situations and change some underlying network structures.  This means a full buildworld is needed on your next update.

If you’re using DragonFly 4.4.x or older, you are unaffected.

Posted by     Categories: Committed Code, DragonFly, Heads Up!     0 Comments

disklabel64 tips

If you find yourself using gpt and disklabel64 for a new disk, and aren’t quite sure what order to type everything in to create a disk slice, why not crib from Tim Darby’s notes?  (note that the archive has added some line breaks to it.)

Hammer not show

The ‘hammer show’ command can be used to dump the B-Tree structure of a Hammer volume, and CRC errors can be spotted.  It’s rare that anyone would need it, but if you do, this dumped information will include file hierarchy information.

If that makes you a bit nervous to repost any of that information when talking about it in public, Tomohiro Kusumi has added an ‘obfuscate’ option to ‘hammer show’ that does just that – it hides path information from the debug output.

Posted by     Categories: DragonFly, Goings-on, Hammer     1 Comment

Improvements for kqueue and per-CPU caching

Sepherosa Ziehau has continued his quest of making large-scale data transmission on DragonFly effortless; his latest change has cut the kqueue contention rate by two-thirds when dealing with a connection rate of nearly 400,000 connections per second.  Note that’s number of connections, without even tracking the bandwidth used by each.

Posted by     Categories: Committed Code, DragonFly     0 Comments

New CPUTYPE variables

John Marino rearranged how GCC5 handles CPUTYPE settings.  If you are specifically setting the target CPU when compiling, his commit will give you an exact list of what to target.

Note that I am not saying another architecture – this is all x86_64.  I also don’t recommend doing this unless you have a specific use for it – compiler overoptimizations often create more problems than they fix.

Posted by     Categories: Device support, DragonFly     2 Comments

i915, Baytrail, and C-states

Daniel Bilik has found there’s an issue with i915 acceleration, Baytrail CPUs, and some AUTODEEP low-power states.   This will only affect you if you are using that specific hardware combo and setting certain low power modes.  Interestingly, it affects other platforms, too, as it appears to be a symptom of how the video is addressed, not a DragonFly-specific bug.

Posted by     Categories: Device support, DragonFly     1 Comment

High-availability sync for ipfw3

Bill Yuan has added ‘ipfwsync’ to ipfw3 in DragonFly.  As you may expect from the name, it’s a way to sync ipfw3 configurations across multiple devices.

Posted by     Categories: Committed Code, DragonFly     0 Comments

Default shells and library changes

I see this bite people irregularly over the years: if your default shell on login can’t run, what do you do?  I’ve seen it happen because of a missing /usr/lib, and it can happen with out-of-date library references, too.   There’s several different ways to deal with it:

That last one may be useful if your dports setup gets mangled, somehow – though ‘pkg upgrade’ has always worked for me.

DragonFly i915 support: another upgrade

Francois Tigeot has again updated Intel i915 video support in DragonFly, bringing it even with what’s in Linux 4.2.  This will be very useful for Broadwell and Skylake users, and even Broxton, apparently the newest Atom platform.

Posted by     Categories: Device support, DragonFly     0 Comments

New DragonFly committer: Bill Yuan

Welcome the newest DragonFly committer: Bill Yuan.  His ipfw3 work has been going on for a while.

Posted by     Categories: Committed Code, DragonFly     1 Comment

BSDNow 129: Synthesize all the Things!

BSDNow 129 is available.  Along with the normal news summary, it has an interview with John Marino, the fellow behind DragonFly’s dports system, and author of recently-noted-here synth, which has reached version 1.0.

Posted by     Categories: BSD, DPorts, DragonFly, Periodicals     0 Comments

DragonFly 4.4.2 released

DragonFly 4.4.2, a bugfix release to 4.4.1, is out.  This was mostly prompted by the recent OpenSSL update, but other little fixes have made it in, too.  It’s available for download and is probably available at your nearest mirror by now, if you want an image.  The release page is updated, and there’s always the Git tag summary for 4.4.2 for the most exact details.

Posted by     Categories: DragonFly, Goings-on     0 Comments

Who still wants a shirt?

I have DragonFly shirts, helpfully printed up by Sepherosa Ziehau in China.  I have a list of people that are interested in shirts, most of whom remembered to give a shirt size.  I don’t have anyone’s email address or mailing address on that list.

If you are on that list, send me your mailing address.

The shirts are marked L/XL/XXL/XXXL, but they run smaller than U.S. versions of those sizes.  I usually find a U.S. XL shirt baggy, but “XXXL” is the one that fit me, for instance.  I’ll do my best to place the appropriate one.  This is just an advance apology, since it’s too late to change anything if it turns out tight.

I’ll mail these out as I have the spare cash and time on hand.  (I hope most of you live in the continental U.S.)

Posted by     Categories: DragonFly, Goings-on     7 Comments

A tip for Broadwell users

If you have a Broadwell system, the drm.i915.enable_execlists tunable added by Imre Vadász may keep your system stable.  (thanks, zach on EFNet #dragonflybsd)

Posted by     Categories: Committed Code, DragonFly     0 Comments

Anyone want to add some extattr functions?

It would help with Burp, which is being ported to a number of BSDs.

Whole lotta reading

Rimvydas Jasinskas has consolidated/restored/updated a large number of papers into share/doc on DragonFly.  I’m not going to link to his large number of commits, but instead point you at the directory where they all went.  There’s a number of design documents in there that date back to 4.4BSD and beyond (and some much newer), which may interest or educate you.  Of special note: The Guide to the Dungeons of Doom, for rogue, or the KAME IPv6 implementation notes.

Posted by     Categories: BSD, DragonFly, Goings-on     0 Comments

Debugging tips

If you’re building from dports, and you want to include debugging information, you’ll want to put ‘WITH_DEBUG=yes’ in /etc/make.conf.  Note that this affects anything you build at that point, including world, which you’d want to rebuild anyway.

Printing tips

These probably apply cross-BSD, but in this case, it’s DragonFly tips for printing with CUPS.

Posted by     Categories: BSD, Device support, DragonFly     0 Comments

Core2 Intel graphics users, take note

If you have a Core2 processor in a DragonFly system, it may not work with accelerated video.  If that happens to you with this (admittedly old) processor, switch to VESA for now.

Posted by     Categories: Device support, DragonFly     1 Comment

More on privatization

For those of you running DragonFly-current, the already-mentioned library privatization going on means that ports have to be rebuilt.  You will want to do it yourself, or wait a little bit before upgrading if you want to install binaries.

Posted by     Categories: DPorts, DragonFly, Goings-on     0 Comments

BSDNow 126: Illuminating the future on PC-BSD

BSDNow 126 has an interview with Ken Moore and Kris Moore of PC-BSD, along with the usual news roundup.  There’s a DragonFly mention in the “open source work helps your career” news item that I did not know about but am happy to see.

Posted by     Categories: BSD, DragonFly, PC-BSD, Periodicals     0 Comments

Privatization means rebuilds

That’s a pretty cryptic headline, isn’t it?  John Marino has ‘privatized’ several libraries in DragonFly, so that they can’t get included involuntarily as part of a port build.  That may mean you will need to perform a full rebuild of your system if you are tracking DragonFly-current.

(This is the way to fix ‘system’ languages like Perl was in FreeBSD 4.x – keep them clearly separate from the port version.  It’s about a decade too late for that idea to work out, though.)

Posted by     Categories: Committed Code, DPorts, DragonFly, Heads Up!     4 Comments

License corrections for DragonFly

This has no effect on the actual operation of DragonFly, but it makes me feel better that it’s done: Rimvydas Jasinskas has gone through DragonFly source and removed the unnecessary 3rd BSD license clause, which is no longer needed.

Posted by     Categories: Committed Code, DragonFly     3 Comments

i915 update: ValleyView, Skylake support

For those of you with i915 video on your DragonFly system, there’s another update bringing DragonFly support to match what’s in the Linux 4.1 kernel.  ValleyView and Skylake processor owners will benefit, along with a slew of other bugfixes and improvements.

Posted by     Categories: Device support, DragonFly     0 Comments

Checking HAMMER volumes for health

If you are looking to validate the data on your HAMMER volume, there’s several ways to do so, with one common-sense caveat.

i915 DisplayPort users take note

Are you using a i915 video chipset?  Are you using the DisplayPort?  Imre Vadasz has added a tunable that may make it work better.

Posted by     Categories: Device support, DragonFly     0 Comments

DMA spreads

DMA, the DragonFly Mail Agent, is available in dports and FreeBSD ports, and is now available for NetBSD through pkgsrc-wip.  (Thanks, Christian Koch)

Posted by     Categories: BSD, DPorts, DragonFly, FreeBSD, NetBSD     1 Comment

em/emx(4) users, please test

Sepherosa Ziehau has an update to the em/emx(4) (or other Intel NICs) driver, for testing.  Hey, remember what I said the other day about Skylake support?

Posted by     Categories: Device support, DragonFly     0 Comments

CVE-2016-0777 and CVE-2016-0778 in DragonFly

There’s two important security updates for SSH.  DragonFly release and development have been updated for it, and you can correct for it on your running system using the one-liner at Undeadly.

Note: keep in mind this is a client bug – it’s an information leak when you as a client connect out to somewhere else.  A server, as an endpoint, is not affected.

Posted by     Categories: DragonFly, Heads Up!     0 Comments

Skylake processors next

New CPU support in DragonFly is continuing, and Matthew Dillon will be testing one of the newer Intel ‘Skylake‘ processors soon.  That may mean even more accelerated graphics support at some point, too.

Posted by     Categories: Device support, DragonFly     2 Comments

McCabe complexity and DragonFly

I’ve never heard of ‘McCabe Complexity‘ before now.  It’s a description of how complicated software can be, measured by the number of possible paths through it.  Pierre Abbat used that measure on Hammer code and not surprisingly, got a high number.

Posted by     Categories: DragonFly, Goings-on     1 Comment

New ports utility: Synth

John Marino has opened up his new utility for testing: Synth.  It’s made for building custom package repositories, similar to poudriere, but much less setup work.  If you’ve ever said “I like binary installs, but I want my own build options”, this is for you.  The README includes screenshots to show all the things it can do.

Posted by     Categories: DPorts, DragonFly, Goings-on     1 Comment

Blinky blinky for iwm(4) users

This is a little thing, but so useful: the Wi-Fi indicator light on your iwm(4)-using device will now show its status under DragonFly.

Posted by     Categories: Device support, DragonFly     0 Comments

New committer: Rimvydas Jasinskas

Please welcome DragonFly’s newest committer: Rimvydas Jasinskas.  He’s already done some adding and removing, and he’s been making a ton of dports changes for some time.

Posted by     Categories: Committed Code, DragonFly     1 Comment

End of year donations

Even though DragonFly is not incorporated as a non-profit, there’s been a rash of unsolicited donations in the last few weeks, all of which are appreciated.  For end-of-year – or start-of-new-year donations – there’s also the 501(c)3 organizations behind FreeBSD, NetBSD, and OpenBSD, too.

Posted by     Categories: BSD, DragonFly, FreeBSD, NetBSD, OpenBSD     2 Comments

Linux 4.0 video matching

Francois Tigeot has updated DragonFly to match the video support found in the Linux 4.0 kernel.  This will benefit you most if you are running Skylake, Cherryview, or Valleyview chipsets.  Don’t ask me how to tell; the improvement has been so rapid I’ve lost track of which model codename is which.

Posted by     Categories: Device support, DragonFly     0 Comments