What Is i686 in Linux/Unix?

Intel Celeron Mendocino 300 MHz

By Qurren (Qurren's file) [GFDL or CC-BY-SA-3.0], via Wikimedia Commons

The identifier i686 refers, broadly, to a kernel optimized to run an Intel processor using the P6 microarchitecture, commonly associated with the Pentium Pro- and Pentium M-class processors from 1995 and later. A Linux distribution for i686 supports most implementations that preceded it — for example, an i686 computer usually works just fine with i386-based distributions.

The i686 standard runs a 32-bit operating system. Specific distribution images for i686 machines prove increasingly rare after 2004.

Intel's Microarchitecture

Intel's consumer-grade processors have followed an *86 naming convention, dating back to the 8086 chip released in 1978. Later iterations included the 16-bit i286 in 1983, the 32-bit i386 in 1985, the 32-bit i486 in 1989, the i586 (the original Pentium chip) in 1993, the i686 (the Pentium Pro) in 1995 and the i786 (Pentium 4, or NetBurst) in 2000.

Since 2003, the x64 series of processors, supporting 64-bit operating systems, has grown to dominate the consumer market. The microarchitecture class names have not evolved beyond x64; Intel's present naming scheme focuses on the generation of the processor instead.

Other Architectures

Besides i686, you'll likely encounter a few other processor-specific indicators:

  • x86_64: supports Intel's 64-bit architecture
  • amd64: supports AMD's 64-bit architecture
  • arm64: supports 64-bit ARM chips

When Should I Use i686 Apps?

Your package manager will resolve the correct package for your kernel. As a rule, you'll always be able to install distribution images with kernels pre-compiled for the i386 architecture — you'll get 32-bit performance, but for Intel processors, it'll generally always work. If you're using a modern computer with a 64-bit Intel processor, picking an x86_64 image makes more sense.

You'll find incremental value in picking i686 (if it's available!) if you're running an older computer with a Pentium Pro through Pentium 3 processor, or a Pentium M processor. The i686 kernel offers some additional features that Intel baked into the processor that aren't accessible to the base i386 kernel.

If you cannot find a relevant distribution image pre-compiled for the i686 standard, you're always free to compile your own kernel from scratch.