DragonFlyBSD 5.8 arrives with improvements for DRM, virtual memory and more

A few days ago the release of the new version of DragonFlyBSD 5.8 was announced. This new version comes with some improvements quite interesting of which work on DRM components and virtual memory enhancements are highlighted.

Among the features of DragonFly BSD found the HAMMER file system with distributed version, support for loading "virtual" system cores such as user processes, the ability to cache FS data and metadata on SSDs, contextual variant symlinks, the ability to freeze processes while maintaining their on-drive state, a hybrid kernel using lightweight threads (LWKT) .

What's new in DragonFlyBSD 5.8?

This new version of DragonFlyBSD 5.8, the basic structure includes the dsynth utility which is intended for local compilation and maintenance of its own DPort binary repositories.

Besides that parallelization of a set of arbitrary number of ports is supported, given the dependency tree. In preparing for the new release, DPort also introduced a host of changes aimed at speeding up the assembly of various dependent packages.

On the other hand, Libc is mentioned to have an effective signal masking mechanism which protects malloc * () and similar functions from problems due to signal interruption.

For short-term blocking and unblocking of signals, the sigblockall () and sigunblockall () functions are proposed that work without making system calls.

Furthermore, the libc strtok () function is adapted for use in multithreaded applications, the constants TABDLY, TAB0, TAB3, and the _errno_location function are added to improve data compatibility.

On the part of its outstanding improvements, we can find that DRM interface components are synchronized with Linux 4.9 kernel with the transfer from kernel 4.12 of individual features intended to improve Wayland support.

The controller drm / i915 for Intel GPU is synced with Linux kernel 4.8.17 with ported kernel code 5.4 to support new chips and also radeon for AMD graphics cards it is synchronized with the Linux 4.9 kernel.

The algorithms were significantly improved to swap virtual memory, which eliminated or minimized responsiveness issues in the out of memory user interface.

Also it is mentioned that support for SMAP and SMEP protection mechanisms was added. SMAP allows blocking access to data in user space from privileged code running at the kernel level, while SMEP does not allow switching from kernel mode to executing user level code, thus blocking exploitation of many vulnerabilities in the kernel.

Another important change is the emergency mode of operation of the HAMMER2 file system that was added and implemented because it can be used in the crash recovery process.

Of the other changes mentioned:

  • Added new realpath, getrandom and lwp_getname system calls (allowed to implement pthread_get_name_np).
  • Redesigned sysctl variables to configure Jail. Added ability to mount nullfs and tmpfs from jail.
  • Improved reliability and performance of TMPFS. Greater efficiency in conditions of lack of free memory in the system.
  • Linux-compatible basename () and dirname () functions have been added to improve port compatibility.
  • Migrated from FreeBSDfsck_msdosfs, sys / ttydefaults.h, AF_INET / AF_INET6 to libc / getaddrinfo (), calendar (1), rcorder-visualize.sh. The math.h functions are ported from OpenBSD.
  • Updated versions of third-party components, including Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. By default, the gcc-8 compiler is used.

If you want to know more about the launch of this new version, you can check the details In the following link.

Download

For those who are interested in being able to install or test this new version on their computers or in a virtual machine, they can get the system image from its official website in its download section.

The link is this.

The system image can be recorded with the help of Etcher, which is a multiplatform tool.