# Installation on Windows

{% hint style="warning" %}
Support for Windows 10 is experimental, due to limited CUDA/GPU support.
{% endhint %}

{% hint style="info" %}
**Setup Support 🤝**

We are happy to help you with setting up Celantur Container. Please contact your sales representative.
{% endhint %}

It is possible to run Celantur Container on Windows with WSL (Windows Subsystem for Linux). NVIDIA provides an [official documentation](https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-started) to set up the software dependencies.

Please make sure your system fulfills the requirements:

{% content-ref url="/pages/EI1j9oaVaBMiMiibxYp0" %}
[Requirements](/container/requirements-and-installation/requirements.md)
{% endcontent-ref %}

**Alternatively**, you can [install Windows and Ubuntu](https://opensource.com/article/18/5/dual-boot-linux) on a separate partition on the same machine:

1. Create a [bootable USB](https://ubuntu.com/tutorials/create-a-usb-stick-on-windows#1-overview) or [bootable DVD](https://ubuntu.com/tutorials/burn-a-dvd-on-windows#1-overview)
2. Follow the [official step-by-step installation tutorial](https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview)

## Steps

### 1. Install Nvidia driver

Install the newest version of  [Nvidia Driver](https://www.nvidia.com/Download/index.aspx) for your GPU.

### 2. Install Windows Subsystem for Linux

Install [Windows Subsystem for Linux (WSL 2)](https://docs.microsoft.com/en-us/windows/wsl/install) with `wsl --install -d Ubuntu`.

If you receive following error `Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/HCS_E_SERVICE_NOT_AVAILABLE`, you need to enable virtualisation in command line with:

```sh
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestart
```

On Windows 10, you might need to [update the Linux kernel](https://learn.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package).

Check that you can access the NVIDIA driver *from within WSL 2* by opening WSL and entering `nvidia-smi`. You should see detailled information about the GPU.

### 3. Install Docker Desktop

Install [Docker Desktop on Windows](https://docs.docker.com/desktop/setup/install/windows-install/).

**Activate** Docker WSL 2 integration, by checking "Use WSL 2 based engine" in the settings.

<figure><img src="/files/MiA2bwGWXvOYoiY4doFT" alt=""><figcaption><p><strong>Activate</strong> Docker WSL 2 integration, by checking "Use WSL 2 based engine" in the settings.</p></figcaption></figure>

### 4. Install Nvidia Container Runtime

Install [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) within WSL. (Start WSL with `wsl`)

```bash
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
```

### 5. Restart Docker

Click "Restart Docker..." in the context menu of the Docker icon in your taskbar's notification area.

### 6. Test CUDA container

Test that the setup is correct by running:

```bash
docker run --rm --gpus all nvidia/cuda:12.8.1-base-ubuntu22.04 nvidia-smi
```

## Deploy Celantur Container

Please refer to [Installation on Linux](/container/requirements-and-installation/installation-on-linux.md#deploy-celantur-container) in our Linux section. The Windows deployment process is the same for Linux.

### Troubleshooting: CUDA is not available.

If you receive "ERROR: CUDA ist not available!", upgrading the Docker engine might resolve it.  &#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.celantur.com/container/requirements-and-installation/installation-on-windows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
