> For the complete documentation index, see [llms.txt](https://docs.enclaive.cloud/sylica/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enclaive.cloud/sylica/documentation/getting-started/prerequisites.md).

# Prerequisites

## Platform requirements

### Host architecture

CVMF currently targets x86-64 virtual machines.

For a conventional VM you need:

* an x86-64 Linux host with kernel 6.11 (or newer);
* KVM support;
* QEMU;
* permission to access `/dev/kvm`.

For confidential VMs, additional hardware and host support are required.

#### AMD SEV-SNP

The host must provide:

```
AMD CPU with SEV-SNP
        │
        ▼
SEV-SNP-enabled platform firmware
        │
        ▼
Linux kernel with SNP/KVM support
        │
        ▼
QEMU with SEV-SNP support
        │
        ▼
CVMF sylica-sev
```

#### Intel TDX

The host must provide:

```
Intel CPU with TDX
        │
        ▼
TDX-enabled platform firmware
        │
        ▼
Intel TDX module
        │
        ▼
Linux kernel with TDX/KVM support
        │
        ▼
QEMU with TDX support
        │
        ▼
CVMF sylica-tdx
```

CVMF does not enable SEV-SNP or TDX on a host that does not already support the corresponding technology.

## Install QEMU and tools

The examples below assume an Ubuntu or Debian-based Linux host.

Install QEMU, KVM tooling, and common utilities:

```bash
sudo apt update

sudo apt install \
    qemu-system-x86 \
    qemu-utils \
    libvirt-daemon-system \
    libvirt-clients \
    curl \
    unzip \
    zstd
```

Verify QEMU:

```bash
qemu-system-x86_64 --version
```

Verify that KVM is available:

```bash
test -e /dev/kvm && echo "KVM available"
```

You can also inspect the loaded KVM modules:

```bash
lsmod | grep kvm
```

On **AMD** hosts you should normally see:

```
kvm_amd
kvm
```

On **Intel** hosts:

```
kvm_intel
kvm
```
