У меня Surface Book 2 с GTX 1050 GPU, я хочу использовать эту графическую карту при запуске моей виртуальной машины macOS. Я много искал, но не нашел удовлетворительного ответа. Я не хочу передавать управление GPU моей виртуальной машине, я просто хочу использовать его так же, как используется Intel GPU. Я пытался настроить VirtualBox в панели управления Nvidia, но это единственная программа, которая не отображается, это заставило меня задуматься, нужен ли мне API.
Спасибо за вашу помощь!
решение1
Это заставило меня задуматься, нужен ли мне API.
Как конечному пользователю VirtualBox вам не нужен API.
Я хочу использовать видеокарту во время работы виртуальной машины macOS.
Поддержка VirtualBox PCI Passthrough, которая необходима для ваших целей, весьма ограничена и имеет определенные требования к оборудованию.
Модуль PCI passthrough поставляется как пакет расширения VirtualBox, который необходимо установить отдельно. См.Раздел 1.5, «Установка VirtualBox и пакетов расширений»Чтобы получить больше информации.
По сути, эта функция позволяет гостю напрямую использовать физические устройства PCI на хосте, даже если у хоста нет драйверов для этого конкретного устройства. Поддерживаются как обычные PCI, так и некоторые карты PCI Express. AGP и некоторые карты PCI Express в настоящее время не поддерживаются, если они полагаются на программирование блока GART (Graphics Address Remapping Table) для управления текстурами, поскольку оно выполняет довольно нетривиальные операции с переназначением страниц, мешая IOMMU. Это ограничение может быть снято в будущих выпусках.
Для полной функциональности поддержка PCI passthrough в VirtualBox зависит от аппаратного блока IOMMU, который пока не слишком широко доступен. Если устройство использует bus mastering (т. е. выполняет DMA в память ОС самостоятельно), то требуется IOMMU, в противном случае такие транзакции DMA могут записывать по неправильному адресу физической памяти, поскольку механизм DMA устройства запрограммирован с использованием специфичного для устройства протокола для выполнения транзакций памяти. IOMMU функционирует как блок трансляции, сопоставляющий запросы на доступ к физической памяти от устройства, используя знание гостевого физического адреса с правилами трансляции физических адресов хоста.
Решение Intel для IOMMU позиционируется как "Технология виртуализации Intel для направленного ввода-вывода" (VT-d), а решение AMD называется AMD-Vi. Поэтому, пожалуйста, проверьте, есть ли в техническом описании вашей материнской платы соответствующая технология. Даже если на вашем оборудовании нет IOMMU, некоторые карты PCI могут работать (например, последовательные адаптеры PCI), но гостевая система выдаст предупреждение при загрузке, и выполнение виртуальной машины прекратится, если гостевой драйвер попытается включить управление шиной карты.
Я не хочу передавать управление графическим процессором своей виртуальной машине, я просто хочу использовать его так же, как используется графический процессор Intel.
Чтобы достичь желаемого, вам придется отказаться от контроля, это факт.