Francois Tigeot has performed a major upgrade of DragonFly’s sound system. If you had sound problems or unsupported hardware before, this may fix them. It will require a full buildworld+buildkernel.
I managed to miss this last week because of issues with my RSS feeds, but the 71st episode of BSDNow is/has been up. It’s “systemd isaster”, cause the interview is with Ian Sutton talking about BSD replacements for systemd dependencies. There’s a number of at-least-slightly DragonFly-related things in there, including OPNSense, pkgng, and Hammer mentions.
The CAM layer in DragonFly has had its big lock removed/been marked MPSAFE, so you will notice a performance increase when using multiple disks. (assuming you aren’t throughput-limited, of course.)
There’s a FreeBSD Forums thread about ZFS and Hammer, as several people have pointed out to me. It’s interesting to see, but there isn’t a lot of quantitative discussion. (It’s a forum post, not a white paper, though.)
Do you remember the BSDNow story a while ago about a Tanzanian community effort using FreeBSD to build a library? They’re looking at DragonFly, too, because of the low resource requirements. From that discussion: a hardware reason for an ‘indefinite wait buffer’ error, and a note on how to most efficiently download packages for multiple machines.
Sepherosa Ziehau has posted a note that V4-mapped addressing is no longer supported in DragonFly. You will need to do a full buildworld/buildkernel if you are running master. Also, TCP MTU path discovery is on by default. Also also, he’s added a SOL_SOCKET/SO_CPUINT socket option for use to reduce load in heavy network activity. As usual, I don’t quite comprehend.
John Marino has created something very useful: a graphical tool for Hammer file history. It’s called ‘Slider’, and it uses curses to work in a terminal. It shows historic versions of files and can restore those old versions as needed. This was already possible in Hammer, of course, but it required a sequence of commands that were not straight-forward. I’ve been slow enough posting it that version 2.0 is already out, offering a way to see files that no longer exist, but are still in history. (i.e. deleted some time ago) ‘Time Machine’ sounds like the best name, but that seems to be taken.
One way to keep file history on an very active Hammer disk from eating up all the space: more snapshots. This may seem counterproductive, but disk pruning eliminates historical data between snapshots, so you can keep older data at the cost of some temporal accuracy.
As part of another thread, Steve Petrie posted an in-depth description of how and where and why he’s using DragonFly. Worth looking at either for workflow tips or for just seeing the use case.
I sort of lost a day this week because of an accidental 20-hour workday, but I still have the links:
- I love cross-pollination. (plus)
- “Why I (mostly) hack on BSD licenced stuff: so I don’t have to deal with this.“
- Tips on pkgsrc packaging.
- Kerberos IV is going away in pkgsrc.
- The pkgsrc-2014Q4 freeze is on.
- A new way to build NanoBSD.
- A new ZFS ARC tunable you may need.
- I could have sworn vigr(8) already existed.
- PC-BSD is moving to Qt5.
- A domain blocking script.
- Showing remote programs on your Mac using X.
- Long thread about BSD VPS hosting. (consensus: try RootBSD or Vultr.)
- OpenBSD man is now really mandoc.
- freebsd-update issues for 10.1.
- Steam on PC-BSD 2. (video)
- The (new) PC-BSD upgrade to 10.1 is available.
- Sunday Morning Linux Review on “FreeBSD Mastery: Storage Essentials”
- Sudo: You’re Doing It Wrong.
- “…what’s the best place to start learning about BSD?“
Note: corrected VPS hosting link.
From a question about mixing in a SSD and a very slow disk: swapcache can make things better, though I suggest other crazy arrangements.
Get ready for some reading.
- There’s some packages moving from pkgsrc-wip to pkgsrc proper.
- pkgsrc-2014Q4 branching is planned for Monday the 15th.
- PC-BSD now has an automatic package/security patch upgrade mechanism.
- Steam on PC-BSD. Holy grail, there.
- PC-BSD needs testers for the new Update Manager, for moving from 10 to 10.1
- NetBSD has imported BIND 9.10.1-P1.
- OpenBSD has added skgpio(4), a driver for the Soekris net6501 GPIO port and LEDs.
- OpenBSD has updated Unbound to 1.5.1.
- Some Japanese input methods for OpenBSD that may work on other BSDs, too.
- pfqstat, a replacements for pfstat designed to work with Charted.
- I don’t know what the ‘BERI Virtio Networking Frontend’ is, but FreeBSD’s got it.
- fstyp(8), the filesystem detector.
- FreeBSD has added AES-ICM and AES-GCM modes to OpenCrypto.
- If you’re stopping in NYC, NYCBUG would like to hear you talk on a topic of interest.
- The case for distributed operating systems in the data center. Sounds like DragonFly’s original charter. (via)
- BSDNow wants to hear your getting-into-BSD story.
- OpenBSD libc version 78.
- There’s a lot of FreeBSD systems at NYI.
- “FreeBSD Mastery: Storage Essentials” is now in physical print.
- “Networking for System Administrators” is next to come out.
- And “Tarsnap Mastery” is next to be written.
- …We’re all benefiting from Michael Lucas going full-time on writing.
It’s possible, if you are several releases (years) behind, to end up with a DragonFly system that can’t compile and install the current release, due to incremental changes over time. It’s rare, but it could happen now between, say, version 3.4 and 4.0. The usual solution would be to incrementally upgrade in order, which is a lot of building and updating. The alternative is the new installworld-force option from Matthew Dillon that forces a new set of binaries into place. Use as a last resort.
If you want to help I/O performance when DragonFly is virtualized, here’s a short checklist of what to work on. I haven’t noticed any problems – but I’m not taxing any of my VMs that heavily.
bycn82’s rewrite of IPFW2 is available as a git branch to try out; he’s posted the link. Please try, especially if you are still working with the original ipfw.
(note: remember, ‘ipfw’ in DragonFly is what was called ‘ipfw2′ years and years ago because it was a replacement of the original ‘ipfw’ in FreeBSD. It was called ipfw2 but referenced as ipfw so that the same commands worked. Technically, this branch bycn82 is working on would be ipfw3, but he keeps referring to it as ipfw2. Confused? Good.)
If you’re using one of those Acer C720 or C720p Chromebooks with DragonFly, remember to set:
To automatically enter the right power-saving states on the CPU. You used to have to do it manually, and now you don’t.
I have been building up quite the variety this week.
- Bitrig 1.0 has been released.
- Writing NetBSD Sound Drivers in Haskell. (PDF, via)
- ruBSD 2014, happening December 13th in Moscow. (via)
- How to configure full disk encryption in PC-BSD 10.1. (via)
- BSD Magazine for November 2014. (via) Why don’t they put new issue announcements in their RSS?
- A week of pkgsrc #5.
- FreeBSD Foundation’s 2014 year-end fundraising.
- FreeBSD Mastery: Storage Essentials is hitting the printers. There’s a quiet mention of the next two books in that series, too.
- Two new kernel errata for OpenBSD.
- BSDCan 2015 (June 2015) has opened up its call for papers, now through Jan 19th, 2015. (via)
- A conversation about UTF-8, Unicode, and file systems.
- A conversation about random vs. phrase passwords.
- New Directions in Operating Systems conference notes. Lots of BSD stuff in there. (via)
- nih-0.13.0 is out for pkgsrc.
- BSD presentations (including DragonFly) at the X Developers Conference. I mentioned the event itself before, but that link wasn’t open to non-subscribers until later, as pointed out to me.
- Coreboot on the BSDs.
- More talk about embedded OpenBSD on cheap machines, including thin client machines repurposed into routers.
- Noticed in that previous link: <$100 Ubuquiti EdgeRouter-Lites can run OpenBSD? FreeBSD too, apparently.
- Is it time to give BSDs a try?
- Fixing PC-BSD upgrade issues.
This page, Varialus et Anisoptera, set up by… I’m not sure of the real name but it’s ‘varialus’ on IRC – has a detailed description of the DragonFly install process and installation of MATE, plus extra notes. I always find these sorts of cheatsheets entertaining.
In an effort to reduce my backlog of DragonFly things to post about, here’s quick notes:
- The path to xauth is now configurable, though correct by default. (that’s bit me in the past)
- There’s a new callout*() implementation.
- cpuctl(4) has been imported to allow CPU microcode updates.
- libm has been updated with math functions from FreeBSD and NetBSD, which because of library versioning support, won’t cause compatibility problems for older vs. newer DragonFly versions.
- C++11 support is also now available.
Predrag Punosevac posted his writeup of using LDAP and DragonFly, which I’m noting here for the next person that needs LDAP authentication.
With a recent commit from Sascha Wildner, DragonFly now loads XHCI (meaning USB3) by default. If you had previously tried to install DragonFly via USB stick, and it inexplicably refused to mou t the installer drive… It may work much better now.
The 4.0 release of DragonFly is out! Quoting from the release page:
Version 4 of DragonFly brings Haswell graphics support, 3D acceleration, and improved performance in extremely high-traffic networks. DragonFly now supports up to 256 CPUs, Haswell graphics (i915), concurrent pf operation, and a variety of other devices.
The more eagle-eyed downloader will notice it’s version 4.0.1, not 4.0.0. That’s because
nobody trusts .0 releases I tagged 4.0.0 just before a few useful commits went in, and it’s better to retag to make sure everyone got them. See also my message to kernel@/users@
A fellow whom I’ve only seen named as Bill is working on what he calls ipfw2, though technically what’s already in DragonFly is ipfw2, since it’s the second version of ipfw. Either way, he has a project page up describing what he’s done so far, and what he plans.
Markus Pfeiffer has made usb_pf work on DragonFly, which means it’s possible to dump USB traffic and filter it, similar to tcpdump. This can be handy when debugging a USB device, and that’s like 90% of all devices anyway.
If you look at your local DragonFly mirror, you’ll see ISO and IMG versions of DragonFly 4.0.0RC3. Please run, break, and report.
(Check the iso-images directory.)
Imre Vadaz’s recent change to dev/drm, adding kqueue support, has (from anecdotal reports in IRC) made video performance much better. It’s committed to DragonFly 4.0, so it’ll be in the next release.
The release candidate for DragonFly 4.0 came out last week, and normally the release would happen after a week. There’s still a few people reporting an odd freeze, so until we can find a cause, we’ll continue to wait.
Chrome runs on DragonFly now, apparently possible now because of this ported fix from Joris Giovannangeli.
Despite my complete lack of good planning, John Marino and Francois Tigeot have packages available for the DragonFly 4.0 release candidate that I assembled. Point at this directory to use them.
Your local mirror should have a copy of the release candidate for DragonFly 4.0.0 by now. Please try it out and report problems. Note that this is a x86_64 only version; there’s no i386 version though you may be able to manually build on i386.
It’s been possible to install and run clang on DragonFly for a long time, of course, and at least build world with it. However, John Marino is putting in significant work to make clang one of the system compilers, replacing the older gcc44 that’s in DragonFly now. (The newer gcc47 stays.) This won’t be part of the next release, but it should be available soon after.
Francois Tigeot gave talks at EuroBSDCon and XDC 2014, and he’s posted slide and video links. He covers DragonFly and Postgres and video drivers, or at least I assume so cause I haven’t watched them yet. There’s other BSD-specific material available too, according to his post.
John Marino updated wpa_supplicant (in dports). He then suggested moving it out of base into dports, so that it could be updated independently of the base system. (this update, for instance, took years.) Since wpa_supplicant is necessary to get some systems online – and it can’t be installed if missing if you don’t have a network link – it may be too risky. I think other packages could be moved out, myself.
The powersaving page on dragonflybsd.org has seen a bunch of updates; this should be handy even if you aren’t on battery power that often.
Markus Pfeiffer has imported FreeBSD’s if_lagg to DragonFly. It’s for talking LACP over multiple network ports, so that the traffic from those multiple ports can be aggregated – if what’s on the other end generally understands LACP. (Failover mode may not count.) Please test if you have that sort of surfeit of network ports.
Matthew Dillon hasn’t committed anything to DragonFly in several days… cause he just got married! Congratulations to the newly married couple.
There’s been so much work in DragonFly recently that makes a desktop easier (i915 support, dports, and so on), that I decided to resurrect an older Dell machine and use it as my desktop.
The Dell that I’m using is a leftover from someone else’s workplace; it’s 7 years old, and has “only” 4G of RAM and a Core 2 DuoE6600 CPU in it. It works, however.
Setting up DragonFly and installing xorg and so on is pretty straightforward. Using dports makes it crazy quick to add all the packages. I went for XFCE4 because I could. Starting X gave me some trouble at first; the default config couldn’t find the mouse and would eventually crash.
Running ‘X -configure’ created a xorg.conf file I could edit, and these lines in /etc/rc.conf gave me a working mouse:
moused_enable="YES" moused_type="auto" moused_port="/dev/ums0"
The crashing problem with my radeon-driven video card was fixed by turning off the acceleration – uncommenting this line in xorg.conf did it:
Video performance isn’t as nice as I would like it with acceleration, but this is an older machine anyway.
I couldn’t get sound working. Francois Tigeot has a branch of DragonFly that contains newer sound drivers brought over from FreeBSD, here:
git://leaf.dragonflybsd.org/~ftigeot/dragonfly.git (pcm_2014_september branch.)
It doesn’t support device cloning, so I can run Youtube videos and XMMS, but not audio from both at the same time. (for instance; not that you’d want to do this other than by accident)
I installed x11/webfonts, and web pages look a bit better after changing my default font preferences.
And… that’s about it. It’s a working desktop. Digging up a half-height video card that has working acceleration is a next step, but I can’t imagine that’ll be expensive. I wish I had done this a long time ago.
Markus Pfeiffer has made it possible to control your laptop’s backlight using ACPI – if you have a i915 chipset and DragonFly. xbacklight does not work, but setting hw.acpi.video.lcd0.brightness does.
In a bit of perfect timing, PC-BSD’s desktop environment, Lumina, has been ported to DragonFly, thanks to mneumann! It’s not in dports yet, but it should be buildable from source…
Why is it so warm out? I want autumn to start.
- BSD compared to Linux, an explanation.
- A description of what rcctl does. (via several places)
- NetBSD runs on the OpenRISK 1000.
- tmux-resurrect, making tmux survive machine restarts.
- OpenBSD version numbering explained.
- PC-BSD has its own subreddit.
- Lumina is now available as a port – will it work on DragonFly? Someone try!
- DiscoverBSD news for 2014/09/01.
- NetBSD 5 systems now use modular xorg.
- The 2014Q3 pkgsrc freeze is coming up.
- PXE installs of OpenBSD with Serva.
- Are you a “connoisseur of old time stamps“?
- FreeBSD has some support for the Altera SOCFPGA.
- Your cross-pollination moment of the week.
- Yes, it runs (Retro)BSD.
This very long commit message from Sepherosa Ziehau details the UDP changes he’s made. It’s mostly technical details, but at the end he mentions this little tidbit:
“For ‘kq_connect_client -u’ test, this commit gives 400% performance improvement (31Kconns/s -> 160Kconns/s).”
If you are on DragonFly, using pf, using altq, and using fairq to control usage, there’s a latency bug that Matthew Dillon recently fixed. He’s posted an announcement and committed fixes to master and 3.8, so it’s only an upgrade away.
You can now start moused with an argument, so it will look at the right device. In most cases, I imagine “
/etc/rc.d/moused start ums0” will be what anyone wants. Credit to Michael Neumann for the update. Perhaps
moused_flags="ums0" will do it too? I haven’t tried yet.
This will overwrite your /etc/devd.conf.
If you are using the ATI Mach64 drm driver on DragonFly, Francois Tigeot would like to know. He’s done something that breaks it, but he’s making the educated guess that this more-than-10-years-old card is no longer in use.
Because of some structure changes made by Matthew Dillon while chasing a pf bug, you will need to do a full buildworld/buildkernel on your next update – if you are running DragonFly-master. 3.8 users are unaffected by the bug or the change.
The server that hosts shiningsilence.com is getting old, and it’s time for me to go to 64-bit DragonFly. It’s audience opinion time: what have you purchased lately, and liked? What would you suggest?
It seems pkg 1.3.6 was slightly scrambled. If you happen to have built and installed it, John Marino has special instructions on how to update to 1.3.7. If you are on DragonFly 3.8, you can follow those instructions now, and if you are on 3.9, that repo should be ready for an update in the next few days.
You should perform a full world and kernel install if on master.
Several people (including me) have been getting bit by a problem: when performing an installworld with a changed kernel, the vn kernel module is loaded, but it was built by the previous kernel and may cause problems when it doesn’t match up.
To fix that, vn is now built in, instead of being a separate module. The rescue initrd (which is what is being mounted when it has this problem) is now installed via a ‘make rescue‘ command that can wait until a successful installworld and reboot.