2.1. Supported Hardware

Ubuntu does not impose hardware requirements beyond the requirements of the Linux kernel and the GNU tool-sets. Therefore, any architecture or platform to which the Linux kernel, libc, gcc, etc. have been ported, and for which an Ubuntu port exists, can run Ubuntu.

Rather than attempting to describe all the different hardware configurations which are supported for Intel x86, this section contains general information and pointers to where additional information can be found.

2.1.1. Supported Architectures

Ubuntu 10.04 supports three major architectures and several variations of each architecture known as flavors. Three other architectures (HP PA-RISC, Intel ia64, and IBM/Motorola PowerPC) have unofficial ports.

Architecture Ubuntu Designation Subarchitecture Flavor
Intel x86-based i386    
AMD64 & Intel EM64T amd64    
HP PA-RISC hppa PA-RISC 1.1 32
PA-RISC 2.0 64
Intel IA-64 ia64    
IBM/Motorola PowerPC powerpc PowerMac pmac
Sun SPARC sparc sun4u sparc64

2.1.2. CPU, Main Boards, and Video Support

Complete information concerning supported peripherals can be found at Linux Hardware Compatibility HOWTO. This section merely outlines the basics. CPU

Nearly all x86-based (IA-32) processors still in use in personal computers are supported, including all varieties of Intel's "Pentium" series. This also includes 32-bit AMD and VIA (former Cyrix) processors, and processors like the Athlon XP and Intel P4 Xeon.

However, Debian GNU/Linux lucid will not run on 386 or earlier processors. Despite the architecture name "i386", support for actual 80386 processors (and their clones) was dropped with the Sarge (r3.1) release of Debian[2]. (No version of Linux has ever supported the 286 or earlier chips in the series.) All i486 and later processors are still supported[3].


If your system has a 64-bit processor from the AMD64 or Intel EM64T families, you will probably want to use the installer for the amd64 architecture instead of the installer for the (32-bit) i386 architecture. I/O Bus

The system bus is the part of the motherboard which allows the CPU to communicate with peripherals such as storage devices. Your computer must use the ISA, EISA, PCI, PCIe, or VESA Local Bus (VLB, sometimes called the VL bus). Essentially all personal computers sold in recent years use one of these.

2.1.3. Laptops

Laptops are also supported and nowadays most laptops work out of the box. In case a laptop contains specialized or proprietary hardware, some specific functions may not be supported. To see if your particular laptop works well with GNU/Linux, see for example the Linux Laptop pages.

2.1.4. Multiple Processors

Multiprocessor support — also called symmetric multiprocessing or SMP — is available for this architecture. The standard Ubuntu 10.04 kernel image has been compiled with SMP-alternatives support. This means that the kernel will detect the number of processors (or processor cores) and will automatically deactivate SMP on uniprocessor systems.

The 486 flavour of the Ubuntu kernel image packages for Intel x86 is not compiled with SMP support.

2.1.5. Graphics Card Support

You should be using a VGA-compatible display interface for the console terminal. Nearly every modern display card is compatible with VGA. Ancient standards such CGA, MDA, or HGA should also work, assuming you do not require X11 support. Note that X11 is not used during the installation process described in this document.

Ubuntu's support for graphical interfaces is determined by the underlying support found in X.Org's X11 system. Most AGP, PCI and PCIe video cards work under X.Org. Details on supported graphics buses, cards, monitors, and pointing devices can be found at http://xorg.freedesktop.org/. Ubuntu 10.04 ships with X.Org version 7.5.

2.1.6. Network Connectivity Hardware

Almost any network interface card (NIC) supported by the Linux kernel should also be supported by the installation system; modular drivers should normally be loaded automatically. This includes most PCI and PCMCIA cards. Many older ISA cards are supported as well.

ISDN is supported, but not during the installation. Wireless Network Cards

Wireless networking is in general supported as well and a growing number of wireless adapters is supported by the official Linux kernel, although many of them do require firmware to be loaded. Wireless NICs that are not supported by the official Linux kernel can generally be made to work under Debian GNU/Linux, but are not supported during the installation.

The use of wireless networking during installation is still under development and whether it will work depends on the type of adaptor and the configuration of your wireless access point. If there is no other NIC you can use during the installation, it is still possible to install Debian GNU/Linux using a full CD-ROM or DVD image. Select the option to not configure a network and install using only the packages available from the CD/DVD. You can then install the driver and firmware you need after the installation is completed (after the reboot) and configure your network manually.

In some cases the driver you need may not be available as a Debian package. You will then have to look if there is source code available in the internet and compile the driver yourself. How to do this is outside the scope of this manual. If no Linux driver is available, your last resort is to use the ndiswrapper package, which allows you to use a Windows driver.

2.1.7. Peripherals and Other Hardware

Linux supports a large variety of hardware devices such as mice, printers, scanners, PCMCIA and USB devices. However, most of these devices are not required while installing the system.

USB hardware generally works fine, only some USB keyboards may require additional configuration (see Section 3.6.4, “Hardware Issues to Watch Out For”).

Again, see the Linux Hardware Compatibility HOWTO to determine whether your specific hardware is supported by Linux.

[2] We have long tried to avoid this, but in the end it was necessary due a unfortunate series of issues with the compiler and the kernel, starting with an bug in the C++ ABI provided by GCC. You should still be able to run Debian GNU/Linux on actual 80386 processors if you compile your own kernel and compile all packages from source, but that is beyond the scope of this manual.

[3] Many Debian packages will actually run slightly faster on modern computers as a positive side effect of dropping support for these old chips. The i486, introduced in 1989, has three opcodes (bswap, cmpxchg, and xadd) which the i386, introduced in 1986, did not have. Previously, these could not be easily used by most Debian packages; now they can.