Home Explore Blog Models CI



docker

content/manuals/desktop/features/wsl/custom-kernels.md
7b9c17831cb0cbb33bace9e450372fd18d02b64ecbf877190000000300000583
---
title: Custom kernels on WSL 
description: Using custom kernels with Docker Desktop on WSL 2
keywords: wsl, docker desktop, custom kernel
tags: [Best practices, troubleshooting]
---

Docker Desktop depends on several kernel features built into the default
WSL 2 Linux kernel distributed by Microsoft. Consequently, using a
custom kernel with Docker Desktop on WSL 2 is not officially supported
and may cause issues with Docker Desktop startup or operation.

However, in some cases it may be necessary
to run custom kernels; Docker Desktop does not block their use, and
some users have reported success using them.

If you choose to use a custom kernel, it is recommended you start
from the kernel tree distributed by Microsoft from their [official
repository](https://github.com/microsoft/WSL2-Linux-Kernel) and then add
the features you need on top of that.

It's also recommended that you:
- Use the same kernel version as the one distributed by the latest WSL2
release. You can find the version by running `wsl.exe --system uname -r`
in a terminal.
- Start from the default kernel configuration as provided by Microsoft
from their [repository](https://github.com/microsoft/WSL2-Linux-Kernel)
and add the features you need on top of that.
- Make sure that your kernel build environment includes `pahole` and
its version is properly reflected in the corresponding kernel config
(`CONFIG_PAHOLE_VERSION`).


Chunks
180c9e9b (1st chunk of `content/manuals/desktop/features/wsl/custom-kernels.md`)
Title: Custom Kernels on WSL with Docker Desktop
Summary
Docker Desktop relies on specific kernel features in Microsoft's WSL 2 Linux kernel. While using custom kernels is not officially supported and may cause issues, it is possible. It is recommended to start with Microsoft's kernel tree, use the same kernel version as the latest WSL2 release, start from the default kernel configuration, and ensure the kernel build environment includes `pahole` with the correct version.