154

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"

Warren Pena
  • 2,075

12 Answers12

106

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."

Eliah Kagan
  • 117,780
Marco Ceppi
  • 48,101
56

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.

Bryce
  • 4,710
  • The Flash thing is the biggest drawback for me so far. I have a desktop with a 2.4GHz dual core 64-bit CPU, 4GB RAM, and an NVidia 8800GTX graphics card. My other machine is a 1.2 GHz single core 32-bit machine with 1GB ram and ATI Mobility Radeon graphics. Guess which one renders Flash video more quickly? The difference is only detectable in full-screen... but the 1400x900 screen on the desktop has an unusable framerate, while the 1280x1024 screen on the laptop is nice and smooth. Go figure. – koanhead Oct 08 '10 at 06:51
  • 2
    Java applets (and java browser games) are not working in 64 bit also. At least on my system. – Extender Oct 12 '10 at 02:41
  • 1
    Extender, are you sure you have the icedtea6-plugin installed to get applets working in the browser? Does appletviewer work for you? – Steve Beattie Nov 05 '10 at 05:41
  • 2
    The last point (about memory addresses) can be addressed on 32bit with PAE (http://en.wikipedia.org/wiki/Physical_Address_Extension). At least for me, Ubuntu automatically installed the PAE kernel when it realized I had 4GB of RAM during Ubuntu installation. – Matthew Nov 20 '10 at 00:25
  • 4
    It's not Java that use more memory on 64bit system, it's any program as pointers are 2x bigger on 64 than on 32bit. Java can use much more memory on 64bit, but you might want it. 32bit Java is limited to ~1.2GB on Windows and a bit more on Linux ~1.5GB (as far as I remember). On 64bit Java, you can address much more memory, if you need 3GB for your data, then use Java 64bit. It's not a problem it's a feature ;-) you can always use Java 32bit on a 64bit system, it's really stable too and does not consume more memory, but you get the limitations... – Huygens Dec 17 '10 at 22:41
  • 1
    @Bryce - everybody talks about less than 4 GB RAM or more that 4GB. What if I have exactly 4GB RAM? Can I still use 32bit version and not to care about "losing RAM" ? – Kiril Kirov Apr 28 '11 at 19:34
  • @Kiril, "less than or equal to" :-) – Bryce Oct 20 '11 at 00:40
  • @Bryce: there is a native 64-bit Flash library now (adobe-flashplugin). Perhaps your answer needs to updated? – Lekensteyn Oct 28 '11 at 16:06
  • Note, that PAE allows OS to address up to 64GB using 36-bit addresses, but processes still use 32-bit virtual memory pointers, thus a single process can have at most 4GB. Not that that would matter in normal circumstances. – vartec May 30 '12 at 12:17
11

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.

8

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.

dv3500ea
  • 37,204
6

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."

5

I ran some tests to compare 32 vs 64 bit configurations on various applications on a couple of sample machines (small memory Atom based netbook) and a typical laptop. I compared memory usage, power consumption for the following:

  1. 32 bit kernel, 32 bit userspace
  2. 64 bit kernel, 32 bit userspace
  3. 64 bit kernel, 64 bit userspace

Data: http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

The bottom line is that for small systems, 32 bit is a good fit, where as if you have enough memory and you have a modern 64 bit capable CPU, then 64 bit is suitable. But there is more detail in the spreadsheet than than simple summary.

I also ran some tests comparing 32 bit, 32 bit pae and 64 bit a while ago, here are the results:

http://kernel.ubuntu.com/~cking/power-benchmarking/blueprint-foundations-p-64bit-by-default/hpmini-and-x220-tests/results-3/results.txt - see the conclusions at the end for a overall summary.

4

At same time Ubuntu Wiki says the opposite:

Unless you have specific reasons to choose 32-bit, we recommend 64-bit to utilise the full capacity of your hardware.

https://help.ubuntu.com/community/32bit_and_64bit

Eugene
  • 41
2

64 bit is only really useful if you have more than 4 gigs of RAM. If you use the 64 bit system, eventually you will run into a situation where a driver or even a program is not available in 32 bits. Adobe pulled its 64 bit Flash for a while. Canon printer drivers are only available in 32 bit (but can be force installed). I used both 64 and 32 bit systems, and found that 64 bit did not provide me any advantages (both ran at the same speed as far as I could tell).

2

I wrote the last Launchpad Bug #585940 description myself a long time ago and the only thing I can say I have been unable to discover why is there so much misinformation around this topic.

I think the most probable answer is the 64-bit edition is much more buggy than the 32-bit one, since this is what my own experience of only using Ubuntu in my daily life suggests. On the other hand this is only speculation since I have not performed a formal comparison between editions.

As far I'm able to work well enough using it I simply choose to use the 64-bit edition because is the one I want to be improved, since in time it will clearly be the best option and it will be here before we have noticed. By then I want us people being using a complete stable distribution.

2

Use to, most computers where 32bit. Now most newer CPU's is 64bit. And 32bit is compatiable with both versions.

alexander7567
  • 170
  • 1
  • 10
1

The reason is that there are still lots of 32-bit processors in production now, and most computer users do not know what 32-bit and 64-bit are.

If someone with 32-bit computer(s) downloads the 64-bit version, it is very certain that it will not run on his/her computer(s) because 32-bit processors cannot understand and handle 64-bit commands. However, if someone with 64-bit computer(s) downloads and uses the 32-bit version, it works because 64-bit arch is backwards-compatible to 32-bit.

One more issue is that 32-bit software demands less hardware power.

Update: As of 13.10, Ubuntu Download page now recommends the 64-bit download and offers the 32-bit option "for machines with less than 2GB RAM". This is because most computing devices that could potentially have Ubuntu installed on today are 64-bit, and only devices with less than 2GB RAM may contain a 32-bit CPU.

0

Any modern CPU is capable of running 64 bit. Both Intel and AMD, even a older AMD sempron supports single core 64bit.

If You don't need memory hungry applications then there is no need to go 64bit. I have 16GB ram and sure 64 bit , 32bit would be a stupid move. Counts also for windows 7 en 8.

Stefaan C
  • 9
  • 1