# Windows dependencies (WSL)

*Don't follow this step if you plan to run BlurIt OP on Linux.* [*Go there*](/1.0.0/blurit-on-premise/installation/linux-dependencies.md) *instead.*

### Extract the BlurIt OP archive(windows only)

Extract the BlurIt OP archive with your favorite tools. In WSL you can use the same command as for Linux:

{% code lineNumbers="true" %}

```bash
tar -xzf filename.tar.gz
cd blurit-op
```

{% endcode %}

Otherwise, just use your favorite tool to extract the archive.

## Nvidia Driver installation

Download the NVIDIA driver >= 470 exe from: <https://www.nvidia.com/Download/index.aspx?lang=en-us>

You can also update the drivers using [Nvidia Geforce Experience](https://www.nvidia.com/fr-fr/geforce/geforce-experience/).

## Install WSL 2 (Windows Subsystem Linux)

To Check if WSL is installed, open PowerShell as administrator and run:

{% code lineNumbers="true" %}

```powershell
wsl -l –v
```

{% endcode %}

If WSL is not installed:

{% code lineNumbers="true" %}

```
wsl --install -d Ubuntu
```

{% endcode %}

Then reboot your machine.

It is possible to modify the resources allocated to WSL. For more information, you can refer to this link: <https://learn.microsoft.com/fr-fr/windows/wsl/wsl-config#wslconfig>.

## Docker installation

Instruction to install docker CE on windows with WSL 2 backend : <https://docs.docker.com/desktop/install/windows-install/>.

During the install don't forget to tick the Use **WSL 2 instead of Hyper-V** checkbox.

<figure><img src="/files/xmwTkuWnZ7T4cortrUC6" alt=""><figcaption></figcaption></figure>

## Docker-compose

Docker-compose version must be <= 1.29.

To enter WSL, open PowerShell and type `wsl` followed by pressing Enter.

{% code lineNumbers="true" %}

```bash
wget https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64
chmod +x docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
```

{% endcode %}

## Nvidia-docker installation

To enter WSL, open PowerShell and type `wsl` followed by pressing Enter.

{% code lineNumbers="true" %}

```bash
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && 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/$distribution/libnvidia-container.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

sudo nvidia-ctk runtime configure --runtime=docker
```

{% endcode %}

Restart Docker:

{% code lineNumbers="true" %}

```bash
sudo systemctl restart docker
```

{% endcode %}

Verify that Nvidia-Docker is installed:

{% code lineNumbers="true" %}

```bash
sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi -a
```

{% endcode %}

Look for the GPU UUID and copy the two first parts of the UID. For instance, for **GPU-45cbf7b3-f919-7228-7a26-b06628ebefa1** copy **GPU-45cbf7b3**.

### Configuring Docker daemon

Append the following JSON content on the Docker Desktop config like this:

{% code lineNumbers="true" %}

```json
{
	... # current content
	"runtimes": {
		"nvidia": {
			"path": "/usr/bin/nvidia-container-runtime",
			"runtimeArgs": []
		}
	},
	"default-runtime": "nvidia",
	"node-generic-resources": [
	    "NVIDIA-GPU=GPU-xxxxxxxx"
	]
}
```

{% endcode %}

Replace `xxxxxxxx` with the UUID you noted at [nvidia-docker section](#nvidia-docker-installation).

Restart Docker for the change to take effect.

{% code lineNumbers="true" %}

```bash
sudo systemctl restart docker
```

{% endcode %}


---

# 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-op.blurit.io/1.0.0/blurit-on-premise/installation/windows-dependencies-wsl.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.
