# Checking for TPM 2.0

> Cartoo will not run without a TPM 2.0 module. How to check whether your laptop has one, and how to turn it on.

Cartoo requires a **TPM 2.0** module on the machine it runs on. Without it the
app will not start. Check this before you go out to a vehicle — not after.

Most laptops made since 2016 have TPM 2.0, but on many of them it ships
**disabled in the UEFI firmware**, so "not found" usually means "switched off",
not "absent".

## Fastest check

Press <kbd>Win</kbd> + <kbd>R</kbd>, type `tpm.msc`, press <kbd>Enter</kbd>.

![Windows Run dialog with tpm.msc typed in the Open field](../../../../assets/shared/tpm-run-dialog.png)

The TPM Management console opens. Two places matter: **Status** near the top,
and **Specification Version** in the bottom row.

![TPM Management console: Status reads "The TPM is ready for use", Specification Version reads 2.0](../../../../assets/shared/tpm-msc.png)

- **"The TPM is ready for use"** and, under *TPM Manufacturer Information*,
  **Specification Version: 2.0** — you're fine.
- **Specification Version: 1.2** — the module is too old. It cannot be upgraded.
- **"Compatible TPM cannot be found"** — either disabled in the UEFI, or absent.
  Go to [Turning it on](#turning-it-on).

## From a terminal

Useful when you need the answer in a script or over a remote session.

`tpmtool` ships with Windows and prints everything in one go:

```powershell
tpmtool getdeviceinformation
```

<!-- Source: Wikimedia Commons, "TPMTOOL GetDeviceInformation with TPM 2.0 on
     Windows 11 screenshot", by VulcanSphere. Public domain. -->

![tpmtool getdeviceinformation output showing TPM Present: True and TPM Version: 2.0](../../../../assets/shared/tpm-tpmtool.webp)

The two lines that matter are `TPM Present: True` and `TPM Version: 2.0`.
(`TPM Spec Version` further down is a different number — the revision of the
2.0 specification the chip implements. Ignore it.)

PowerShell has its own cmdlet:

```powershell
Get-Tpm
```

Look at three fields: `TpmPresent : True`, `TpmReady : True`, and
`ManufacturerVersion`. To read the spec version directly:

```powershell
Get-CimInstance -Namespace root/cimv2/security/microsofttpm -ClassName Win32_Tpm |
  Select-Object -ExpandProperty SpecVersion
```

The output starts with `2.0` on a good machine.

## From the Windows UI

**Settings → Privacy & security → Windows Security → Device security →
Security processor → Security processor details.** *Specification version*
must read 2.0.

If the *Security processor* section is missing from that page entirely, the
TPM is disabled in firmware.

## Turning it on

The setting lives in the UEFI, and vendors all name it differently:

- **Intel** — *Intel Platform Trust Technology*, or *Intel PTT*
- **AMD** — *AMD fTPM*, or *AMD Platform Security Processor*
- **Generic** — *Security Device Support*, *TPM Device*, *Trusted Computing*

Reboot, enter the UEFI (usually <kbd>F2</kbd>, <kbd>Del</kbd>, or <kbd>F10</kbd>
during startup — the vendor's splash screen names the key), find the setting
under a *Security* or *Advanced* tab, enable it, save and exit.

:::caution
On a machine that already has BitLocker enabled, changing TPM settings can put
the drive into recovery. Have the BitLocker recovery key on hand before you
touch the UEFI.
:::

Then re-run the `tpm.msc` check above. If it still finds nothing, the laptop
has no TPM 2.0 and cannot be used to run Cartoo.