After being shocked, stunned and overwhelmed by the precision and speed of Arch, I ran into a brick wall over a wireless card that should, by all rights, mesh perfectly with that OS ... but wouldn't.
I blame myself for that failure; it's obviously some tweak I haven't discovered or learned, mixed with a liberal measure of Linux newbieness on the whole. Suffice to say, the card worked perfect in Ubuntu but wouldn't in Arch. And I couldn't figure out why.
Faced with a dealbreaker like that (and for me it was a dealbreaker), I started thinking ... what's the difference between a base Arch install and a Ubuntu server installation? It's a bit heavier, of course, but would it really be that noticeable? And If Ubuntu will configure the wireless card without a hitch, why not start from scratch with a Dapper server and stack packages on top of that?
I had pecked around with minimal installations a few months ago, trying to make Ubuntu an option on some very old laptops. The low memory installation methods in the wiki give some lightweight GUI options that served as my starting point.
In short, after two or three tries at minimizing the bulk, I've started with this, on top of a Dapper server installation:
That puts X into place and the core XFCE structure. I know IceWM, FluxBox and OpenBox are all faster, but I'm an XFCE fan and I get used to things in certain places. I also wanted to be able to compare it with Arch, and I had been using the xfce-svn repositories.
sudo apt-get install x-window-system-core xfce4 xfce4-terminal thunar prelink preload
Prelink and preload I found on the Xubuntu.info site, along with instructions on how to configure them.
I don't use a login manager; I just log in at the terminal screen and start the gui with
For a browser, I use Swiftfox. I find it starts and loads faster. Disabling ipv6 helps too.
In all, the results were not that different. The test machine was an old Dell Latitude CPx J750GT -- 750Mhz/512Mb/20+20Gb/ATI Rage Mobility M1.
I can't say that Ubuntu matched my startup times with Arch, but Ubuntu lagged by no more than 7-8 seconds to boot, and 2-3 seconds to start the GUI. That's acceptable to me ... when I have the added bonus of a working wireless card.
If anyone has suggestions on how to lighten the Ubuntu load, or to tweak the setup further, I'd be happy to hear them.
Edited, Sept. 23: Since I first posted this at the end of June, I've had the opportunity to collect and try a lot more tweaks that have "narrowed the gap" between Ubuntu's boot and run times, and Arch's lightning-fast delivery.
Before you get all excitable and start reformatting your drive, I should say that I still consider myself a newb, and it's possible that there are ideas here you might find worthless. Or for that matter, you might find they don't improve things at all for you. Your mileage will vary.
- Binary video drivers. This will depend on your hardware, of course. But it's probably safe to bet the nvidia drivers (or what have you) will outperform the nv drivers (or what have you).
- Tweaking ext3 file systems to get the best speed for older machines. Try the ideas here and here.
- Use a processor-specific kernel. Try this, and if you like, other parts of ubuntu_demon's excellent guide.
- Clear out unneeded services. This is time-consuming, but worth it.
- Install InitNG. I'll be honest: I couldn't get this to install, but I've heard that it works wonders.
- vm.swappiness. This is another tip from ubuntu_demon. As I understand it, if you run your machine with a relative overabundance of memory, that tweak is just a given. In the case of a stripped-down Xubuntu installation, I think it's safe to say if you have more than 96Mb, you're in good shape. (My system only needs 52Mb to boot as I described it above, and has yet to peak over 72Mb.)
- Reprofile your bootup, then tweak readahead. This will require you to install readahead first, since it's part of the default Ubuntu installations, but if you start with a server install, you didn't get it. Enter sudo aptitude install readahead in a terminal before you try the stuff jdong listed there.
These are sort of optional. They might increase your boot speed or just make things easier, but that's up to you and your hardware.
- axely says xfs is the way to go. Although for me, it slowed things down. Setting up xfs is quicker than ext3 + dir_index + journal_data_writeback + noatime, though. It's going to depend on your processor speed and your assessment of the results.
- Automatically login to XFCE without GDM (or KDM or XDM). It speeds things up when compared to straight K/X/Ubuntu, but if you're comparing things to Arch linux, you'll need to even the playing field.
- Tune Ubuntu for broadband. This won't interest you if you're not on high-speed internet. Otherwise, your Internet response times might improve.
As a final note, if you're a fellow tweaker (and I mean that in the technophile sense of the word ... not some other senses ), you might want to install bootchart early in the game. It will give you an idea of what effect your efforts are having, and provide a graphical history for your individual machine.
I almost forgot! These are some vanity packages that you might want for your new system. These don't speed things up (in some cases, they might actually slow things down ), but they're nice to have and make your system a little more attractive. I'll list them as a code line so you can cut and paste if you like.
As I mentioned a while back, you can get away without thunar, mousepad or a terminal program, but they make things sooo much easier!
sudo aptitude install tango-icon-theme-extras xscreensaver-gl-extra xscreensaver-data-extra thunar xfce4-terminal mousepad xarchiver xfce4-goodies
My next project: An Ubuntu server with the Equinox DE as the GUI and XFE for an explorer program. Yowza!
Edited, Oct. 7, 2006: Since Edgy hit beta, I've been trying to get a feel for what's changed and how that will affect these tweaks. A couple of them are considerable.
First, the new startup is far faster (from my perspective) than the startup in Dapper (which is funny, because Dapper seemed like such an improvement over Breezy). I find that there are fewer unnecessary services running than what I was seeing in Dapper (that's going to depend on your hardware, though), and it seems the start/stop procedures are more streamlined.
Second, there seems to be a change afoot with the processor-specific kernel packages. If you look at linux-686 at packages.ubuntu.com, it now suggests the 686 kernel is the "generic" installed kernel, and the option to install linux-386 is available. So for Pentium II+ (?) users, there does not seem to be a need to install a different kernel. Now remember: I'm no expert, so I could be completely wrong with that, which is why I kind of tapdanced through that last sentence.
Next, I'm withdrawing my endorsement of Swiftfox, mostly on the advice of people like Kilz who make, in my opinion, a very strong case against using it. Swiftfox isn't distributed freely and it's compiled by a third person to be installed without the option of looking at the source. While I certainly don't disrespect Jason Halme or suspect him of any wrongdoing, it's a point I often preach at Windows users -- the fact that they have no way of knowing exactly what they're installing -- and so I have to follow my own advice on that one.
Instead I've taken to installing Iceweasel, which is the GNUzilla browser created from the Firefox source code, but without stepping on Mozilla's legal toes. Oddly enough, I find it just as perky as Swiftfox, and I have the added bonus of surfing with a clear conscience.
An additional tweak that has proven very helpful was this one from jdong, who suggested running sudo e2fsck -fD /dev/hdXY from a live CD desktop. (That last part is important.) e2fsck will optimize the directories on that drive, and I've found the speed difference to be noticeable (as much as 4-5 seconds on a 1Ghz machine). Try it by booting to a live CD after you've installed your system, then issuing the command from a terminal. Remember that it's only an option if you're using ext3.
Finally, I've found it was very worthwhile to experiment with Openbox. For what I've seen, Openbox is every bit as flexible and beautiful as XFCE, and yet makes a vast improvement again over the speed of XFCE. For as fast as Xubuntu is when compared to Ubuntu, Openbox is every bit faster. I might be going out on a limb here, but if you really want to eke every last bit of speed out of your rig, you really have to try one of the *box sisters -- Openbox, Fluxbox or Blackbox (and IceWM, but that doesn't end with *box ).
Edited: Dec. 20, 2006: I should have mentioned this a while ago, but I consolidated most of these tips and tweaks into a howto for Edgy. Rather than pollute (?!) the forums with yet another post about speeding up Ubuntu, I put it on my humble blog. I know, I know: It's tacky to link to my blog, but the fact of the matter is, it's not anything you haven't already read through -- it's just reorganized into a step-by-step guide. So don't feel obliged to visit. Cheers!
Edited, Nov. 6, 2007: Wow, it seems like forever since I first wrote this thread. Things have changed a lot since Dapper. I still keep up with the changes, but for all practical purposes the tweaks and ideas are in a guide on my blog. There's still the version for Edgy, as well as Feisty and Gutsy editions. Please feel free to check them out and make suggestions. I haven't visited this thread in a long time, but I haven't suddenly stopped trying to squeeze speed out of Ubuntu either. Cheers!