# Supported Hardware

&debian; 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 a &debian; port exists, can run &debian;. Please refer to the Ports pages at for more details on &arch-title; architecture systems which have been tested with &debian-gnu;.

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

## Supported Architectures

&debian; GNU/Linux &release; supports &archnumb; major architectures and several variations of each architecture known as flavors.

Architecture | &debian; Designation | Subarchitecture | Flavor
AMD64 & Intel 64 | amd64 |  |
ARM with hardware FPU | armhf | multiplatform | armmp
64bit ARM | arm64 |  |
Power Systems | ppc64el | IBM POWER8 or newer machines |
64bit RISC-V (little-endian) | riscv64 |  |
64bit IBM S/390 | s390x | IPL from VM-reader and DASD | generic

This document covers installation for the &arch-title; architecture using the &arch-kernel; kernel. If you are looking for information on any of the other &debian;-supported architectures take a look at the &debian;-Ports pages.

This is the first official release of &debian-gnu; for the &arch-title; architecture. We feel that it has proven itself sufficiently to be released. However, because it has not had the exposure (and hence testing by users) that some other architectures have had, you may encounter a few bugs. Use our Bug Tracking System to report any problems; make sure to mention the fact that the bug is on the &arch-title; platform using the &arch-kernel; kernel. It can be necessary to use the debian-&arch-listname; mailing list as well.

&supported-amd64.xml; &supported-arm.xml; &supported-i386.xml; &supported-powerpc.xml; &supported-s390.xml;

## Laptops

From a technical point of view, laptops are normal PCs, so all information regarding PC systems applies to laptops as well. Installations on laptops nowadays usually work out of the box, including things like automatically suspending the system on closing the lid and laptop specfic hardware buttons like those for disabling the wifi interfaces (airplane mode). Nonetheless sometimes the hardware vendors use specialized or proprietary hardware for some laptop-specific functions which might not be supported. To see if your particular laptop works well with GNU/Linux, see for example the Linux Laptop pages.

## Multiple Processors

Multiprocessor support — also called symmetric multiprocessing or SMP — is available for this architecture. Having multiple processors in a computer was originally only an issue for high-end server systems but has become common in recent years nearly everywhere with the introduction of so called multi-core processors. These contain two or more processor units, called cores, in one physical chip.

The standard &debian; &release; kernel image has been compiled with SMP support. It is also usable on non-SMP systems without problems.

## Multiple Processors

Multiprocessor support — also called symmetric multiprocessing or SMP — is available for this architecture. The standard &debian; &release; 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.

Having multiple processors in a computer was originally only an issue for high-end server systems but has become common in recent years nearly everywhere with the introduction of so called multi-core processors. These contain two or more processor units, called cores, in one physical chip.

## Multiple Processors

Multiprocessor support — also called symmetric multiprocessing or SMP — is available for this architecture. However, the standard &debian; &release; kernel image does not support SMP. This should not prevent installation, since the standard, non-SMP kernel should boot on SMP systems; the kernel will simply use only the first CPU.

In order to take advantage of multiple processors, you'll have to replace the standard &debian; kernel. You can find a discussion of how to do this in kernel-baking. At this time (kernel version &kernelversion;) the way you enable SMP is to select &smp-config-option; in the &smp-config-section; section of the kernel config.

## Multiple Processors

Multiprocessor support — also called symmetric multiprocessing or SMP — is available for this architecture, and is supported by a precompiled &debian; kernel image. Depending on your install media, this SMP-capable kernel may or may not be installed by default. This should not prevent installation, since the standard, non-SMP kernel should boot on SMP systems; the kernel will simply use the first CPU.

In order to take advantage of multiple processors, you should check to see if a kernel package that supports SMP is installed, and if not, choose an appropriate kernel package.

You can also build your own customized kernel to support SMP. You can find a discussion of how to do this in kernel-baking. At this time (kernel version &kernelversion;) the way you enable SMP is to select &smp-config-option; in the &smp-config-section; section of the kernel config.

## Graphics Hardware Support

&debian;'s support for graphical interfaces is determined by the underlying support found in X.Org's X11 system, and the kernel. Basic framebuffer graphics is provided by the kernel, whilst desktop environments use X11. Whether advanced graphics card features such as 3D-hardware acceleration or hardware-accelerated video are available, depends on the actual graphics hardware used in the system and in some cases on the installation of additional firmware blobs (see hardware-firmware).

On modern PCs, having a graphical display usually works out of the box. For quite a lot of hardware, 3D acceleration also works well out of the box, but there is still some hardware that needs binary firmware blobs to work well. In some cases there have been reports about hardware on which installation of additional graphics card firmware was required even for basic graphics support.

Nearly all ARM machines have the graphics hardware built-in, rather than being on a plug-in card. Some machines do have expansion slots which will take graphics cards, but that is a rarity. Hardware designed to be headless with no graphics at all is quite common. Whilst basic framebuffer video provided by the kernel should work on all devices that have graphics, fast 3D graphics invariably needs binary drivers to work. The situation is changing quickly but at the time of the &releasename; release free drivers for nouveau (Nvidia Tegra K1 SoC) and freedreno (Qualcomm Snapdragon SoCs) are available in the release. Other hardware needs non-free drivers from 3rd parties.

Details on supported graphics hardware and pointing devices can be found at . &debian; &release; ships with X.Org version &x11ver;.

&network-cards.xml; &accessibility-hardware.xml; &supported-peripherals.xml;

## Devices Requiring Firmware

Besides the availability of a device driver, some hardware also requires so-called firmware or microcode to be loaded into the device before it can become operational. This is most common for network interface cards (especially wireless NICs), but for example some USB devices and even some hard disk controllers also require firmware.

With many graphics cards, basic functionality is available without additional firmware, but the use of advanced features requires an appropriate firmware file to be installed in the system.

On many older devices which require firmware to work, the firmware file was permanently placed in an EEPROM/Flash chip on the device itself by the manufacturer. Nowadays most new devices do not have the firmware embedded this way anymore, so the firmware file must be uploaded into the device by the host operating system every time the system boots.

In most cases firmware is non-free according to the criteria used by the &debian-gnu; project and thus cannot be included in the main distribution. If the device driver itself is included in the distribution and if &debian-gnu; legally can distribute the firmware, it will often be available as a separate package from the non-free-firmware section of the archive (prior to &debian-gnu; 12.0: from the non-free section).

However, this does not mean that such hardware cannot be used during installation. Starting with &debian-gnu; 12.0, following the 2022 General Resolution about non-free firmware, official installation images can include non-free firmware packages. By default, &d-i; will detect required firmware (based on kernel logs and modalias information), and install the relevant packages if they are found on an installation medium (e.g. on the netinst). The package manager gets automatically configured with the matching components so that those packages get security updates. This usually means that the non-free-firmware component gets enabled, in addition to main.

Users who wish to disable firmware lookup entirely can do so by setting the `firmware=never` boot parameter. It's an alias for the longer `hw-detect/firmware-lookup=never` form.

Unless firmware lookup is disabled entirely, &d-i; still supports loading firmware files or packages containing firmware from a removable medium, such as a USB stick. See loading-firmware for detailed information on how to load firmware files or packages during the installation. Note that &d-i; is less likely to prompt for firmware files now that non-free firmware packages can be included on installation images.

If the &d-i; prompts for a firmware file and you do not have this firmware file available or do not want to install a non-free firmware file on your system, you can try to proceed without loading the firmware. There are several cases where a driver prompts for additional firmware because it may be needed under certain circumstances, but the device does work without it on most systems (this e.g. happens with certain network cards using the tg3 driver).