Distribution-wide Changes

Fedora Workstation now uses Btrfs by default

Btrfs is a native Linux copy-on-write file system. It provides advanced features including error detection, fault tolerance, recovery, transparent compression, cheap snapshots, integrated volume management, and easier administration. Btrfs will be the file system used for new desktop installations.

Applies to

  • Fedora Workstation edition, and all Fedora desktop spins

Does not apply to

  • Fedora Server, Cloud, IoT, or CoreOS.

  • Upgrades of any Fedora edition or spin.

What’s changing

  • Use Btrfs instead of LVM+ext4.

  • / and /home are no longer separate file systems, but are on "one big Btrfs file system".

  • / and /home are on Btrfs subvolumes and share the space on the Btrfs volume.

Always-on features

  • Copy-on-write means data is never overwritten, and the file system stays consistent even in the case of power failures.

  • Data integrity: Checksumming for all data and metadata ensures corruptions do not propagate.

  • Efficient copies, also known as filing cloning or efficient copies.

Opt-in features

And also…​

Fedora Workstation edition contains thermald by default

Modern Intel-based systems provide sensors and methods to monitor and control temperature of their CPUs. The thermald daemon harnesses those sensors to monitor the CPU temperature. Based on the received data, thermald uses the best available method to keep the CPU in the right temperature zone.

Fedora Workstation users can now enjoy better out-of-the-box experience due to improved CPU cooling methods and enhanced performance of their Intel systems.

Optionally, users can achieve further performance improvements by using specific per-CPU model thermald configurations.

FlexiBLAS enables runtime switching of BLAS/LAPACK backend

Basic Linear Algebra Subprograms (BLAS) and Linear Algebra PACKage (LAPACK) are API standards for basic linear algebra operations.

From Fedora 33, the packages that use BLAS and LAPACK APIs will be compiled against FlexiBLAS.

FlexiBLAS is a framework that wraps the BLAS and LAPACK APIs with interfaces for both 32-bit and 64-bit integers.

As a result, FlexiBLAS will set the OpenBLAS standard as the system-wide default backend. At the same time the change will resolve the following issues:

  • Fedora lacks a system-wide default.

  • Fedora lacks a proper switching mechanism.

This update also brings the following changes:

  • Recompilation of all BLAS and LAPACK dependent packages that link against FlexiBLAS instead of the current implementation they are using.

  • Changing the packaging guidelines to reflect the previous requirement for BLAS and LAPACK consumers. For more details, see the PackagingDrafts/BLAS LAPACK Fedora Wiki page.

nano is a default terminal text editor

In Fedora 33, nano has been set as the default terminal text editor. See the System Utilities section for more information.

Fedora Internet of Things (IoT) is now an official Fedora Edition

Fedora IoT has been promoted to an official Fedora Edition status, alongside Workstation and Server.

With this enhancement, Fedora IoT becomes more prominent, which will help spread adoption between users.

As a result, this will help drive improvements in Fedora IoT and other ostree-based deliverables. Additionally, It also gives Fedora a strong presence in the IoT ecosystem.

Increase usage of %make_build and %make_install

Many invocations of the make utility in spec files that use the %{_smp_mflags} macro have been modified to use the %make_build macro. All make invocations that use the install target have been updated to use the %make_install macro. Any additional arguments to make that are not included in either %make_build and %make_install are preserved.

Packages that already use %make_build and %make_install remain unchanged.

This change aims to standardize make usage, and to facilitate enforcing consistent build flag usage across all Fedora editions.

Fedora workstation livecd does not contain device-mapper-multipath

The device-mapper-multipath package requires an obsoleted service systemd-udev-settle.service in the default install of Fedora. This service waits a long time for detection of all devices. As a result, a system booting is significantly prolonged.

As multipath support is only necessary for installations in data centers or other enterprise setups, device-mapper-multipath is not needed. Therefore the Fedora workstation livecd will no longer contain device-mapper-multipath package.

Users which need device-mapper-multipath are advised to use the server installation.

.NET Core now available with 64-bit ARM systems

.NET Core is now available on the Aarch64 architecture in addition to x86_64. See Developers/.NET for more information.

The earlyoom service is now enabled by default in Fedora KDE

The earlyoom service monitors system memory usage. If free memory falls below a set limit, earlyoom terminates an appropriate process to free up memory. As a result, the system does not become unresponsive for long periods of time in low-memory situations.

The following is the default earlyoom configuration:

  • If RAM goes below 4% free and swap goes below 10% free, earlyoom sends the SIGTERM signal to the process with the largest oom_score.

  • If RAM goes below 2% free and swap goes below 5% free, earlyoom sends the SIGKILL signal to the process with the largest oom_score.

This update brings the following benefits:

  • Users regain control over their system more quickly.

  • Reduction of forced poweroff increases data collection and improves understanding of low-memory situations.

  • The earlyoom service first sends SIGTERM to a selected process, so that it has a chance to shutdown properly.

dmraid-activation.service no longer depends on systemd-udev-settle.service

The dmraid-activation.service service now disables itself if no supported RAID sets are found when the service runs for the first time. See Storage for more details.

Swap on zRAM

Starting with Fedora 33, a swap partition is not created by default at installation time. Instead, a zram device is created, and swap enabled on it during start-up. zram is a RAM drive that uses compression. See man zram-generator for a brief overview of its function.

The swap-on-zram feature can be disabled with sudo touch /etc/systemd/zram-generator.conf and reenabled by removing this file, and customized by editing it. See man zram-generator.conf for configuration information, including a description of the default configuration plus ASCII art.

The installer’s Custom and Advanced-Custom interfaces continue to support the manual creation of disk-based swap.

See the Change proposal for detailed information about the rationale for this feature.