AMD64? Why Bother?

First, for the non-technical: AMD is a company. Explaining the “64” opens a whole bucket of technical jargon, and it’s a source of confusion even (er, especially) for those who think they’re technically savvy (I don’t totally exclude myself from that group). Anyway, AMD makes a CPU (just like Intel makes CPUs), and the ones I’ve used are fine, but…


I don’t understand why otherwise intelligent people seem to be spending good, unrecoverable time fiddling with the AMD64. More specifically, I can’t imagine why anyone would buy an AMD64 machine, new, specifically for the purpose of running a Linux desktop system! If you just wanna show off that Linux can run on different hardware, put it on your (by now aging) iPaq or Zaurus. Otherwise, just wait the five years it’ll take for application developers to get around to tuning/fixing their applications to run on that architecture.

This isn’t anything new, by the way, and it’s not specific to AMD. When the first itaniums came out, even the applications that you’d really *want* to run on a 64-bit platform didn’t work. The Linux distributions that claimed to “work” on IA64 at that time didn’t, really. They were laden with 32-bit compatibility libraries, they were deathly slow, and half the stuff didn’t work right anyway.

It’s now three years or so later, and from what I’m hearing, things haven’t really improved much. Multimedia applications under Linux just plain don’t seem to work, judging by the flood of forum and mailing list postings all over the internet, which means the one application of 64-bit computing likely to benefit the end-user *today* also won’t work: games.

Games are programs. They are rather large programs which have to process a whole truckload of data on a continual basis during gameplay. Every time you move during a game, the entire world changes in the game. Your position changes, the way everything around you looks changes in relation to your movements, things come in and out of range of your weapons, things that were far away become visible through the fog (or not), things leave and enter the scenery. This is just the tip of the iceberg. It’s a lot of data to crunch. The fastest way for an application to crunch numbers is to put them into RAM. If the architecture is 64-bit, the amount of RAM that the application can address isn’t just double the 32-bit amount — it’s 32 times the 32-bit amount! I’ll spare you the details, but if you know binary, it’s not hard to figure out that double 2^32 is just 2^33, not 2^64 😉

So putting all of that extra data in RAM is far better than putting 1/32nd of it in RAM and getting the rest from disk or (gasp!) a CD. However, if the underlying multimedia layers don’t work, who cares?

Note that this is all via hearsay, but I’m hearing that NVidia and ATI have yet to produce usable video drivers for linux64 (that is, Linux on a 64-bit platform), and the audio stuff (JACK, ALSA, etc) don’t work reliably either.

We’ve come so far with desktop Linux. And I’m glad some people have the patience to do this and help it along and all, but the reasoning escapes me.

I wish them luck, nonetheless.