Fedora 34 has been released. What’s new?
Six months ago, we wrote about the release of Fedora 33, and now a new version has appeared distribution kit. In addition, the developers have prepared and related products, including Fedora Workstation, Fedora Server, CoreOS, Fedora IoT Edition. As for platforms, the distribution is suitable for x86_64, Power64, ARM64 (AArch64) and 32-bit ARM chips.
Under the cut – the main improvements and innovations in the Fedora 34 release.
More about new products
- The new version has received quite a few different improvements and additions:
- Developers have transferred assemblies from KDE to Wayland, but X11 has now become optional. As of KDE Plasma 5.20, the release managed to achieve a number of issues. For example, screencasting is now effortless, as is inserting the middle mouse button. For NVIDIA drivers, the kwin-wayland-nvidia package is used. Accordingly, the XWayland component can be used on systems with proprietary NVIDIA drivers. Introduced headless mode of operation, which makes it possible to run desktop elements on remote systems, accessing them via VNC or RDP.
- Fedora Workstation desktop is now updated to GNOME 40 release and GTK 4 library. For GNOME, virtual desktops are oriented horizontally in overview mode. Each desktop is shown with windows open. They are dynamically panned and scaled when interacting with the user. According to the developer, the transition between the list of programs and virtual desktops is now seamless.
- A variant with the i3 window manager has been added, in which windows on the desktop are placed in a tiled mode.
- Developers have also begun building KDE desktop images for systems based on the AArch64 architecture, in addition to builds for GNOME and Xfce desktops, and images for server systems.
- The PipeWire server works with audio streams instead of PulseAudio and JACK. It was chosen because it makes it possible to professionally process sound in a conventional edition, without fragmentation. In addition, the audio infrastructure can be easily unified for different applications.
- You can process sound professionally in JACK, but for interaction between PulseAudio and JACK, we had to add a layer that works through PipeWire. It made it possible to save the work of all active PulseAudio and JACK clients, as well as applications delivered in the Flatpak format.
- The updates also touched upon the Btfrs file system, which has been used by default since the last release. The system includes transparent data compression using the ZSTD algorithm. Compression is applied to new installations of the distribution. Existing users can activate compression if they wish. This is done by adding the “compress = zstd: 1” flag to / etc / fstab and running “sudo btrfs filesystem defrag -czstd -rv / / home /” to compress existing data. The comprsize utility can be used to evaluate the efficiency of compression. Compression is needed to save disk space, as well as increase the resource of SSD-drives. They can last longer by significantly reducing write operations. On slow drives, the increase in read and write speed is clearly noticeable.
- Good news for scientists – the developers have added a Comp Neuro Container image. It contains a number of modeling and simulation applications that are needed when conducting research in the field of neuroscience.
- Fedora IoT IoT adds support for Pine64, RockPro64, and Jetson Xavier NX ARM boards, and improves support for i.MX8 SoC boards such as 96boards Thor96 and Solid Run HummingBoard-M. The version for the Internet of Things differs from the others in that the system environment in it is stripped down to a minimum. The update is carried out by replacing the image of the entire system, and applications are separated from the main system by isolated containers.
- Earlier we wrote about another innovation related to the formation of separate packages with libraries for projects based on Node.js. Now it has been decided to abandon this mechanism. Instead, only basic packages are provided with an interpreter, headers, primary libraries, binaries and basic package management tools (NPM, yarn). Fedora applications that use Node.js can now embed all their dependencies into a single package. Splitting and separating these libraries into separate packages is no longer required. This innovation makes it easier to maintain packages, since you no longer need to test hundreds of packages with libraries instead of the main package with the program. Accordingly, the number of library conflicts will be reduced to a minimum.
- Increased the size of the virtual swap provided by the zRAM engine from one quarter to one half the size of physical memory. The limit is set at 8 GB. This innovation makes it possible to successfully run the Anaconda installer on a system with a small amount of RAM.
- Added delivery of crate packages for the Rust language. Packages are supplied prefixed with rust-. However, only in the stable branch.
- Added compression of files with firmware that are used by the Linux kernel since version 5.3. When unpacked, the firmware occupies approximately 900 GB. Compression has reduced their size in half.
- The xemacs, xemacs-packages-base, xemacs-packages-extra, and neXtaw packages have been deprecated. Updated package versions, including: GCC 11, LLVM / Clang 12, Glibc 2.33, Binutils 2.35, Golang 1.16, Ruby 3.0, Ruby on Rails 6.1, BIND 9.16, MariaDB 10.5, PostgreSQL 13. Updated desktops LXQt 0.16.0 and Xfce 4.16.
- FreeType was moved to use the HarfBuzz glyph shaping engine, which significantly improved the quality of glyph outline smoothing when rasterized when displaying text in languages with complex text layout.
- SELinux can no longer be disabled at runtime during runtime. After initialization, LSM handlers are placed in read-only mode. According to the developers, this mechanism makes it possible to increase protection against attacks that are aimed at disabling SELinux after exploiting vulnerabilities that can change the contents of kernel memory. If necessary, you can still disable SELinux – but for this you need to reboot the system by setting “selinux = 0” in the kernel command line.
- An important innovation is the provision of restarting all updated systemd services at once after the transaction is completed in the RPM package manager. Previously, the service was started after updating each package that intersected with it.
- Images for ARMv7 (armhfp) boards are converted to UEFI by default.