Why does Ubuntu Download recommend 32-bit install? [closed]
Update for 13.10: 64-bit version is now the default and 32-bit is labelled "for machines with less than 2GB RAM"
The Ubuntu desktop download screen has a pair of radio buttons you use to select whether you wish to download the 32-bit or 64-bit version. The 64-bit version is labeled "Not recommended for daily desktop usage." If you have a 64-bit processor, why would you not want to use the 64-bit version of Ubuntu?
Update for 10.10: They've removed the "Not recommended" label from the 64-bit version and added a "Recommended" label to the 32-bit version.
Update for 11.04: Same as 10.10.
Update for 12.04: Still says "Recommended" next to 32-bit version of desktop
Update for 12.10: 32-bit version of desktop is still default, says "recommended"
Update for 13.10: 64-bit version is now the default and 32-bit is labelled "for machines with less than 2GB RAM"
This is actually just a mis-wording of sorts. According to LaunchPad Bug #585940 It's meant to convey that typical desktops are 32-bit whereas more recent desktops are 64-bit. Since the 32bit install will always work on both 32bit and 64bit machines it remains "recommended."
I used to use 64bit Ubuntu on my desktop, and 32bit on my laptops. For the most part I saw no differences, but there were some small niggles:
As mentioned above, Flash historically hasn't been very well supported on 64bit. I didn't think I'd care about this, but actually this was a fairly major annoyance for me. I ended up using the 32bit version of flash, manually installed. Recently Adobe has put out a 64-bit Flash, so possibly this is a thing of the past (I haven't tested it yet).
Java (and other software) on 64bit uses more memory, and this can have some performance impacts. I don't use much java so haven't really experienced this issue but guess it's pretty well known.
It used to be that a lot more people ran 32bit than 64, so once and a while you'd run into a 64-bit specific problem that would tend to take a long time to get fixed. This has gotten a LOT better in recent years though, but for someone that really wants everything to Just Work, you might prefer 32-bit.
64bit means that memory pointers can address higher amounts of memory. If your system has 4gig or more of RAM memory, and you use apps that need lots of RAM, that can be a reason for using 64bit. However, in recent years the PAE kernels for i386 have become standard, and these do permit addressing >4gig.
If you're a developer and you run 64-bit, you can build both 32-bit and 64-bit executables fairly easily (e.g. with pbuilder). Building 64-bit binaries on 32-bit seems not possible (well, at least not without jumping through some hoops).
[Update 12.04] Just recently I've reinstalled the amd64 version of 12.04, and find it a lot better than it was when I originally wrote the above. I've not tested Java but Flash is definitely working as well as it had on 32bit. Also, completely anecdotally but it seems like people are running 64-bit more often than 32-bit these days.
One disadvantage to running the 32bit version non-PAE kernel is that your processes aren't protected with the CPUs non-executable (NX) bit, which can make it easier for attackers attempting to exploit flaws in software. See the Security Team's Features discussion on it for more details. In recent Ubuntu releases, there's an emulation mode, but it's of limited effectiveness.
Also, the randomization space available for things like Address Space Layout Randomization (ASLR) is much, much smaller when using 32 bits, potentially to the point of being brute forcible.
As far as I know, 64-bit works fine, with the exception that some people have had problems with Adobe Flash.
Also, a 64-bit operating system will not work on a 32-bit PC but a 32-bit operating system will work on a 64-bit PC. This is probably the reason behind this warning (although it could be worded better).
The Ubuntu community wiki post on the subject recommends using 64-bit Ubuntu if you have a 64-bit pc and no specific reason not to use 64-bit.
There are limitations to 32-bit cannot access much more than 3GB of RAM (although this problem is addressed with the PAE kernels) but 64-bit has no problem here. If you have >3GB of RAM, consider using 64-bit.
I assume that the main reason is this: the 32-bit version works on pretty much every single PC and Mac in circulation currently, so if you don't have any idea what 32-bit and 64-bit mean, you should just download the 32-bit version and install it, and it will just work. And if someone doesn't have any idea about the difference between the 32- and 64-bit versions, it;s unlikely that they're going to be doing anything where the difference has any observable effect.
In other words, for the 64-bit version, you have to figure out whether your system supports it. For the 32-bit version, you don't. It works on "everything."