fix flex version, improve gcc 4.[47] description in contributed s/w
[ikiwiki.git] / release34 / index.mdwn
CommitLineData
9ad8146e 1# DragonFly Release 3.4
2
59472ff9 3Version 3.4.0 released xx April 2013.
9ad8146e 4
5## Big-ticket items
6
59472ff9 7### Experimental packaging system: dports
8
aba95e00 9John Marino has created a system, DPorts, that uses the FreeBSD ports system to build ports for DragonFly, and uses [pkgng](https://github.com/pkgng/pkgng#readme) to manage the binary packages produced from those ports.
59472ff9 10
aba95e00 11The default packaging system on DragonFly is pkgsrc. To use DPorts, you must remove or disable pkgsrc packages. Pkgsrc and DPorts cannot be used at the same time, or have packages mixed together. See the [DPorts Howto page](docs/docs/howtos/HowToDPorts/) for details on installing and using DPorts. Note: this is the first release with DPorts, and this is still experimental.
59472ff9 12
5275afbc 13The [DragonFly snapshots](http://avalon.dragonflybsd.org/snapshots/) are built using dports. (and also have XFCE for the desktop)
14
9ad8146e 15### Performance improvements under extreme load
16
56e0e599 17The process of testing [poudriere](https://fossil.etoilebsd.net/poudriere/doc/trunk/doc/index.wiki), a tool for mass-producing binary dports packages, exposed stability issues when repeatedly mounting and unmounting many tmpfs systems on large multicore (48) systems. These issues have been fixed. In addition to stability, several changes were made to improve performance in situations with heavy processor and disk usage.
aba95e00 18
0703c256 19### New default compiler
20
c34817a6 21The two base compilers have swapped roles. GCC 4.7, introduced as an alternative compiler with Release 3.2, is now the primary compiler used to build DragonFly. GCC 4.4 remains on the system and still has an important role as the primary DPorts compiler. GCC 4.7 brings [OpenMP](http://http://openmp.org/) (parallel programming) support to DragonFly via libgomp as well as stack smashing protection via libssp, neither of which was supported by GCC 4.4. The newer compiler also offers improved C++ and Objective-C support, and introduces [Link-Time Optimization](http://en.wikipedia.org/wiki/Link-time_optimization) (LTO) support.
0703c256 22
9ad8146e 23### New USB stack
24
aba95e00 25[USB4BSD](http://www.selasky.org/hans_petter/usb4bsd/) is available this release, though not by default. More USB devices are compatible with DragonFly, and xhci (USB 3.0) users may be able to take full advantage of their newer hardware. Since this is a new feature, it is available in 3.4 but *not* built by default. See the [original announcement](http://lists.dragonflybsd.org/pipermail/users/2012-October/017542.html) for how to do so. This feature was available in DragonFly 3.2 but is still experimental.
9ad8146e 26
27## Availability
28
f83492af 29Two release options are now available for 32-bit as well as for 64-bit. 64-bit installations are recommended if you do not need the Linux emulation layer.
9ad8146e 30
31* An ISO, to be burned to a physical CD or used as an image to install a virtual machine.
32* A bootable USB disk-key image. (minimum 2G USB stick needed)
33
34The release ISO images should be available on most of the [[mirrors|mirrors]]. If the ISO is not available on a certain mirror, please try another one or download it from the DragonFly master site. Each image is in the "Live CD" format, meaning that it boots into a running and fully functional DragonFly system, which can be used for testing or system recovery tasks as well as installation. Check the [hardware page](http://www.dragonflybsd.org/docs/supportedhardware/) or boot a Live CD to check for compatibility.
35
36
37### MD5 sums
38
39MD5 sums for the compressed images:
40
41* MD5 (dfly-i386-3.2.1_REL.img.bz2) = a592...
42* (FIXME)
43
44MD5 sums for the uncompressed images:
45
46* MD5 (dfly-i386-3.2.1_REL.img) = 52c416d...
47* (FIXME)
48
49### pkgsrc packages
50
f83492af 51Pkgsrc packages have not been pre-built for this release. We suggest building from source for pkgsrc installation.
9ad8146e 52
53We supply a Makefile in `/usr` to track the pkgsrc tree and we supply a Git mirror of the NetBSD pkgsrc CVS repo at `git://git.dragonflybsd.org/pkgsrcv2.git`. We recommend that users use it, instead of pulling from NetBSD with CVS. Our Git mirror is updated several times a day. Type 'make' in /usr to see the available commands for performing these actions.
54
55## DragonFly 3.4 Special Installation and Upgrade Notes
56
f83492af 57**Disk size warning** - Installations using HAMMER should be to disks over 50G in size. HAMMER history will consume disk space quickly. Either use UFS on smaller disks, or prune your file history carefully.
9ad8146e 58
59**Virtual PC users** - Virtual PC does not supply serial numbers for the virtual disks. The system may need to be manually directed in the boot loader if the disk identifier changes. (Hit ? in the boot loader for a list of available volumes.)
60
61**Qemu users** - If you see a large number of error messages on the console when booting, you may need to boot DragonFly with ACPI disabled. This can be done in the menu presented at initial boot. If that doesn't help, try placing hw.ioapic_enable=0 in /boot/loader.conf.
62
63**Installer Crypt Options** - The installer can encrypt the root volume and the swap volume. It will not work properly for other volumes despite any additional check-boxes you might see. Installer and boot-time support works but is still a bit rough around the edges. Performance will be relatively high on multi-core machines.
64
65## DragonFly 3.4.0 Release Notes
66
f83492af 67For a list of per-commit changes, see the [3.4.0rc tag commit](http://lists.dragonflybsd.org/pipermail/commits/2013-April/129831.html).
aba95e00 68
9ad8146e 69> ### Kernel changes
70
ee7cb0c2 71* Very large number of ACPI changes
72* Very large number of Interrupt routing changes
73* Far better MSI/MSI-X support
74* Multiple TX and RX ring support with networking chipsets
75* Many network throughput and latency enhancements
76* Enhanced FP unit support
77* Fixed panics during keyboard screen switches
78* Improved performance under heavy paging loads
79* Greatly improved namecache performance and stability under heavy SMP loads
80* Greatly improved VM fault performance and stability under heavy SMP loads
81* Improved PMAP performance and stability under heavy SMP loads (64-bit)
82* Fixed SMP races with ^T on heavily threaded programs
83* Fixed symbolic DDB backtraces (64-bit)
84* Improved stability of swapoff
85* Improved swap page allocation algorithm
86* Greatly Improved TMPFS performance and stability by a lot
87* Fixed performance issues with namecache negative caching
88* Improved error handling in mount and unmount
89* Fixed BUFFER CACHE related performance issues due to fragmentation
90* Proper accounting for system time during heavy token contention
91* 'sync' system call no longer uses MNT_LAZY as this prevents a full sync
92* Reduce unnecessary KVM use on systems with large amounts of memory.
93* Improve UFS performance by making the ihash table per-mount
94* Better support for BIOS-emulated video displays
95* Fixed ptrace panic
96* 64-bit reverted to use nmalloc (dmalloc had too many memory bloat issues)
aba95e00 97* More reliable when very rapidly mounting and unmounting filesystems
98* USB4BSD libraries added: libusbhid, usbhidctl.
99* SMP support now on by default
100* SMBIOS information is now detected and available.
101* ifnet/ifaddr statistics are now saved per-CPU.
acec9460 102* virtio, virtio-blk drivers added.
aba95e00 103
9ad8146e 104
105> ### Hardware changes
106
aba95e00 107* AVX instructions are now supported on 64-bit processors.
108* Improved stability for iwi(4), wpi(4), and ath(4)
109* hptiop(4) supports RocketRAID 4520 and 4522
110* USB4BSD drivers added: usb, ehci, ohci, uhci, xhci, umass, usfs, uaudio, uep, uhid, ukbd, ums, uether, udav, and axe.
acec9460 111* em(4) and emx(4) are updated to Intel em-7.3.4.
112* igb(4) has I210 and I211 support, and is updated to Intel igb-2.3.7.
113* bnx(4) supports the BCM5717-C0, BCM5762, BCM5725 and BCM5727.
114* rl(4) supports the DLink DFE520TX C1
115* msk(4) and et(4) are MSI-enabled
116* bce(4) supports multiple-vector MSI-X, multiple receiving queues and multiple transmitting queues for BCM5709/BCM5716
117* bce(4), bge(4), bnx(4), em(4), emx(4) and jme(4) packet transmission performance has been improved by aggregating hardware register writing.
118* bce(4) and igb(4) now enable multiple hardware transmitting queues by default.
119* emx(4) supports 2 transmitting queues on 82571/82572, but is not enabled by default.
120* bce(4), emx(4), igb(4) and jme(4) fully support the new polling(4) (IFPOLL).
ee7cb0c2 121* AHCI bug fixes.
9ad8146e 122
aba95e00 123> ### HAMMER2
124
ee7cb0c2 125* NOTE: HAMMER2 is not operational yet, not even for devs.
acec9460 126* AES GCM support.
127* Cache coherency management system created based on HAMMER1.
128* Message passing system implemented.
129* Spanning code written.
aba95e00 130
9ad8146e 131
132> ### Userland changes
133
aba95e00 134* Vkernel disk serial numbers and interface MACs can now be set from the command line.
acec9460 135* mktemp(1) improvements from FreeBSD.
136* System make set to bmake.
137* Automatic installation of dports via /usr/Makefile added.
3305f45f 138* Fixed bug in powerd that could lead to only 1 cpu in the cpumask for userland scheduling.
9ad8146e 139
140> ### Removals
141
acec9460 142* None in this release
9ad8146e 143
144> ### Contributed Software
145
146* Shipping with pkgsrc-2013Q1.
aba95e00 147* gcc4.1 removed
9ae44a80 148* gcc4.7 promoted to primary compiler
149* gcc4.4 demoted to alternate compiler
150* flex updated to 2.5.37
aba95e00 151* bmake updated to 20121010
152* OpenSSH updated to 6.1p1
153* m4 updated
154* byacc updated to 20121003
155* OpenSSL updated to 1.0.1e
156* dialog updated to 1.2-20121230
157* libarchive updated to 3.1.2
158* zoneinfo updated to tzdata2013b
9ad8146e 159
160>### Security related
161
acec9460 162* No specific security-related updates in this release.