In December last year we set out to write a series of articles evaluating
Linux distributions that provide 64-bit editions of their products. We
looked at the semi-official
Debian Sid port,
Fedora Core 3,
Gentoo Linux 2004.3,
Mandrakelinux
10.1,
SUSE
LINUX 9.2, and a development version of
Ubuntu Linux
"Hoary" to see how ready they were for their roles as graphical development
workstations. It was an interesting journey to the world of leading edge
computing. There is little doubt that the AMD64 3500+ processor we used for
testing is an incredibly powerful and fast chip that is capable of
completing many tasks a lot faster than any of the current 32-bit
processors. And while many of the popular distributions were quick in
embracing the new platform, they have done it with different degrees of
success. What follows is the summary of our observations.
First, let's make one thing clear right from the start: just because you
have bought or downloaded a Linux distribution designed for 64-bit
processors, it does not mean that it is entirely 64-bit. In fact, the
default installs of Fedora, Mandrakelinux, SUSE and Ubuntu are heavy
hybrids of 32-bit and 64-bit applications and libraries. Debian provides a
"pure" 64-bit system, but it also makes available a 32-bit compatibility
layer for installing 32-bit applications. Gentoo is, ultimately, the most
customizable of all distributions, so it's natural that one can choose
between a pure 64-bit system or a mix of the two - again, through a
compatibility layer.
Why is the 32-bit compatibility layer still needed? There are three reasons.
Firstly, the current stable version of OpenOffice.org (1.1.x) does not
compile on 64-bit processors. With its superior document conversion filters
to and from MS Office, OpenOffice.org is an essential application on any
workstation. And although it is expected that OpenOffice.org 2.0 will
compile on 64-bit platforms, the early betas still do not, or at least,
nobody has been able to build one successfully. Secondly, there are several
other open source applications that do not work on 64-bit platforms; many
of these are multimedia players and proprietary codecs. While these are not
considered essential, the fact that they are missing from many
distributions has probably contributed to the slow migration of mainstream
users to Linux. Finally, there are non-free binary-only applications that
many users and developers consider useful to have around: NVIDIA and ATI
graphics card drivers, Acrobat Reader, Opera, Real Player, Macromedia Flash
Player and perhaps a few other pieces of software. Of these, only NVIDIA
and ATI have made an effort to build 64-bit editions of their drivers (the
ATI driver is currently in beta testing).
Therefore, the challenge of distributions that provide 64-bit product is
two-fold: they not only have to compile the Linux kernel, libraries and
open source applications for the new platform (some of which might need
modifications in the source code before they compile successfully), they
also need to integrate 32-bit software into the system. As we've mentioned
already, most distributions solve the latter challenge by providing two
sets of libraries and link each application to the appropriate library.
This results in substantially increased hard disk and memory requirements -
not a big deal on a modern computer, but still a considerable overhead
compared to any 32-bit system.
Interestingly, Debian has come up with a different approach. According to
their documentation, a second system representing a minimal 32-bit Debian
can be installed into a chroot-ed folder, together with all the necessary
32-bit applications. With a few scripts or aliases, the 32-bit subsystem
can be integrated transparently into the main 64-bit system. We had great
success with this approach. As an example, web developers will find it easy
to install Opera and Flash Player into the chroot-ed subsystem and use
Opera for viewing Flash-enabled web sites. Another peculiar aspect of
Debian is the availability of two 64-bit branches, called "pure64" and
"gcc34". The applications in the "gcc34" branch are actually compiled with
a current cvs version of GCC, which will eventually become GCC 4.0 and
which is said to be able to build better-optimized 64-bit binaries. We
tried both branches, but we found the "gcc34" branch too unstable, with
frequent crashes of XFree86.
Of the distributions we tested, the current versions of SUSE LINUX and
Fedora Core turned out to be the most stable and bug-free products.
Especially SUSE was a pleasant surprise in that there is a large number of
third party repositories with 64-bit applications for it, and after
installing apt-get, it is very easy to install just about any software one
might desire. Also, the developers of SUSE have found a way to integrate
the Flash plugin with Konqueror through the DCOP communication layer
between the browser and the plugin. This option, however, does not work
with any of the Gecko-based browsers or Opera. As for Fedora Core, it also
turned out to be a very trouble-free distribution. However, we were
surprised to see that third-party repositories were not as well-populated
with 64-bit applications as those for SUSE. Also, between Fedora's two
advanced package managers, we had good success with yum, but were unable to
make apt-get work correctly.
We found both Gentoo Linux 2004.3 and the FTP edition of Mandrakelinux 10.1
more buggy than either SUSE or Fedora. This is surprising since, unlike
Debian which is officially still beta, both of them were "stable releases".
With Gentoo, several applications failed to compile, while Mandrakelinux
had an unpolished installer with many obvious errors in it, and we had much
trouble setting up sources for keeping the distribution up-to-date.
Nevertheless, none of these problems were critical, and once overcome, both
Gentoo and Mandrakelinux were solid and perfectly usable products. It is
interesting to note that of all the 64-bit distributions on the market
(besides the high-end enterprise-level offerings from Red Hat and Novell),
MandrakeSoft is the only one that does not provide freely downloadable ISO
images; those can be obtained either by joining the €120/year
Mandrakeclub or by buying it from Mandrakestore, where it sells for
€120 + shipping and handling.
As one would expect, 64-bit Linux live CDs have also started to emerge
recently. Ubuntu has done a lot of work to build a fully supported live CD
for 64-bit processors which will officially launch with the release of
Ubuntu Linux 5.04 "Hoary", expected in April this year (beta versions are
already available for download and testing). The developers of Gnoppix have also been working on a
Ubuntu-based live CD for 64-bit processors and have produced several beta
releases. If you prefer the KDE desktop, then the Knoppix-based KANOTIX project has recently produced a very
interesting live CD for 64-bit processors with some bleeding-edge hardware
detection modules. There is also Knoppix64, but this
project has been dormant since its first official release last June.
Interestingly, there are, as yet, no RPM-based live CDs for 64-bit
platforms.
Finally, if you are in the market for a new computer, should you get one
with a 64-bit processor? And once you have it, should you install a 32-bit
or a 64-bit distribution? The answer to the first question is a resounding
"yes" - AMD64 is a great processor with a large range of excellent
inexpensive motherboards now available for it. As for the second question,
the answer is a "maybe", but probably closer to a "no" for most users.
Let's be honest about it, the speed difference between a 32-bit and 64-bit
operating system is marginal at best, but all of the current 64-bit Linux
distributions add a layer of complexity by having to provide compatibility
mechanisms for those applications that have not been ported to 64-bit
systems. This extra complexity is probably not worth the hassle. That said,
there are cases where the 64-bit processor has considerable advantages: on
systems with large databases that require enormous amounts of memory, on
machines used frequently for encoding huge media files, or those designed
for heavy web serving with data compression or other intensive tasks.
And of course, there are those of us who simply can't resist the temptation
to be on the bleeding edge of hardware and software development, and who
feel that running a 32-bit operating system on a 64-bit processor is just
plain silly....
(
Log in to post comments)