This Fedora 7 review is really late, especially with Fedora 8 just around the corner. Nevertheless, I feel compelled to write since its my latest switch from OpenSUSE 10.2. Yeah, I've been using OpenSUSE before they even launched OpenSUSE. My first taste of SUSE started with 9.1, the public version, then I moved to 10.0 rather quickly after that. SUSE basically had two desktop versions, one for retail and the other minus the retail apps. I never found any major differences between the two, other than the retail version shipped with some proprietary demo apps if I remember correctly. This article doesn't need to turn into a history lesson about OpenSUSE based on my memory, so I will stop recollecting. What lured me into installing Fedora 7 was Eclipse, most notably, the php Eclipse plugin.
Pre-Install
I usually do not like to upgrade over my existing install so I tar my home directory with the bzip option and copy it to a network drive. Using tar makes the job really easy and you do not have to worry about not including some files from some dark corner of your drive. My /home directory was around 30GB in size. Lots of binaries laying around in various zip and tar files. Using the bzip option for this kind of file set wasn't too bright. The CPU spent a lot of time in bzip with the resulting savings of only around 3GB. I would have been better off to have forgone the bzip option.
The most critical function of this backup file is saving the mail and settings of Evolution. Evolution stores most of its data in .evolution of the /home directory. However, there are other files that Evolution uses and they are kept in the .gconf/apps/evolution and ./.gnome2_private/Evolution directories. These files are also needed to successfully migrate your mail to the new install. Once your new install is complete, you will need to copy your old to their new /home. Before you actually restore the files, you will need to shutdown any apps using these files by using the following commands:
gconftool-2 --shutdown
evolution –force-shutdown
copy your files
gconftool-2 --unload evolution_setting.xml
gconftool-2 --load evolution_setting.xml
Done. GNOME 2.20.0 is planning a backup/restore plugin for Evolution which may reduce this process down to a few clicks.
The Install
Most modern Linux distributions are a breeze to install. Fedora 7 is no exception. It was uneventful. The last thing you want is your installer causing a kernel panic or other type of crash. A nice, boring install with plenty of applications to choose from is the best install experience I can think of. However, the Fedora 7 DVD had slim pickings. Beyond full support for KDE, GNOME and the usual basic server apps (MySQL, PHP, Perl, etcetera), there wasn't much there. If you don't have high-speed access to the Internet, you will need an extras CD or DVD.
First Boot
I actually installed Fedora 7 on two different laptops. One was a Dell Latitude 820 and the other is a Clevo D900T. The first boot on the Dell hung during kernel initialization. I had to edit the kernel command line and the remove the “quiet” statement in order to see the printk's. The kernel complained about an “APM Bios Error”. A quick google determined that I needed to add acpi=off on the kernel command line. Sure enough, that did the trick. Didn't have any problems with the Clevo. That seemed strange because the Clevo is more than three years old, whereas the Latitude is fairly recent. If your connected to the Internet during the initial boot to the desktop you will be presented with an update notification by the Package Updater rather quickly. If I remember correctly, it was around 116 packages that it wanted to update, including the kernel, so I let it start downloading. After the update completed it wanted to reboot. With the new kernel installed by the Package Updater, the Dell did not need the acpi=off statement anymore.
All the hardware was working perfectly on the Dell including audio. Unfortunately, the audio on the Clevo was not working and hasn't worked since ALSA release 1.0.10 (roughly 2.6.15 kernel version). The good news is that the driver is now loading properly with the 2.6.22 kernel, whereas in the past it would spew huge amounts of error and status messages. The audio codec is a Realtek behind an Intel ICH6. Whenever an app attempted to use the audio, its was presented with the following:
ALSA lib pcm_direct.c:867:(snd_pcm_direct_initialize_slave) snd_pcm_hw_params_any failed
ALSA lib pcm_dmix.c:876:(snd_pcm_dmix_open) unable to initialize slave
Once again, a google query came to my rescue. The ALSA device driver needs some extra help from modprobe.conf:
options snd-hda-intel model=clevo probe_mask=1 index=0
Audio started working by editing the above line in /etc/modprobe.conf and rebooting.
The Desktop
I chose to install GNOME as the default desktop. I used to be addicted to konqueror in KDE, but I have gone to rehab and kicked the habit. The first I thing I did was rearrange my desktop to my preferences as shown below:
Pretty, isn't it? I had some questions about Fedora 7 so I went to the menu to fire up xchat, but it was not there. Nope, not on the DVD either. I fired off the “Add/Remove Software” button in Applications. After entering the root password, I was presented with the Package Manager. I didn't see xchat in “Browse”, so I went to “List”. Sure enough, there it was. Another thing about the Package Manager is that when listing “Available Packages” it will list older versions of installed packages. I would think that it would filter out packages that are older than the installed packages. So be careful.
Fedora ships with a fully open source version of JAVA. However, it does not include a browser plugin and you will need to install Sun's JAVA to get this functionality.
Performance
The desktop seemed pretty sluggish. Another quick google turned up other people that were experiencing the same. No one had any answers, just complaints. For the moment, I got back to configuring the desktop and I installed the
Fluendo mega codec pack for gstreamer. The Fluendo codec's are for playback of proprietary audio and video encoded media. When I launched the totem video player the “SElinux Troubleshooter” popped up and stated that one of the codec library files was compiled incorrectly and would not be allowed to load. At first I was annoyed that SElinux was disabling the codec. After a few choice words directed to SElinux I realized how cool the technology is and how it could stop the most sneakiest of inside attacks. However neat-o I think SElinux is, I didn't want the overhead in CPU/MEMORY bandwidth that SElinux consumes, so I disabled the service. The desktop seemed snappier too with SElinux disabled. I did not notice a huge performance gain, but nevertheless it seemed faster. My GNOME desktop is configured with eight virtual desktops. Open programs are slow to redraw when switching between virtual desktops on the Clevo. My expectation is that the redraw would happen instantly. Heck, the Clevo is a Hyper-threaded P4 running at 3GHz, 1GB of memory and an NVIDIA GeForce Go 6800. So I decided to run some benchmarks on the Clevo and Dell laptops.
SPECview 9.0.3
|
Fedora 7 Dell Latitude
1680x1050 |
Fedora 7 Clevo D900T
1680x1050 |
| 3dsmax |
7.42 |
3.17 |
| Catia |
9.19 |
3.37 |
| Ensight |
4.86 |
3.59 |
| Light |
8.62 |
2.45 |
| Maya |
15.68 |
7.86 |
| Proe |
7.04 |
2.87 |
| Sw |
9.3 |
4.93 |
| Ugnx |
1.31 |
0.9 |
| Tcvis |
2.03 |
1.34 |
|
|
|
GtkPerf 0.40
|
Seconds
|
Seconds
|
| GtkEntry |
0.19 |
1.18 |
| GtkComboBox |
12.76 |
59.55 |
| GtkComboBoxEntry |
10.56 |
48.23 |
| GtkSpinButton |
2.17 |
11.59 |
| GtkProgressBar |
2.77 |
15.41 |
| GtkToggleButton |
5.25 |
22.22 |
| GtkCheckButton |
4.72 |
17.38 |
| GtkRadioButton |
6.42 |
22.04 |
| GtkTextView – Add Text |
69.26 |
127.18 |
| GtkTextView – Scroll |
15.39 |
45.91 |
| GtkDrawingArea – Lines |
2.11 |
6.72 |
| GtkDrawingArea – Circles |
2.62 |
10.47 |
| GtkDrawingArea – Text |
2.23 |
16.38 |
| GtkDrawingArea – Pixbufs |
2.35 |
4.2 |
| Total |
138.8 |
408.46 |
|
|
|
| Bonnie++ 1.03a |
|
|
Block – Write MB/s
|
29.51 |
42.84 |
Block – Read MB/s
|
33.86 |
45.4 |
| Seek |
148.3 |
132.2 |
| |
|
|
| System Specs |
|
|
| Model |
Dell Latitude 820 |
Clevo D900T |
| CPU |
Duo Core 2 @ 2.16GHz |
Pentium 4 HT @ 3.0GHz |
| Memory |
2GB |
1GB |
| Chipset |
945 Mobile |
915 |
| Video |
NVIDIA Quadro NVS 110M |
NVIDIA GeForce Go 6800 |
| Disk |
Seagate 80GB SATA
7200RPM w/8MB Buffer
x1 Non-RAID |
Hitachi 60GB ATA/100
7200RPM w/8MB Buffer
x2 RAID0 |
Note: gtkperf was used with a 1000 iterations.
There are no eyebrow raisers in these numbers except for gtkperf. Orginally I had planned to use Windows XP SP2 with SPECview, but SPECview 9.0.3 would not run all the viewsets at 1680x1050 on XP. Another quirky thing about SPECview on XP is that the benchmark windows are not centered on the desktop whereas the Linux viewsets had each window perfectly centered. The Bonnie++ numbers where faster on the Clevo due to the 64k stripping of two ATA disks (RAID0).
As stated earlier, both laptops incorporate NVIDIA video adapters. I just simply downloaded the latest video driver from the NVIDIA website and manually installed on Fedora 7. Big mistake. Even though Fedora is using xorg version 1.3.0.0, just simply installing the video driver breaks the Fedora config. I only discovered this after Quake 4 was not correctly running in full screen. The desktop did not have any issues.
“If you are going to use any 3rd party proprietary drivers, please do yourself and everyone else a huge favour, and at least get your drivers from reputable 3rd party rpm package repositories such as
livna.org which packages both the nvidia and ati proprietary drivers in rpm packages which install the drivers sanely without overwriting Red Hat/Fedora supplied files”, says Mike Harris of Red Hat.
Fedora still uses the i386 architecture. The Intel 80386 was released in 1986. It shipped in volume on the Compaq Deskpro 386/16 (386 at 16MHz) in October of that year. Thats almost twenty-one years ago. I've had conversations about this on IRC and have seen some remarks from Red Hat developers themselves on this topic. Red Hat's position is that moving to a i686 architecture only gives one roughly a 1% performance improvement. However, two of the most used software packages in the Fedora GNU/Linux distro are i686, and that is glibc and the kernel. So clearly even Red Hat does take notice of the issue and compromises by taking the path of least resistance. Personally in the past with Fedora Core I have recompiled Firefox to i686 and gained a snappier application. On IRC, some tried to squelch my proclamation until others chimed in with the same experience. The real issue here is not that i686 or even the Pentium4 compromises 99% of the Fedora installs, but that moving to i686 would alienate the x86 clone market.
This x86 clone market is still alive somewhat. VIA scarfed up Cyrix and Centaur in which that IP has made it into their latest CPUs. Centaur actually still exists in Austin, Texas, just a few miles down the street from IBM where the PowerPC and XBOX 360 are designed. Transmeta, IBM, NEC and UMC have all discontinued their x86 lines. I make the argument that what's left of the x86 clone market has moved to embedded and those guys are going to roll their on GNU/Linux anyway, so there is no reason not to move to the i686 architecture. The most recent
SMOLT data supports my argument:
Ah, but there is the other argument from Fedora. They do use i686. Lets examine Fedora's rpm option flags:
optflags: i386 -O2 -g -march=i386 -mcpu=i686
The mcpu option says to generate i686 instructions. Oops, but the march says only generate instructions that are 80386. No gain here other than some marketing hype. Another reason for sticking with the i386 architecture is that the gcc emitted complier opcodes and optimizations are well known which makes debugging easier. Since Fedora feeds the commercial side of Red Hat, and Red Hat's commercial distribution is targeted for i386, we will probably never see i686 from Fedora.
If you really want a Pentium 4 distro, one can always use Gentoo. They have Pentium 4 binaries pre-compiled for install too. There is also openSUSE which is i586. The best compromise would be openSUSE and for the truly bleeding edge, Gentoo.