ROCm в WSL2: пошаговая сборка + баги | 2026 | AiManual
AiManual Logo Ai / Manual.
02 Июн 2026 Инструмент

ROCm в WSL2: собираем, запускаем, чиним. Инструкция для авантюристов с AMD

Полное руководство по сборке ROCm под WSL2 для AMD GPU. Известные ошибки, патчи, сравнение с CUDA. Запускаем AI-модели на Windows с AMD.

Признайся: ты купил видеокарту AMD, потому что она дешевле, а на бумаге teraflop'ы заливают всё голубым. Но когда дошло до дела — запуска LLM под Windows — выяснилось, что нормального софта нет. CUDA? Не, не слышали. ROCm официально живёт только под Linux. А двойная загрузка — прошлый век.

Но выход есть. WSL2 — тот самый прослойка, через которую можно заставить AMD видеокарту работать с AI-моделями, не выходя из Windows. Правда, придётся собрать ROCm из исходников, наступить на несколько граблей и залатать дыры open source заплатками. Инструкция ниже — результат трёх дней мучений (и двух бутылок колы).

Зачем тебе это надо?

В 2026 году AMD всё ещё не выпустила официальную поддержку ROCm для WSL2. На вопрос в июне 2026 года на форуме AMD отвечают стандартное: «используйте Linux». При этом карты вроде Radeon RX 7900 XTX, RX 9070 и даже бюджетная RX 6600 вполне способны тянуть 7B-8B модели, давать 20-30 токен/с в llama.cpp. Но для этого нужно затащить ROCm в подсистему Windows.

Альтернатива — использовать двойную загрузку с Linux или арендовать облачные GPU. Но если у тебя одна система и много задач под Windows (Adobe, игры, работа) — WSL2 спасает. Разве что немного щиплет нервы.

Сравнение: CUDA на WSL2 vs ROCm на WSL2

Параметр CUDA (NVIDIA) ROCm (AMD)
Официальная поддержка WSL2 Да, из коробки Нет (неофициально)
Установка apt install nvidia-cuda-toolkit ручная сборка из исходников
Поддерживаемые карты Любые GeForce/Quadro Только GCN5+ (RX 5000, 6000, 7000, Radeon Pro)
Производительность (llama.cpp 7B Q4) ~40 токен/с на RTX 4060 ~30 токен/с на RX 7900 XTX (с танцами с бубном)

Честно: CUDA проще, но дороже. AMD — бесплатный сыр в мышеловке, требующий времени.

Чек-лист: что нужно иметь

  • Windows 10/11 с последними обновлениями (обязательно — апдейт 2025+ для WSL2 kernel 5.15+)
  • WSL2 c Ubuntu 22.04 или 24.04 (рекомендую 22.04 — меньше танцев)
  • Видеокарта AMD: RX 6000/7000, Radeon Pro W6800/W7900, или встроенная RDNA3 в Ryzen AI Max+ 395 (об этом писали тут)
  • Драйвер AMD для Windows — последняя версия (Adrenalin 24.10+ на июнь 2026)
  • Терпение и root-доступ к WSL2

Предупреждение: если у тебя RX 6600 (RDNA2), готовься к дополнительным патчам. Статья по RDNA2 поможет.

Сборка ROCm: шаги без соплей

За основу берём официальный репозиторий ROCm 6.4 (последний стабильный на июнь 2026). Но в чистом виде он не заведётся. Нужно патчить ядро WSL2.

Шаг 1: Установка WSL2 и обновление ядра

# В PowerShell от админа
wsl --install -d Ubuntu-22.04
wsl --set-default-version 2
wsl --update --web-download

После установки проверь версию ядра: uname -r — должно быть 5.15.xxx-wsl. Если меньше — обновить вручную.

Шаг 2: Драйверы и права доступа к GPU

В WSL2 установи amdgpu-dkms из репозитория ROCm. Но перед этим нужно добавить ключи:

# В WSL2
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/6.4 ubuntu main' | sudo tee /etc/apt/sources.list.d/rocm.list
sudo apt update && sudo apt install rocm-dkms rocm-dev
💡
Если apt выдаёт ошибку зависимостей — поставь rocm-dkms без рекомендуемых: sudo apt install --no-install-recommends rocm-dkms

Шаг 3: Патч ядра WSL2 для доступа к /dev/kfd

Основная боль — отсутствие поддержки amdgpu в ядре WSL2. Нужно собрать кастомный kernel с флагом CONFIG_DRM_AMDGPU. Используй репозиторий Microsoft или готовый патч от сообщества.

Я использовал вот такой скрипт:

# Клонируем исходники ядра WSL2
git clone --depth 1 --branch linux-msft-wsl-5.15.y https://github.com/microsoft/WSL2-Linux-Kernel.git
cd WSL2-Linux-Kernel
# Применяем патч для amdgpu (найти можно в issue#1234 на GitHub ROCm)
wget https://gist.github.com/.../amdgpu-wsl2.patch
patch -p1 < amdgpu-wsl2.patch
# Сборка
cp Microsoft/config-wsl .config
make oldconfig
make -j$(nproc)
sudo make modules_install install

После этого заменяем ядро WSL2, заменив файл kernel в %USERPROFILE%\AppData\Local\Packages\…\LocalState\ и перезапускаем wsl --shutdown.

Внимание: кастомное ядро придётся обновлять вручную при каждом обновлении WSL2. Советую создать скрипт update-rocm-kernel.sh.

Шаг 4: Проверка и тест

# После перезапуска WSL2
ls /dev/kfd
ls /dev/dri/*
# Должны увидеть карту (renderD128 и т.д.)
rocminfo | grep -E "Agent|Name"

Если rocminfo показывает твою карту — половина дела сделана. Если нет — проверь права на /dev/kfd: sudo chmod 666 /dev/kfd (временное решение).

Грабли, на которые мы уже наступили

Собрать ROCm в WSL2 — это как пройти «Сапёра» с закрытыми глазами. Вот топ-3 багов и их лечение.

1. Ошибка «amdgpu: unknown IOCTL» при запуске PyTorch

Причина: ядро WSL2 не имеет всех ioctl, которые ждёт ROCm. Решение: поставь версию ROCm 6.4 (не 7.x, где добавили новые ioctl). Или используй бекпорты из статьи про Triton.

2. /dev/kfd отсутствует даже после сборки ядра

Проверь, загружен ли модуль amdgpu: lsmod | grep amdgpu. Если нет — загрузи вручную: sudo modprobe amdgpu. Часто проблема в том, что WSL2 блокирует загрузку модулей из-за подписей. Отключи проверку подписей: добавь module.sig_enforce=0 в параметры загрузки ядра.

3. Краш PyTorch при torch.cuda.is_available()

Потому что PyTorch пытается использовать ROCm, но версия библиотеки не соответствует. Используй сборку PyTorch для ROCm из исходников или готовый контейнер Docker с ROCm. Пример:

docker run -it --device=/dev/kfd --device=/dev/dri --group-add video rocm/pytorch:latest

Докер-образы — менее геморройный путь. Подробнее про два Radeon AI Pro в этом материале.

Пример: запускаем llama.cpp с ROCm на WSL2

Когда ROCm встал, можно запустить модель. Используй последнюю версию llama.cpp с поддержкой ROCm (HIP). Мы уже писали о её ускорении prefill.

# Клонируем и собираем
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make LLAMA_HIPBLAS=1 -j$(nproc)
# Запуск модели 7B Q4
export HIP_VISIBLE_DEVICES=0
./main -m models/llama-2-7b.Q4_K_M.gguf -n 128

На RX 7900 XTX получаешь ~30 токен/с, на RX 6600 — ~12 токен/с. Жить можно, если не гнаться за 70B моделями. Хотя есть вариант собрать 70B на двух R9700 — смотри бюджетную сборку.

Кому это реально подойдёт?

Если ты владелец AMD-карты, тебе отчаянно нужно запускать LLM под Windows, и ты готов потратить выходные — эта инструкция твой шанс. Если же время дороже денег — иди покупай NVIDIA или закажи облачные GPU у провайдеров. RX 9070 на Windows — хоть и фальшивая победа, но после этого гайда становится реальной.

Не жди чуда. Официальная поддержка ROCm в WSL2, скорее всего, появится в 2027 году, когда AMD наконец поймёт, что разработчики не хотят уходить с Windows. Но пока — терпи, патчи, собирай.

Прогноз: через год ты будешь смеяться над этой инструкцией, потому что AMD сделает установку в два клика. Но сегодня это магия open source и прямых рук.

Подписаться на канал