Updated: December 18, 2009
Constantine is the name of a mediocre movie starring Keanu Reeves, the name of a few Roman imperators and also the name of the latest Fedora release. After having tested the tsunami of exciting new releases, starting with Ubuntu Karmic Koala and having recently published a Mandriva 2010 article, also known as the Autumn Distro Release Fever (ADRF), it's time for a Fedora review.
Fedora is a very intriguing distribution. It's unto RedHat what Ubuntu is unto Debian, an experimental, unstable branch where the bleeding edge of technology is tested, with you usually being the one that is bleeding. Seriously, Fedora is a distribution that combines all the dangers and thrills of the latest Linux advancements. As such, it is quite popular mainly with intermediate and more advanced users.
My experience with Fedora, covering Cambridge and Leonidas releases was a mixed one. From the pure usability perspective, there's a lot to be desired. Take stability, for one, never a strong point. And yet, Fedora manages to be dead simple in many areas. If you're into free software only, then you're lucky. If you prefer the comfort zone of having lots of proprietary stuff readily available from you, take a number. Nevertheless, whether you like Fedora or not, you must agree it's a unique distro. This volatile mix makes for an exciting experiment.
I will be testing Fedora on my small cavalry of laptops, plus a virtual machine here and there. We'll cover the usual stuff, which is pretty much everything, starting with the live session and what it offers the average user, next we will install Fedora, and finally dig into the installed desktop and start exploring. Wireless, Bluetooth, Samba, Compiz, security, package management, proxy support, and other cool things. You should like it.
Now, following this long intro ... follow me!
Live CD experience
Fedora 12 boot sequence has not changed much in the latest release. Come the conventional GRUB menu, you will have either the tri-color bar progressing from left to right or the Fedora icon slowly filling up (on machines with better graphic cards). No screenshot for that other one, sorry.
After a while, you will reach the desktop:
Fedora 12 desktop goes back to release 10 in offering you a blue wallpaper, in contrast to Leonidas that sported Greek architecture motifs. It's a typical Gnome desktop through and through, fast and simple.
Wireless & Bluetooth
No unwanted surprises, behaved as expected. Bluetooth was turned off, by default.
I tried enjoying some proprietary file formats, but Fedora did not have the right codecs available just yet, as it ships with free software only. This had to wait until after the installation.
Stability in the live session
If you've read my previous Fedora articles, you will have noticed that kernel crashes were a very common thing. But then, they happened mostly in beta releases, inside virtual machines, not on physical hardware.
Unfortunately, Fedora 12 takes the kernel crashes to a new level and makes them available on physical hardware as well, with as many as three within the span of thirty minutes.
I tried to upload the reports, but unlike Fedora 10 and 11, where this was an automatic, seamless procedure, it asked me for my Bugzilla credentials, without which I could not proceed. So even if I wanted to help, I could not.
Well, two of the kernel crashes were caused by the same symptom, a problem in the native_apic_write_dummy function with the swapper process (PID 0). Apparently a known problem, unsolved yet.
There was little else I could do. The live session was, well, somewhat boring. You had a spartan selection of Gnome programs, no multimedia support just yet and a sprinkling of crashes to keep you company. I was not impressed, but decided to install Constantine anyway.
The installation is a fairly standard deal, identical to previous versions. If you've worked your way through one, this will be old school for you.
The installation is very fast. It takes only about 15 minutes. However, after the first reboot, you will have to configure your own user, time and date and send an optional hardware profile, if you want. There's no option to customize security settings, including both the firewall and SELinux.
Post installation thrills
It was time to see how long and difficult it would be to make Fedora into a useful, exciting desktop.
No Flash or MP3 support out of the box, due to the all-free nature of the release.
The keyword here is - enable extra repositories. Just like previous versions, Fedora comes to live with the additional repositories enabled. I have shown you how to do this with Fedora 10 using Livna repos and with Leonidas using RPMforge. In Fedora 12, you can use RPM Fusion. We will talk more about usability a while later
Once the extra repositories were configured and packages downloaded, you had the media playing as expected. There were no problems with audio, compared to Ubuntu.
Unlike the previous versions, the Flash playback was smooth, even in full screen:
Enabling Compiz effects is a one-click job. Even on T42, this worked without any problems.
However, when I tried to extend the basic set of effects, I ran into some issues. I downloaded the Compiz Settings Manager and started turning on the effects, only to discover that they could not be activated. Then, Compiz crashed twice, adding to the long list of crashes.
Eventually, I had Compiz working, but the stability was flaky.
It's really amazing how the Fedora team manages something so great and so bad at the same time. While Ubuntu abandons support for old graphics cards altogether, Fedora supports them out of the box and the performance on ancient machines like T42 is really great, then it spoils everything with crashes and malfunctioning effects.
The default selection in the CD edition of the distribution is somewhat meager. Fedora 12 has less applications than, say Ubuntu, with the most notable omission the OpenOffice suite. Instead, you get the handsome, feisty AbiWord, which is not to be underestimated, but it's only a word processor and not a full suite. And no GIMP either!
Software & package management
Fedora 12 continues the simple, rather robust use of YUM as its core package manager. Overall, the manager was fast and efficient. The only problem was that it did not report progress when installing, making you unable to estimate when the installation of software or updates was going to complete.
You also get rather smart update notifications:
P.S. The left-most red icon in the system area is a notification of yet another crash.
PackageKit & Presto
The package management in Constantine now also includes differential (delta) updates akin to the mechanism used by SUSE, which conserves bandwidth and allows the update bundles to be much smaller. Another bonus is PackageKit, which will automatically install missing software for new file formats on the fly, allowing for a seamless experience.
Unlike CentOS, which kicked into life once the proxy support was added into yum.conf configuration file, Fedora 12 refused to work with proxies, rendering any use of the package manager behind a proxy nil. This is really disappointing, as you would expect something as trivial as proxy support to work without any hitches.
Fedora 12 looks worse than its previous incarnations. The beautiful dark blue scheme and the sexy fonts are replaced with stock Clearlooks Gnome theme, which although quite lovely, is less handsome than what used to be the default.
Here's an example, from Leonidas:
You will have to work a bit to get things to their old style. This includes changing the wallpaper, fonts and the window border colors.
Just by enabling the extra repositories, you will have significantly enhanced the baseline usability of your distro. Still, there are several additional tools you can use to make Fedora Constantine even easier and more fun to use.
In Fedora 11, there was autoten - and it still works for Fedora 12, too. You can also use RPMforge and RPM Fusion to enhance your repositories with extra stuff. Then, there's also easyLife, which is very similar to autoten. In fact, the two are mutually exclusive.
With either autoten and/or easyLife, you will be able to install extra applications, fonts, graphic drivers, restricted software, set your file manager to browser mode, disable SELinux, and more.
Indeed, after a few minutes, you can have your desktop pimped up with all sorts of goodies, include Google Earth, Picasa, Skype, Real Player, and other programs. For example, here's Fedora running Real Player, Google Earth and VirtualBox PUEL:
Fedora is known for its high security settings. You get SELinux and firewall turned on by default. Not a bad thing, but this can cause usability problems, even for seemingly transparent things. We'll discuss this soon some more.
I did not find an easy way to disable SELinux using GUI, which really annoyed me. I never liked it on desktop systems and see no reason to run it in the tranquility of my home. We will soon see why.
Fedora 12 ships with a sandboxing utility that allows you to run applications locked in their own virtual prison, without any access to the real system, so if something bad happens, the malicious changes cannot propagate. This sounds like an interesting idea, but it's a bit of an overkill for home usage.
Running sandbox is command-line only, so far and requires that you read the documentation to get it going. The H Security have a nice article on this topic. Speaking of Xephyr, the application used for sandboxing, we will have a dedicated review/tutorial soon.
The first time you run sandbox-X, it will ask you to download the missing packages.
After that, it's running as expected:
sandbox -X -t sandbox_web_t firefox
Here we go:
However, not all worked smoothly. Check the problems sub-section below.
Problems with security
As I said, the security in Fedora Constantine is a double-edged sword. While it can help keep the baddies away, it also keeps you away. For instance, browsing the Samba shares does not work with the firewall turned on.
SELinux also interfered with the Sandbox utility, preventing me from trying out applications in the sandbox mode other than Firefox. Each time I tried to launch a sandbox, I got a rather annoying SELinux alert:
If you disable SELinux, you will also lose the sandbox-X, but with SELinux enforced, it will not run properly. A chicken and an egg problem, really.
Anyhow, to disable SELinux on Constantine, you will have to edit the /etc/selinux/config file and changed the string enforced to disabled. After rebooting, your system will behave normally.
One more thing that Fedora does is remove the prompt for root password when installing packages that are digitally signed by Fedora. Many experienced users clamor over this, claiming this reduces the security, while others see this as a blessed step toward making Fedora friendlier and easier to use, especially for newbies.
In general, you won't see many prompts, but if you try to install an RPM that is not stock Fedora, you will get the prompt after all; for example, when installing easyLife RPM:
For more details about security, you may want to read the DistroWatch review. It mentions additional SELinux observations and the default package management permissions.
When it comes to speed, Fedora 12 is near the high-end. It's about the same speed as most modern Gnome desktops, leading ahead of the KDE4 family. Considering the fact that Fedora 12 comes loaded with security features, this is a nice feat indeed. This is especially felt on older machines, like T42, where Flash in full screen mode worked without any chopping, Compiz worked smoothly (when it did) and overall responsiveness was snappy.
Fedora baseline memory footprint is even lower than Ubuntu, at about 250MB compared to 350MB for Karmic.
Laptop modes (suspend & hibernate)
These worked fine, without any major issues encountered.
There were many, almost too many.
More crashes yet still, even after the installation. I was really disappointed. If I had to cut off a finger for every crash I've experienced in my testing, I would not be typing this article. There were just too many, overshadowing any Fedora greatness.
This is only on T42, a mere 3-4 sessions:
We talked about this already, but there are more candidates to add to the list. For example, Empathy also refused to work behind proxy, which makes it an unworthy successor to Pidgin.
Again, I've mentioned this earlier, under Security. If you're running with Fedora's default, paranoid security enabled, your usability will be crippled, including such seemingly trivial tasks as connecting to Samba shares on your own local network.
After you disable the firewall, Samba works just fine.
No shutdown button!
Fedora 12 suffers from the same issue like Open Solaris 2008.05. No shutdown button in the logged session. This is oh-so-maddening on so many levels. First, the fact you need to log out first before you can shutdown your machine feels very 80s.
And when you click on your name in the top panel, the only option available is the logout. You don't even have the option to suspend or hibernate the machine, let alone restart or shut it down.
You can use the System menu, but it's not obvious for new users.
C'mon, it's 2009. No shutdown button ... What next, compiling from sources? However, if you run Gnome Shell on Fedora, you get the Shutdown button as expected. We will talk about Gnome Shell soon.
No tabbed file manager
Another relic of the past. Clicking open new folders launches them in separate windows. If you have to go through numerous levels of directory hierarchy, you end up with a cascade of windows, which are a hell to close.
Fedora 12 is a very unremarkable release. Compared to its predecessor, it has more crashes, it's less appealing, without any major function or feature to offset these. While the spartan approach is welcome, it's applied in the all the wrong areas, like the user interface. The real focus should be in the internals, where the real stuff happens.
The fact Fedora Constantine does not deliver a smoother or more stable user environment is evident in the staggering multitude of crashes, on both the kernel and application level. To make things worse, you have security choking you and old-fashioned tricks from a UNIX 70s manual, like single-frame file explorer and no shutdown button. The beautiful fonts and sexy theming are gone.
On the plus side, you have decent performance, solid package management and Compiz kind of works, but that's all basically. There's no critical-mass incentive in Fedora 12 to make it a great release.
The sad thing is, it could be a great distro. It needs stability, first and foremost. Then, throw in Leonidas looks, and with some help from autoten or easyLife, you get a very decent, fast and secure Linux.
For hardcore users, hackers and enthusiasts, my review means nothing and they will have their corner of joy and pain reserved for Fedora. However, for the average user, Fedora 12 does not make for a wise choice. Like Karmic, Fedora makes for an autumn disappointment.
You should wait for the next edition.
December 19: I've received quite a few emails regarding this review, most polite and constructive, some less so. Focusing on the good part, here's a selection of comments and corrections that my readers had to suggest. I would like to take this opportunity to thank them for their feedback, most notably Adam (Fedora QA), Adrian, Sasha, and revolk44.
Rather than showing you the red police light icon indicating ABRT is working and collecting crash data, I've mistakenly posted screenshots of the package manager. My bad. However, that does not diminish the crash count in any way or make things better, mind.
Shut down button
Much contended. Here's what one of the readers had to say:
In your screenshot, in the System menu, it clearly says Shut Down... That's where your Suspend, Hibernate, Restart, and Shut Down options are. No need to first log out. You will notice that the icons are missing. The fix is mentioned in the release notes. Perhaps it is a case of different strokes for different folks, but I am used to using my System menu for shutting down, restarting, etc. When it is located in the User Switcher applet, it confuses me. If you really want, you could add a Shut Down button to one of your panels.
The default single view, single window behavior can be changed. When you launch Nautilus, go under Edit > Preferences > Behavior and choose Always open in browser windows.
I will also be working with some Fedora folks on the kernel and Compiz crashes, so hopefully we can sort these out. I hereby extend my offer to any developer who wants to tackle these issues on a deeper level.
Thank you all.