Добавление видеокарты AMD в VMware: от настройки PCI-passthrough до установки драйверов

Виртуализация графических адаптеров — одна из самых сложных задач при работе с виртуальными машинами, особенно если речь идёт о дискретных видеокартах AMD. В отличие от интегрированной графики или виртуальных GPU, физическое подключение дискретной видеокарты к гостевой ОС в VMware требует глубокой настройки как хостовой системы, так и самой виртуальной машины. Основная технология, позволяющая это сделать — PCI-passthrough (прямое подключение PCI-устройства), но её реализация сопряжена с рядом нюансов: от поддержки виртуализации на уровне CPU до корректной работы драйверов AMD в гостевой ОС.

Многие пользователи сталкиваются с проблемами при попытке "пробросить" видеокарту Radeon или Radeon Pro в виртуальную машину: чёрный экран после загрузки, ошибки драйверов, падение производительности или полный отказ системы. Причины могут крыться в неправильных настройках VMware ESXi/Workstation, отсутствии поддержки IOMMU в BIOS, конфликтах с хостовой видеокартой или устаревших версиях ПО. В этой статье мы разберём пошаговый процесс добавления видеокарты AMD в VMware, начиная с проверки совместимости оборудования и заканчивая тонкой настройкой драйверов для максимальной производительности.

⚠️ Внимание: Процедура PCI-passthrough может привести к нестабильной работе хостовой системы, если видеокарта AMD является основной (используется для вывода изображения). Рекомендуется использовать отдельный GPU для хоста (например, интегрированную графику Intel или вторую дискретную карту).

1. Требования к оборудованию и ПО

Прежде чем приступать к настройке, убедитесь, что ваше оборудование и программное обеспечение соответствуют минимальным требованиям. Без этого добавление видеокарты AMD в виртуальную машину VMware будет невозможно или приведёт к критическим ошибкам.

Основные аппаратные требования:

  • 🖥️ Процессор с поддержкой виртуализации (VT-d для Intel или AMD-Vi для AMD). Большинство современных CPU (начиная с Intel Core i3/i5/i7 2-го поколения и AMD Ryzen) поддерживают эту функцию, но она может быть отключена в BIOS.
  • 🔌 Материнская плата с поддержкой IOMMU (включает в себя VT-d/AMD-Vi). Уточните спецификации модели на сайте производителя — некоторые бюджетные платы могут не поддерживать проброс PCI-устройств.
  • 🎮 Видеокарта AMD на архитектуре GCN 1.0 или новее (например, Radeon RX 5000/6000, Radeon Pro WX). Карты старше HD 7000 могут некорректно работать в виртуальной среде.
  • 🖱️ Отдельная видеокарта для хоста (опционально, но рекомендуется). Если вы используете AMD как основную карту, после проброса хост останется без видеовыхода.

Программные требования:

  • 📀 VMware ESXi (версия 6.7 или новее) или VMware Workstation Pro (версия 15+). Бесплатная VMware Workstation Player не поддерживает PCI-passthrough.
  • 🖥️ Гостевая ОС: Windows 10/11 или Linux (дистрибутивы с ядром 5.0+). Для macOS потребуются дополнительные патчи.
  • 🔧 Драйверы AMD для гостевой ОС. Для Windows скачивайте последние версии с официального сайта, для Linux — пакеты amdgpu или amdgpu-pro.
⚠️ Внимание: Настройки BIOS и поддержка IOMMU могут отличаться в зависимости от модели материнской платы. Если в вашем BIOS нет явного пункта AMD-Vi или VT-d, проверьте раздел Advanced → CPU Configuration или обновите прошивку.

2. Настройка BIOS: включение виртуализации и IOMMU

Первый и самый критичный шаг — активация технологий виртуализации на уровне BIOS. Без этого VMware не сможет получить доступ к видеокарте AMD для проброса в виртуальную машину. Процесс может незначительно отличаться в зависимости от производителя материнской платы (ASUS, Gigabyte, MSI и др.), но общая логика сохраняется.

Инструкция по настройке BIOS:

  1. Перезагрузите компьютер и войдите в BIOS, нажав Del, F2 или другую клавишу (указано на экране загрузки).
  2. Найдите раздел, связанный с виртуализацией. Обычно он называется:
    • Advanced → CPU Configuration
    • OC → CPU Features (для ASUS)
    • M.I.T. → Advanced Frequency Settings (для Gigabyte)
  • Активируйте следующие опции:
    • 🔹 SVM Mode (для AMD) или Intel VT-x (для Intel) — базовая поддержка виртуализации CPU.
    • 🔹 IOMMU (может называться AMD-Vi или VT-d) — необходимо для проброса PCI-устройств.
    • 🔹 Above 4G Decoding — важно для совместимости с современными видеокартами (включите, если есть).
    • Сохраните настройки (F10) и перезагрузитесь.
    • После применения настроек проверьте, корректно ли включена виртуализация. В Windows это можно сделать через Диспетчер задач → Производительность → CPU (должен отображаться пункт "Виртуализация: включено"). В Linux выполните команду:

      dmesg | grep -i "iommu"

      Если вывод содержит строки вроде AMD-Vi: IOMMU enabled или DMAR: IOMMU enabled, настройка прошла успешно.

      📊 Какую материнскую плату вы используете?
      ASUS
      Gigabyte
      MSI
      ASRock
      Другая

      3. Подготовка хостовой системы (Windows/Linux)

      Перед настройкой VMware необходимо подготовить хостовую ОС. Это включает в себя отключение драйверов видеокарты AMD (если она используется хостом), настройку групп IOMMU и, при необходимости, установку дополнительных утилит.

      Для Windows-хоста:

      Если видеокарта AMD в данный момент используется хостовой системой, её нужно "отдать" виртуальной машине. Для этого:

      1. Откройте Диспетчер устройств (Win + X → Диспетчер устройств).
      2. Найдите вашу видеокарту в разделе Видеоадаптеры.
      3. Щёлкните правой кнопкой и выберите Отключить устройство. Подтвердите действие.
      4. Перезагрузитесь (обязательно!). После перезагрузки карта не будет использоваться хостом.

      Для Linux-хоста:

      В Linux процесс сложнее, так как требуется ручная настройка групп IOMMU. Выполните следующие шаги:

      1. Установите утилиты для работы с PCI:
        sudo apt install pciutils
      2. Проверьте группы IOMMU:
        sudo dmesg | grep -i "iommu group"

        или

        ls -l /sys/kernel/iommu_groups/*/devices/ | grep "VGA\|3D"
      3. Найдите идентификатор вашей видеокарты AMD (например, 1002:67DF для Radeon RX 5700).
      4. Добавьте параметры ядра для изоляции карты. Откройте файл /etc/default/grub и найдите строку GRUB_CMDLINE_LINUX_DEFAULT. Добавьте в неё:
        amd_iommu=on iommu=pt video=efifb:off

        Для Intel используйте intel_iommu=on.

      5. Обновите конфигурацию GRUB и перезагрузитесь:
        sudo update-grub
        

        sudo reboot

      ⚠️ Внимание: Если после перезагрузки хостовая система не загружается (чёрный экран), вероятно, видеокарта AMD была основной. Подключите монитор к другой видеокарте (например, интегрированной) или откатите изменения в BIOS.

      4. Настройка VMware для проброса видеокарты AMD

      Теперь переходим к конфигурации самой VMware. Процесс отличается в зависимости от используемой версии: ESXi (серверное решение) или Workstation Pro (десктопная версия). Мы рассмотрим оба варианта.

      Для VMware ESXi:

      ESXi предоставляет более гибкие инструменты для PCI-passthrough, но требует доступа к веб-интерфейсу или SSH.

      1. Войдите в веб-интерфейс ESXi (https://[IP-адрес]).
      2. Перейдите в Host → Manage → Hardware → PCI Devices.
      3. Найдите вашу видеокарту AMD в списке и нажмите Toggle Passthrough. Статус должен измениться на Active.
      4. Создайте новую виртуальную машину или отредактируйте существующую. В настройках VM добавьте новое устройство PCI Device и выберите вашу видеокарту.
      5. Включите опцию Reserve all guest memory (All locked) в настройках VM, чтобы избежать проблем с памятью.

      Для VMware Workstation Pro:

      В десктопной версии процесс проще, но требует прав администратора и корректно настроенного хоста.

      1. Откройте VMware Workstation и выберите виртуальную машину (или создайте новую).
      2. Перейдите в VM → Settings → Add → PCI Device.
      3. В списке доступных устройств выберите вашу видеокарту AMD. Если она не отображается, проверьте настройки BIOS и драйверы хоста.
      4. Включите опцию Reserve memory for better performance.
      5. В разделе Display установите Accelerate 3D graphics в положение Off (видеокарта будет управлять графикой самостоятельно).

    После применения настроек запустите виртуальную машину. Если всё настроено правильно, гостевая ОС должна определить новую видеокарту как физическое устройство.

    Проверено включение IOMMU в BIOS

    Видеокарта отключена в хостовой ОС

    VMware обновлён до последней версии

    В настройках VM включён PCI-passthrough

    Зарезервирована память для гостевой ОС-->

    5. Установка драйверов AMD в гостевой ОС

    После успешного проброса видеокарты в виртуальную машину остаётся последний шаг — установка драйверов. Без них карта будет работать в базовом режиме VGA с минимальной производительностью. Процесс отличается для Windows и Linux.

    Для Windows:

    Скачайте последние драйверы с официального сайта AMD, выбрав модель вашей видеокарты. Установка стандартная, но есть нюансы:

    1. Запустите загруженный установщик (например, amd-software-adrenalin-edition-23.40.01-minimal.exe).
    2. Выберите Custom Install и снимите галочки с ненужных компонентов (например, AMD Link или Radeon Software, если они не требуются).
    3. После установки перезагрузите виртуальную машину.
    4. Проверьте работу драйвера в Диспетчере устройств (не должно быть восклицательных знаков рядом с видеокартой).
    5. Для Linux:

      В большинстве дистрибутивов драйвер amdgpu уже включён в ядро, но может потребоваться его активация и настройка.

      1. Проверьте, загружен ли драйвер:
        lsmod | grep amdgpu
      2. Если модуль не загружен, загрузите его вручную:
        sudo modprobe amdgpu
      3. Для проприетарного драйвера amdgpu-pro (рекомендуется для профессиональных задач) выполните:
        sudo apt install vulkan-amdgpu-pro amdgpu-pro-dkms

        (для Ubuntu/Debian).

      4. Проверьте работу OpenGL/Vulkan:
        glxinfo | grep "OpenGL renderer"

        Должно отобразиться название вашей видеокарты AMD.

      Критическая информация: Если после установки драйверов в Windows виртуальная машина падает в синий экран (BSOD) с ошибкой VIDEO_TDR_FAILURE, причиной может быть конфликт с виртуальным GPU VMware. Решение — отключить 3D-ускорение в настройках VM (Display → Accelerate 3D graphics → Off).

      6. Оптимизация производительности и устранение проблем

      Даже после успешного проброса видеокарты AMD в VMware вы можете столкнуться с низкой производительностью, артефактами или нестабильной работой. Рассмотрим основные способы оптимизации и решения типичных проблем.

      Проблемы и решения:

      Проблема Возможная причина Решение
      Чёрный экран при загрузке VM Конфликт с хостовой видеокартой или неправильные настройки IOMMU Отключите основную карту в хосте или проверьте группы IOMMU в Linux (dmesg | grep -i iommu)
      Низкий FPS в играх/рендере Недостаточно выделенной памяти или CPU для VM Выделите не менее 4 ядер CPU и 8 ГБ RAM, включите CPU Performance Counters в настройках VM
      Ошибка Code 43 в Диспетчере устройств Windows VMware не передаёт корректные идентификаторы устройства Добавьте в .vmx-файл VM строки:
      hypervisor.cpuid.v0 = "FALSE"
      

      mce.enable = "TRUE"

      Артефакты или мерцание экрана Несовместимость драйверов или недостаток видеопамяти Обновите драйверы, выделите больше VRAM в настройках VM или уменьшите разрешение экрана

      Оптимизация для игр и рендеринга:

      • 🎮 Выделение ресурсов: Для игр выделите виртуальной машине не менее 4 ядер CPU и 16 ГБ RAM. Видеопамять (VRAM) должна соответствовать физическому объёму на карте (например, 8 ГБ для RX 6800).
      • Настройки CPU: Включите Expose hardware-assisted virtualization to the guest OS в настройках VM для лучшей производительности.
      • 🖥️ Производительность диска: Используйте NVMe или SSD для хранения виртуальной машины — это снизит задержки при загрузке текстур.
      • 🔄 Обновления: Регулярно обновляйте VMware Tools и драйверы AMD. Для Linux-гостей проверяйте актуальность ядра и Mesa.

    7. Альтернативные методы: GPU-PV и SR-IOV

    Если стандартный PCI-passthrough не подходит (например, из-за ограничений оборудования), рассмотрите альтернативные подходы:

    GPU Partitioning (GPU-PV):

    Технология GPU-PV (или MxGPU для AMD) позволяет разделять физический GPU между несколькими виртуальными машинами. Это решение поддерживается на серверных видеокартах AMD, таких как Radeon Pro V340 или Instinct MI-series. Основные плюсы:

    • 🔹 Поддержка нескольких VM на одной карте.
    • 🔹 Более стабильная работа по сравнению с PCI-passthrough.
    • 🔹 Официальная поддержка со стороны AMD и VMware.

    Минусы: требует специализированного "железа" и лицензий VMware vSphere.

    Single Root I/O Virtualization (SR-IOV):

    SR-IOV — стандарт виртуализации, позволяющий делить одно PCI-устройство на несколько виртуальных функций (Virtual Functions, VF). Некоторые видеокарты AMD (например, Radeon Pro SSG или Instinct) поддерживают SR-IOV, но настройка сложнее, чем у NVIDIA. Для активации:

    1. Проверьте поддержку SR-IOV в спецификациях вашей карты.
    2. Включите SR-IOV в BIOS материнской платы (опция может называться SR-IOV Support).
    3. В VMware ESXi добавьте параметр pciPassthru.use64bitMMIO=TRUE в конфигурацию хоста.
    4. Настройте виртуальную машину для использования VF вместо полного проброса PF (Physical Function).
    5. ⚠️ Внимание: SR-IOV для потребительских видеокарт AMD (серии Radeon RX) официально не поддерживается. Попытки активации могут привести к нестабильной работе или повреждению данных.
      Поддерживает ли моя видеокарта AMD SR-IOV?

      Список карт с поддержкой SR-IOV ограничен профессиональными и серверными моделями. Среди них:

      - AMD Radeon Pro V340 (до 16 VF)

      - AMD Instinct MI25/MI50/MI100 (до 32 VF)

      - AMD Radeon Pro SSG (экспериментальная поддержка)

      Потребительские карты (например, RX 6000 или RX 7000) не поддерживают SR-IOV. Для них доступен только PCI-passthrough.

      8. Безопасность и ограничения

      Проброс видеокарты AMD в виртуальную машину открывает новые возможности, но также накладывает ограничения и риски. Рассмотрим ключевые аспекты безопасности и производительности.

      Ограничения:

      • 🚫 Нет поддержки SLI/CrossFire: Виртуальные машины не могут объединять несколько GPU в массивы. Каждая VM получит доступ только к одной карте.
      • 🚫 Ограниченная поддержка DirectX 12/Vulkan: В некоторых конфигурациях могут возникать ошибки при запуске современных игр (например, Cyberpunk 2077 или Alan Wake 2).
      • 🚫 Нет аппаратного кодирования видео: Функции AMD AMF (для стриминга) могут не работать в виртуальной среде.
      • 🚫 Зависимость от хостовой ОС: При обновлении хоста (например, Windows) может потребоваться повторная настройка проброса.

      Риски безопасности:

      • 🔓 Уязвимости драйверов: Драйверы AMD в гостевой ОС могут содержать уязвимости, которые теоретически позволяют атаковать хостовую систему через PCI-устройство.
      • 🔓 Конфликты с античитом: Некоторые античит-системы (например, Easy Anti-Cheat или BattleEye) блокируют запуск игр в виртуальных машинах, обнаруживая проброс GPU.
      • 🔓 Потеря данных: Некорректное отключение VM с проброшенной картой может привести к повреждению файловой системы гостевой ОС.

    Чтобы минимизировать риски:

    • 🔹 Регулярно обновляйте VMware и драйверы AMD.
    • 🔹 Используйте отдельный физический диск для виртуальных машин с проброшенным GPU.
    • 🔹 Настройте автоматическое создание снимков (Snapshots) перед критическими операциями.
    • 🔹 Для игр отключите ненужные службы в гостевой ОС (например, Windows Defender или Superfetch).
    • FAQ: Частые вопросы

      Можно ли пробросить видеокарту AMD в VMware на ноутбуке?

      Технически возможно, но крайне не рекомендуется. Ноутбуки редко поддерживают IOMMU на уровне BIOS, а интегрированная графика часто жёстко привязана к системе. Кроме того, проброс GPU на ноутбуке может привести к перегреву из-за ограниченного охлаждения. Исключение — некоторые игровые ноутбуки с AMD Radeon и разблокированным BIOS (например, Lenovo Legion или ASUS ROG), но даже в этом случае стабильность не гарантирована.

      Почему после проброса видеокарты AMD в VMware Windows показывает ошибку Code 43?

      Ошибка Code 43 возникает, когда Windows Detects, что устройство работает в недопустимой конфигурации (в данном случае — в виртуальной машине). Чтобы исправить это:

      1. Откройте файл конфигурации VM (.vmx) в текстовом редакторе.
      2. Добавьте следующие строки:
        hypervisor.cpuid.v0 = "FALSE"
        

        mce.enable = "TRUE"

        pciPassthru0.msiEnabled = "FALSE"

      3. Перезагрузите VM и установите драйверы вручную (через Диспетчер устройств → Обновить драйвер).

    Если ошибка остаётся, попробуйте использовать модифицированные драйверы (например, от сообщества DDU).

    Какую версию VMware лучше использовать для проброса GPU: ESXi или Workstation?

    Выбор зависит от ваших задач:

    • VMware ESXi подходит для серверных решений, когда нужна высокая стабильность и поддержка нескольких VM с проброшенными GPU. Минусы: требует выделенного сервера и лицензии для полноценной работы.
    • VMware Workstation Pro удобнее для домашнего использования, но имеет ограничения:
      • Нет поддержки SR-IOV.
      • Меньше опций для тонкой настройки PCI-passthrough.
      • Производительность может быть ниже из-за накладных расходов десктопной виртуализации.
    • Для большинства пользователей Workstation Pro будет достаточным вариантом.

    Можно ли использовать проброшенную видеокарту AMD для майнинга в VM?

    Технически да, но есть нюансы:

    • 🔹 Производительность: Хэшрейт в VM будет на 5–15% ниже, чем на физической машине, из-за накладных расходов виртуализации.
    • 🔹 Стабильность: Длительные нагрузки могут привести к падению VM или хостовой системы (особенно если охлаждение не рассчитано на 100% нагрузку).
    • 🔹 Драйверы: Некоторые майнинг-программы (например, TeamRedMiner или