We got Linux distributions for geeks (Debian), distros for businessmen (Red Hat), home users (Mandrake) and… Germans (SuSE :). However, there was never before a distribution specifically targetting developers and speed, both at the same time. Enter Gentoo Linux, the fastest loading, fastest-operating Linux distribution to date.
Gentoo is a source-based distro, which means that the user should compile everything from scratch in order to get a working installation. It requires a fast internet connection and lots of patience. Installation should normally take quite some hours, depending on the speed of your computer, but the Gentoo guys also offer a 110 MB i686-pre-compiled image that includes the basic software needed to boot Gentoo. The only thing that it doesn’t come pre-compiled is of course the actual kernel, which must be configured manually by the user.
To keep the long story short, Gentoo’s installation process is definately not for Unix or Linux newbies. While the installation page at Gentoo.org is very self-explanatory, there are still several bugs during the installation process (I personally stumped on a kernel/ACPI bug, while GRUB just wouldn’t see any of my IDE drives at all, and had to “emerge” and install LILO) and overall the whole process is slow and at least “sensitive” to user errors. On the bright side, when the system downloads the source for the kernel, it also downloads a special big Gentoo kernel patch that applies automatically, which includes several patches, like the preemptive patch, XFS support, BFS support and other goodies that are not part of the standard stock kernel.
After the basic configuration had finished, I rebooted and, with a single command “emerge kde”, Gentoo fetched off the web KDE and all its dependancies (XFree, assosiated libraries etc). And then, I left the machine compiling everything from source (with the optimization flags on), and I went to sleep. The time was already 1 AM. Next morning, the compilation had finished and I was ready to really use the machine as a workstation.
After you get everything working the way you want to, you definetely get a feeling of accomplishment, plus the speed that comes when you compile the whole system with the i686 -O3 GCC (optimization) flags.
In my time, I have tried quite a number of Linux distributions, including Red Hat, Mandrake, Corel, SuSE, and recently Lycoris, among others. However, none of them was able to boot faster than one minute or so. Gentoo boots in 19 seconds on my aged dual Celeron 533 Mhz, and what is amusing is that I have installed Gentoo on my “ancient” Fujitsu 10.4 GB hard drive (bought in 1998), while most the other distros I mentioned above were installed on the almost twice faster IBM 75GXP 30 GB IDE drive.
I installed KDM as the display manager, because simply editing the rc.conf (acording to instructions) for the window manager of my choice it didn’t work for me. Typing ‘startx’ was always loading twm, regardless of the rc.conf file. After installing KDM, I chose KDE, and indeed KDE 3.0 loaded. Since then I have also successfully installed WindowMaker, XFCE, Oroborus, BlackBox and IceWM.
Gentoo certainly feels faster than the other distributions, but not under KDE. KDE 3 is just slow for me, with the No 1 slow application being Konqueror. Building KDE 3 from source and with optimization flags certainly helped, but the popular X11 environment is slower than its predessesors in responsiveness (even with bleeding edge kernel patches trying to fight for exactly that). Instead of saying that “KDE 3 is faster under Gentoo,” I will have to rephrase that to be “KDE 3 is less slow under Gentoo than on other distros.”
KDE 3’s general UI responsiveness may be truly bad, but loading times are much better under Gentoo. Konqueror loads in 3 seconds (first load), and open a subsequent window in 1-2 seconds. Under Mandrake with (objprelinked) KDE 2 or 3, it takes 6 seconds to open a Konqueror window and 3-4 seconds to open a new window. And Mandrake is installed on a much faster drive…
You truly realise Gentoo’s speed though under a faster environment, like XFCE, BlackBox or WindowMaker. Everything is snappy, and file operations are also fast with the use of the XFS file system. Snappy for a Linux, that is. FreeBSD 4.5 has proved for me to be a bit faster than Gentoo in general usage, plus on loading and shutdown times (16 and 2 seconds respectively as opposed to Gentoo’s 19 and 16 seconds – still faster than any other Linux distro I know though).
The other great feature you can find on Gentoo is devfs, which is supported by default, and it really helps greatly on system management. For example, mounting alien partitions or specifying audio drivers for apps like MPlayer, is now a piece of cake.
Gentoo’s biggest advancement and also biggest problem is its package manager.
Portage is the package system for Gentoo, written from scratch in Python. It is a system similar to both Debian’s apt-get and FreeBSD’s ports system. You can synchronize your database to the main repository (there are about 1450 applications to choose from currently), and then just type, for example “emerge mozilla,” and it will download mozilla and all its dependancies needed, untar them, build them and install them for you automatically. If a binary package is available, by using –usepkg, it will try to find the equivelant binary instead of the source, so that can save you some compilation time possibly in expense of speed. A GUI front end of Portage is currently being built by Yannick Koehler (older BeOS users will remember Yannick from his major contributions in the dawn of the BeOS Mozilla port).
Yes, with a single command of two words, you can download and automatically build and install X and KDE or Gnome. Problem is that some of the packages that are available for download are not well tested. In less than 4 days, Portage managed to download .ebuilds that simply did not work (KOffice 1.1.1), .ebuilds that contained wrong scripts (XFCE), .ebuilds that created libraries with unresolved symbols that did not link (cdparanoia), some terminals inherite the correct $PATH (Konsole) while others (xterm, rxvt) only use the default fail-safe one, early beta versions of libraries (id3lib) that break compatibility with software that linked with them (xtunes), corrupted portage packages (ghostscript, xmlib2), and more.
My main gripe with the Portage system is that the packages that become available to the main repository are not well tested under Gentoo. I would be much happier if I knew for sure that these developers are asked and pass qualifications testing for their .ebuilds before they add them for public consumption.
Some OSNews readers were discussing the other day on our forums why should they use Gentoo over the also i686-optimized CRUX or Debian or Slackware or any other source-based distro. While CRUX is i686 optimized and it includes a similar package system (pkgutils), it does not have the vast support behind it to create many packages for its users and as far as I know, it does not include any additional kernel patches. Debian also has a good package system, but is compiled by default for i386 (slower) and it is far from bleeding edge, in fact, Debian is pretty conservative. As for Slackware, well, I tried over the past few months to find out about their status, and they don’t seem to either have public relations people or care for marketing, or perhaps they have simply given up. They never returned my press requests. [Update: It seems that the Slackware guys have released “silently” 8.1-beta2 just two days ago.]
So, Gentoo’s advantages are speed, custom bleeding edge kernel/app-base and a good package system. On its downside, you will find the steep learning curve of having to maintain everything “by hand,” quite a number of bugs lying around everywhere in the system, including some security concerns (some are already addressed with the release of Gentoo 1.1a a few days ago). However, if you are a power user or developer who does not afraid of the command line but is determined to squash every little bit of your CPU cycles, then go for Gentoo. If you are an absolute newbie, Lycoris may be a better Linux option for you, while if you are still in “training” mode to soon become a power user, Red Hat, Mandrake or SuSE may be more appropriate.
Whatever you decide to do though, always keep an eye on Gentoo’s developments. Especially if you hear the news that Gentoo has moved completely to Gcc 3.x, then go for it, full speed.
Hardware Support: 10/10
Ease of use: 6/10
Speed: 9/10 (UI responsiveness, latency, throughput)
Overall: 8.2 / 10