Fedora 11 uses version 4.4 of GCC, which was released just a few weeks ago and has been used to compile most of the software in Leonidas. The new GNU Compiler Collection is just one of three reasons why almost all packages have been recompiled during Fedora 11 development. Software for x86-32 versions has been compiled using a different set of options, as it had previously been optimised for general use ("-mtune=generic"), but now requires at least i586 CPUs ("-march=i586"). The names of x86-32 RPMs therefore now generally end in 'i586.rpm' instead of 'i386.rpm'.
The third reason for the mass rebuild was the stronger hashes feature – the use of stronger hash algorithms at various points, including in the RPMs themselves, where SHA256 is now used for signatures and file checksums instead of SHA1. This was already supported in RPM 4.6, but the Fedora developers went one step further and moved to fresh off the press RPM 4.7, which is able to work with less memory and is much quicker when it comes to updating packages.
Fedora 11 includes beta versions of Thunderbird and Firefox – 3.0 beta 2 and 3.5 beta 4 respectively. The Fedora developers had originally hoped to include Thunderbird 3 and Firefox 3.5, but in the event they were not quite ready in time. Nonetheless, the two beta versions were just as reliable as their predecessors running on Fedora 10, when run on two test systems running a pre-release version of Fedora 11 over a period of several weeks. Many add-ons for the two popular web applications are, however, not compatible with the pre-release versions. Nightly Tester Tools for Firefox and Thunderbird do persuade at least some add-ons to play ball.
Despite delays, OpenOffice 3.1 (test report) was ready in time to be included in Fedora 11. On one of our test systems, the office suite occasionally crashes when generating print jobs. Version 2.26.1 of the GNOME desktop is included, although the instant messaging client is Pidgin rather than Empathy. KDE version 4.2.2 is included. 4.2.3 is already in the updates-testing repository and is likely to be added as a standard update soon. It's a similar story with Xfce, of which version 4.6.0 is included in Leonidas, but which is updated to 4.6.1 in the first, already available tranche of updates.
An exaltation of updates
A whole host of updated packages can already be found in the update and updates-testing repositories for Fedora 11 – there are 1,728 binary packages consisting of 630 regular and 14 security updates. These fixes were omitted from the actual distribution to avoid introducing new bugs shortly before release.
Because Fedora, in contrast to other mainstream distributions, does not limit itself to releasing new packages which fix bugs or security vulnerabilities only, but also delivers new versions of the software included with Fedora, this is likely to be just the start of the flood of updates which usually accompanies Fedora – in the seven months since its release, there have already been more than 3800 updates for Fedora 10.
These include a number of kernel updates – the updates-testing repository for Fedora 10, released with kernel 2.6.27, now includes kernel 2.6.29, which sooner or later is likely to be distributed as a regular update. Fedora 11 is also likely to be updated with the next two or three kernel versions. So that users are not left with a non-bootable system in the event of a kernel problem, updates to the current kernel are initially installed in parallel and uninstalled at a later date.
The Fedora team implemented Presto, a feature that had been pencilled in for both Fedora 9 and Fedora 10, very late in the development cycle. Presto implements the use of delta RPMs – binary diffs between two RPM packages, long used by SUSE and openSUSE. The Presto plug-in for yum can, if everything goes according to plan, use the delta RPM and the old RPM files installed on the drive to generate a second, new RPM.
Because changes to the content of updated RPM packages are frequently very small, a delta RPM is generally much smaller than a complete new RPM. As a result, a lot less data has to be transferred when installing updated packages. This reportedly reduces the size of the download when updating a system by 60 to 80 per cent.
As the final days of Fedora 11 development showed, the size saving for larger packages such as OpenOffice was in some cases much larger. Even with a fast internet connection this should still tangibly accelerate system updates for Fedora, which as previously explained, usually has a large number of updates. The lateness of the decision to include Presto meant that Fedora chose not to include the yum plug-in as part of the default installation. Delta RPMs will therefore only by used if yum is installed using "yum install yum-presto".
The "simplified volume control" feature in Fedora 11, which uses PulseAudio, triggered a great deal of discussion on the Fedora mailing list (e.g. 1, 2, 3, 4). The feature is a new mixer applet for GNOME which is meant to be easy to use. Some users, however, were far from satisfied, as it does not give them control over every single input and output control on their audio hardware.
The problem, which is at least in part caused by the ALSA API and drivers, is nothing new. In Fedora 9 and 10, as well as in other distributions which make use of PulseAudio, it was occasionally necessary to use the ALSA command line mixer program to access audio hardware directly if you wanted access to all of the audio level controls. As a compromise it was eventually decided to include 'gst-mixer' as an additional mixer program for GNOME with a wider range of options. As noted by some of those involved in the discussions, however, programs such as gst-mixer also have their difficulties with ALSA – two screenshots released by the Fedora development team illustrate this in impressive style (1, 2).
The decision taken back in the autumn by the X.org development team to no longer terminate the X server on pressing CTRL+ALT+backspace (DontZap) also triggered a lively debate at the Fedora Project. The X development team soon found itself drawn into the discussion – which LWN.net thought worthy of an article. On his blog, X.org and Fedora programmer Peter Hutterer has presented a number of changes adopted in Fedora 11, which will allow this keyboard short cut to be turned on and off at runtime. This has placated at least some of the critics.
More new stuff
Fedora has now been without a Xen Dom0 kernel since version 9, though it does have everything required to operate as a Xen guest (DomU). For virtualisation, Fedora 11, like previous versions, uses KVM, which is reliant on virtualisation technologies in the CPU and can now assign PCI devices on guest systems using VT-d. The merger of the KVM QEMU code with QEMU itself should improve maintenance. Other changes should enable direct graphical access to guest systems at resolutions of 1024×768. Guest system privileges are now restricted by sVirt using Mandatory Access Control (MAC), which should prevent attacks on a host system or other guest systems from within a guest system.
Since Fedora 10, PackageKit has installed Gstreamer plug-ins on an as-required basis – in Fedora 11 it now also installs fonts on the same basis. In addition, the software installation and update program now also installs applications semi-automatically where they are required to deal with specific file types and are not yet present on the system.
And so it goes on
Development work for Fedora 12, which is scheduled for a November release, is already steaming ahead, and the Tomboy component of Fedora 11 looks set to be replaced by Gnote. The wiki lists several further features for the next version, which are being made ready in the Rawhide development branch, which is updated on an almost daily basis.
A vote on the name for Fedora 12 is currently under way – the options are Chilon, Constantine, Orville, Rugosa and Umbria. As ever, the name must have some link with its predecessor – Leonidas (Fedora 11) and Cambridge (Fedora 10), for example, were both US navy ships, Cambridge and Sulphur (Fedora 9) are both city names. The Fedora wiki lists further links.
The installer code responsible for setting up storage media has been rewritten. To make it easier to maintain the code, the developers have made big cuts to the range of installation options when using text mode. The developers advise users wanting flexibility to install using VNC or to use the VESA driver for X – the latter can now be called via a separate menu item during installation in the event of difficulties with the default graphics driver.
Included for the first time are support for UEFI and fingerprint sensors, DeviceKit (a partial replacement for HAL), glibc 2.10 and Python 2.6. We have described some of the more important changes in Fedora 11, but there are also many more.
- Support for Control Groups
- DNSSEC (DNS SECurity)
- Extended support for GFS2
- Input method framework (intended as the heir to SCIM)
- Input device properties, which, among other things, allow proper touchpad configuration at run time
- Updates for Linux Terminal Server Project (LTSP) support
- NetBeans 6.5
- Improvements for minimal-installations
- PAM GDM
- Microsoft Exchange support with the help of OpenChange
- System Security Services Daemon (SSSD)
- The switch to TigerVNC
- Improvements to power management (only partially implemented, further improvements are planned for Fedora 12)
- Cross compiler for Windows (also available in part for Fedora 10)