3 DragonFly was recently worked up on the Kabylake NUC (the NUC715BNK) with very good results. This NUC setup is with 16G of ram and a NVMe SSD installed (we don't recommend ever using Intel's Optane 'memory' junk). In testing, this NUC has no problem booting from the ethernet via PXE, a USB stick, or its internal storage.
5 You can install DragonFly by booting via USB image and then installing to NVMe. We recommend connecting up the ethernet for initial connectivity, but Wifi will work once it has been set up. Once you've installed to NVMe try to reboot via NVMe and continue making adjustments as described below.
7 In "/boot/loader.conf" add:
15 In "/etc/rc.conf" if you are using your primary ethernet and not Wifi, this usually does the trick:
19 Note that the if_em driver is built-in and works if you don't load emx, but emx is a better driver. To use if_em, just have an ifconfig_em0="DHCP" line in /etc/rc.conf. In fact, you can put both lines in your rc.conf and it will use emx if emx is loaded, and em otherwise.
23 If you have the NUC, for WIFI support you will want this in your "/etc/rc.conf". Also note that DHCP will not play well running on both the ethernet interface and the wlan (at least if both are plugged in), so only specify the DHCP option for one of the two. If the wifi is your primary connectivity, put the DHCP option there.
26 ifconfig_wlan0="DHCP WPA"
28 And your "/etc/wpa_supplicant.conf" file should contain entries for all the wifi basestations you can connect to. Most typically an entry looks like this:
35 Its easiest to just reboot after setting up the files rather than trying to start wpa_supplicant manually. You can have multiple network={} elements in the config file. Reboot and make sure its working before you worry about the rest of the config.
39 The sound and snd_hda drivers can be loaded from /boot/loader.conf, which we have already described above. There are typically two channels. Channel 0 is typically the stereo jack and Channel 1 is typically routed through the HDMI display connector. You can set the hw.snd.default_unit sysctl to whichever you prefer. If you have problems with hum on the stereo output, trying routing through the HDMI (and connecting your speakers to your monitor's stereo output instead of the computer's stereo output).
43 DragonFly supports accelerated X on Haswell and later cpus via the "intel" driver. You no longer have to recompile the X server. We recommend the following package sets:
47 pkg install xorg-fonts
48 pkg install xorg-libraries
49 pkg install xorg-macros
50 pkg install xorg-drivers
51 pkg install xorg-server
55 pkg install firefox (for 'firefox')
56 pkg install chromium (for 'chrome')
57 (also install your favorite apps, GUIs, window managers, whatever)
59 The X11 configuration should work without needing an xorg.conf file. If you want to play with driver options you will need to set up a file. Note that our Kabylake support does work pretty well with driver defaults, but may give you a blank screen if you try to change the Accel mode.
61 We suggest [starting X via xdm](http://www.dragonflybsd.org/docs/newhandbook/X/#index4h3) which needs a package in addition to xorg:
65 ### Further Mouse Setup
67 We recommend using moused and /dev/sysmouse to handle external USB mouse attachments. By using moused, mice can be plugged and unplugged without imploding X11. Try putting this in your /etc/rc.conf:
71 If that doesn't work then set moused_enable="NO" in /etc/rc.conf and start moused manually in /etc/rc.local:
76 ### Volume and backlight adjustment keys
77 In order to use these keys make two scripts:
83 set curvol = "`mixer -f /dev/mixer -s vol`"
85 if ( -f ~/.savemute ) then
86 set lastvol = "`cat ~/.savemute`"
91 if ( "$curvol" == "vol 0:0" ) then
92 if ( "$lastvol" != "" ) then
93 eval mixer -f /dev/mixer $lastvol
96 if ( "$lastvol" != "$curvol" ) then
97 echo "$curvol" > ~/.savemute
99 mixer -f /dev/mixer vol 0
104 # backlight script "backlight"
106 set level = `sysctl -n hw.backlight_level`
107 @ level = $level + $argv
108 sysctl hw.backlight_level=${level}
110 add next lines to `~/.xbindkeysrc`:
114 "/path/to/scripts/mute"
117 "mixer -f /dev/mixer vol -5 pcm -5"
120 "mixer -f /dev/mixer vol +5 pcm +5"
123 # Screen (if a laptop, this should work. If not, probably won't)
125 "/path/to/scripts/backlight -20"
128 "/path/to/scripts/backlight 20"
131 You must call xbindkeys somewhere in your `.xinitrc`.
133 *Hint:* You can set default blacklight level (on a laptop) by placing next line in `.xinitrc`:
135 sysctl hw.backlight_level=370
139 When X comes up it may not auto-probe all of your connected displays or properly orient them relative to each other. I find that the easiest solution is to make any required adjustments in your .xinitrc rather than trying to set them up in the /etc/X11/xorg.conf file. For example, on my Kabylake NUC I use two 4K displays and add this to my .xinitrc:
141 xrandr --output DP2 --left-of DP1
142 xrandr --fbmm 622x342
147 This sysctl setting tells the cpu to automatically go to the best power state it can:
149 sysctl machdep.mwait.CX.idle=AUTODEEP
151 WARNING! If you get system lockups every once in a while, try commenting this out. Sometimes AUTODEEP mode interferes with AHCI (disk driver) operation.