Vmware не видит видеокарту
Добрый день, сразу скажу, я не специалист IT, поэтому пишу за помощью сюда. Может ли кто нибудь подсказать, возможно ли используя VMware 6.7.0 использовать одновременно одну видеокарту на нескольких компьютерах? Опишу все более подробно. Мне нужно использовать Solidworks для этого у меня есть неплохой стационарный комп, и мне хотелось бы разделить этот комп на несколько рабочих компов используя его как сервер и используя VMware, и все вроде ничего, я запустил VMware, поделил оперативку, поделил ядра процессора, но (как в песни "но вот беда, последняя монета..))") видеокарта работает только на одном компьютере. можно ли поделить ее вычислительные возможности? Оговорюсь сразу, есть еще одна видеокарта, точнее она еще в пути, если первая обычная R7 250, то вторая TESLA K80 двухпроцессорная, может если первою нельзя делить, то хоть вторую, поделить на два компа, по процессору на каждый? или это не реально? Может есть какие нибудь другие видеокарты, которые способны делиться?
Буду крайне признателен за помощь.
Vadim
Случайный прохожий
NanoSuit
Специалист
Добрый день, сразу скажу, я не специалист IT, поэтому пишу за помощью сюда. Может ли кто нибудь подсказать, возможно ли используя VMware 6.7.0 использовать одновременно одну видеокарту на нескольких компьютерах? Опишу все более подробно. Мне нужно использовать Solidworks для этого у меня есть неплохой стационарный комп, и мне хотелось бы разделить этот комп на несколько рабочих компов используя его как сервер и используя VMware, и все вроде ничего, я запустил VMware, поделил оперативку, поделил ядра процессора, но (как в песни "но вот беда, последняя монета..))") видеокарта работает только на одном компьютере. можно ли поделить ее вычислительные возможности? Оговорюсь сразу, есть еще одна видеокарта, точнее она еще в пути, если первая обычная R7 250, то вторая TESLA K80 двухпроцессорная, может если первою нельзя делить, то хоть вторую, поделить на два компа, по процессору на каждый? или это не реально? Может есть какие нибудь другие видеокарты, которые способны делиться?
Буду крайне признателен за помощь.
Почетный гость
Zayac
Случайный прохожий
хм, можете просветить ? Чисто любопытно для себя каким образом? Вдруг пригодится..
Прошу помочь в решении проблемы с "пробросом" видеокарты в гостевую OS X. Хостовая система - Windows 10. При подключении образа виртуалки в программе VMwere Workstation все работает без нареканий, но жутко "лагает".
Моя конфигурация:
Подскажите пожалуйста что можно предпринять в данной ситуации? Может нужен другой софт? Или лучше поменять местами системы, к примеру Windows 10 запускать как виртуалку из OS X?
Думал уже устанавливать отдельно каждую из систем на SSD, без всяких виртуалок. Но SSD нет, а без него у меня получасовая перезагрузка.
Буду очень признателен за помощь.
Средний 7 комментариев
vmware tools установлены в os x? ускорение включено в настройках вирт машины?
"Может нужен другой софт?"
parallels mac умеет 3d ускорение в госте windows.
А у вас 4 видеокарты? Оно вообще может работать по отдельности? Просто если была бы видеокарта одна, пробросив ее в виртуалку вы лишитесь возможностью ей пользоваться из хоста.
123459: Сейчас рассматриваю Ваш совет по программе parallels mac. Возник пока только один вопрос: будут ли игры нормально функционировать в такой связке?
Анатолий Талугин: если хотите проверить - сделайте образ вашей текущей системы, сохраните его на другой диск. поставьте хакинтош и проверьте parallels
Мною была установлена связка Хакинтош+Parallels+Windows 10. При одновременной работе этой связки лаги конечно есть, но без Parallels все работает без лагов. С учетом моего железа, хакинтошем доволен.
Вам нужно убедиться, что ваша плата поддерживает технологию VT-d. Это раз.
Два. Чтобы пробросить видеокарту в гостя, на хосте она должна быть отключена. Т. е. Хост у вас остаётся без монитора. В случае хоста с виндой, вам, скорее всего, придётся брать вторую видеокарту, ибо, я сомневаюсь, что винда, как линукс, может просто так взять и выгрузить драйверы видео, оставшись при этом функционировать и потом обратно их подгрузить.
Если плата поддерживает технологию, то проще поставить линукс с kvm и в нём придётся пошаманить с детачем всех модулей, которые используют видео-драйвер. При этом ещё нужно будет одно устройство, чтобы дебажить это дело по ssh, когда монитор проброшен на гостя, который не запустился :D
В скором времени планируется покупка нового ПК. Скажите, если поставить вторую видеокарту, можно будет ее пробросить в VMwere Workstation?
Анатолий Талугин: я не спец по виртуализации в винде, но в линусе без проблем пробрасывается всё, при наличии VT-d и, соответственно, IOMMU. Но, думаю, в винде всё тоже должно быть нормально. На ESXi народ пробрасывает, вроде, а насчёт Workstation не в курсе, гуглите.
123459: kvm умеет скрывать присутствие гипервизора стандартными способами. Можно его пропатчить, чтобы вообще нельзя было ничего понять о его наличии, даже косвенно.
Раньше никогда не сталкивался с гипервизорами так близко, максимум до чего доходили руки - RDP и VirtualBOX; однако желание сварганить свой сервер с /блекджеком и шлюзами/ возможностями iSCSI и PCI-passthrough(конечно ради игр и NAS на тонком клиенте, хотя 1C сервер мне тоже необходим), взяло верх над разумом, и я начал копать в эту сторону.
Первая мысль, которая пришла мне в голову - Windows Server. Развернуть пару Hyper-V машин, или воспользоваться RemoteFX, казалось мне хорошей идеей. Сервер был развёрнут, машины запущены, и, внезапно, я упёрся в ограничение в 1Гб выделяемой клиенту видеопамяти, чего явно недостаточно для игрух.
Второй мыслью был XenServer, о котором я услышал на предыдущем месте работы. Прогуглив на эту тему, я понял что интерфейс там не самый интуитивный, а по функционалу он уступает некоему ESXi. Вот его я и решил развернуть на своём Windows Server 2016. Вот только оказалось что это ни разу не "приложение для виртуалок", как Hyper-V, а вполне себе самостоятельная ось, и виндовый сервачок как раз нужно ставить как виртуальную машину на базе этого самого ESXi(о том, что существует VMware Workstation я узнал только сегодня). Должно быть, VMware Workstation, мне подходит больше - потому как оставляет возможность использовать сервер локально - но ни времени, ни желания на переустановку всей системы у меня нет. А теперь к вопросу.
Пытаюсь пробросить видеокарту 1050ti в виртуальную машину Windows 10 Enterprise, развёрнутую на гипервизоре VMware ESXi.
Материнская плата MSI z370 Gaming Plus;
Процессор Intel core i5 8600K;
Оперативная память G.Skill Ripjaws F4-3200C16Q-16GVKB;
Видеокарта ASUS GeForce GTX 1050ti STRIX OC;
SSD Samsung 970 Pro m.2.
Покурив мануалы и прогуглив пару последних дней, нашёл несколько инструкций как провести сию заманчивую операцию с видеокартами потребительского класса.
Найти подходящий клиент было нелегко, может, есть где-то статья о продуктах виртуализации не на уровне "Я сделал, смотрите какие скриншоты с разных систем в окошке RDP", или хвалящих определённый продукт без подробного описания его, и конкурентов, преимуществ? Надо помочь начинающим админам разобраться как выбрать подходящий им гипервизор, и его компоненты, какие они бывают в целом; коротко, по сути, и о подводных камнях! :)
1) Ошибка при одновременном включении вложенной виртуализации(Expose hardware assisted virtualization to the guest ОS) и установке видеокарты(у кого-то так работает, у кого-то нет);
2) Ошибка при установке драйвера видеокарты. Самая главная. Исталлятор говорит что установка на эту систему невозможна.
3) Ошибки при попытке пропатчить инсталлятор NVIDIA, скрипт исполняется, выдаёт ошибки, но не создаёт пропатченный exe'шник в папке назначения.
В процессе настройки наткнулся на несколько полезных статей, в основном, англоязычных.
Гостевая машина устанавливалась на версии ESXi 6.5, версия виртуальной машины - 13. Потом было выполнено обновление до 6.7, но ошибки были и в версии 6.5.
ID видео- и аудио- чипов
passthru.map
видеокарта определена и включена возможность проброса
видеокарта определена в диспетчере устройств
явных ошибок не указано
но стандартный драйвер не устанавливается
аналогичная ситуация с драйвером с сайта NVIDIA
патч драйвера исполняется с ошибками
конфигурационный файл
включен EFI
настройки виртуальной машины
добавление видеокарты при включенной вложенной виртуализации
и ошибка, возникающая при этом
Данная статья написана нашим читателем Lord_Alfred и выложена к нам чуть измененной копией с его блога.
Вся эта статья целиком и полностью описывает мой многострадальческий опыт в попытках (в итоге, к счастью, успешный) пробросить видеокарту в убунту и установить там драйверы nvidia и cuda toolkit. Я потратил несколько дней и несчетное количество переустановок ubuntu, пока набросал для себя некоторый “план” по установке с описанием и ссылками откуда была взята информация. Специально для тех, кто решит сделать тоже самое (или просто захочет поставить драйвера для gtx на убунте) — я переписал всё в читаемый вид и опубликовал эту статью, чтобы вы смогли потратить не 3 дня на это, а всего лишь несколько часов. Для удобства — ссылки на источники отмечены квадратными скобками, поэтому если у вас что-то пойдет “не так”, то вы сможете посмотреть откуда я взял ту или иную команду.
Вывод изображения с GPU на монитор из Ubuntu для хоста ESXi 6.5
К слову, я не уверен, но скорее всего для запуска бенчмарков для проверки FPS и просто замера мощности карты — скорее всего нужно тоже делать хак, описанный в этом разделе, т.к., например, ранее в Windows Server 2012R2 (когда она стояла просто на сервере, без ESXi) после подключения видеокарты и установки на неё драйверов — FurMark и ещё какой-то бенчмарк отказались работать, сказав, что «не могут найти устройство» (подключение к винде было через RDP). Не знаю что они имели ввиду: видеокарту или монитор — скорее всего второе, т.к. другой софт вроде GPU-Z отлично видел видеокарту и показывал по ней все параметры.
Возвращаясь опять к вопросу вывода экрана с GPU на монитор в убунте [18] — нужно произвести некоторые шаги:
Но! Здесь, в конце, следует предостеречь вас от одной досадной оплошности. При использовании вывода изображения через видео-карту на монитор — VMRC и простая консоль в ESXi не будут работать — то есть теперь там не будет изображения с гостевой ОС (будет просто черный экран).
К тому же, взаимодействие с ОС будет происходить через мышь и клавиатуру, через которые вы работаете в VMRC, поэтому скорее всего предварительно — нужно позаботиться о том, чтоб прокинуть во внутрь Ubuntu клавиатуру и мышь, которые подключены непосредственно к серверу с ESXi.
Выводы
Установить драйвера nvidia для видеокарты под Ubuntu, да и ещё если она является виртуалкой — не тривиальная задача. К счастью, большинство вопросов уже были на стековерфлоу и форуме разработчиков nvidia, поэтому гугл спас всю затею. Конечно, если бы я в итоге отказался от использования гипервизора (и просто поставил бы хостом Ubuntu, а из неё бы гостем грузил Windows), то попал бы в такую же западню, но чуть проще. Не знаю почему большинство моментов не учтено в самом инсталляторе, т.к. даже если просто ставить драйвера прямиком из GUI убунты, то можно словить “login loop” (когда падают Иксы и не дают залогиниться в систему — у меня было такое в одну из первых попыток).
Большинство вещей описано в “nVidia CUDA Installation Guide for Linux” [4], но кто в наше время читает 50 страничные мануалы перед установкой? 🙂 Но даже если его прочитать “от корки до корки”, то некоторые моменты вызовут сомнения и захочется попробовать установить тулкит без удаления свежего ядра и установки старого.
Установка CUDA Toolkit 9.1 (вместе с драйвером nVidia) на Ubuntu 16.04
Конечно, частично этот раздел должен включать в себя и некоторые действия из предыдущего, но для упрощения и уменьшения количества шагов — все написано так, как написано 🙂
Проверка корректности установки драйвера и CUDA Toolkit
После перезагрузки и входа в пользователя необходимо проверить корректность установки драйверов и тулкита, т.к. если где-то что-то пошло не так и вы этого не заметили (или это каким-либо образом не отобразилось) — всё насмарку.
Открываем терминал и выполняем следующие шаги [15]:
Если в результате всё прошло без ошибок — можно считать, что всё успешно установлено и вам далее можно пользоваться этой виртуальной машиной с видеокартой как душе угодно 🙂 Но есть пару тонких моментов, которые я решил выделить в несколько отдельных разделов.
Изменение разрешения экрана в Ubuntu для ESXi 6.5
Естественно, работать через VMRC с разрешением (screen resolution) 800х600 крайне некомфортно, а в настройке экранов в убунту (Параметры системы → Настройка экранов → Разрешение) максимальное возможное значение всего 1360×768, что тоже по нынешним меркам очень мало.
Для того, чтобы поставить другое разрешение в гостевой ОС Ubuntu для хоста VMware vSphere ESXi 6.5 нужно проделать следующие действия:
После включения виртуальной машины в настройках экрана можно будет выбрать разрешение больше, чем до этого было возможно. Данный способ подойдет и просто для OS Ubuntu, которая установлена виртуальной машиной в ESXi — не обязательно пробрасывать видеокарту (хотя вся инструкция же об этом).
Для моего iMac 27 дюймов с разрешением в macOS в 4K — комфортнее всего ставить в убунту разрешение экрана равное 1600х1200 (4:3) для сеанса работы через VMRC.
PS: если использовать подключение через VNC — это тоже важно, там тоже будет то разрешение, которое установлено в ОС (а не автоматическое изменение в момент входа как это работает в RDP в Windows — и это очень грустно, что нет аналогичной функции или я просто о ней не знаю).
Предварительная настройка vSphere ESXi 6.5
Источники
Установка Ubuntu Desktop 16.04 и настройка проброса видеокарты
Проброс видеокарты NVIDIA GTX в виртуальную машину с Ubuntu для ESXi: 3 комментария
Третью неделю бьюсь с этим мануалом ( все версии софта соответствуют инструкции. Карта Gt1030, ESXI 6.5, Ubuntu 16.4 )
Всегда одно и то же — в логе инстала nvidia лезет такая гадость
( хотя CUDA при инстале ошибок не выкидывает — все ОК )
340.252028] nvidia: loading out-of-tree module taints kernel.
[ 340.252037] nvidia: module license ‘NVIDIA’ taints kernel.
[ 340.252038] Disabling lock debugging due to kernel taint
[ 340.263258] nvidia: module verification failed: signature and/or required key missing — tainting kernel
……
[ 340.283001] [drm] [nvidia-drm] [GPU ID 0x00000b00] Loading driver
[ 340.284999] [drm] [nvidia-drm] [GPU ID 0x00000b00] Unloading driver
[ 340.305204] nvidia-modeset: Unloading
[ 340.316871] nvidia-uvm: Unloaded the UVM driver in 8 mode
[ 340.328584] nvidia-nvlink: Unregistered the Nvlink Core, major device number 247
-> Installing both new and classic TLS OpenGL libraries.
…..
и естественно nvidia-smi ябедничеает что дивайс не найден.
Причем: GT 208 встала на Ubuntu 16.4 и Win7. GT1030 с пинка встала на Win 7 но упирается ставится на Ubuntu 16.4
Ставил CUDA 9.0 9.1 и 9.2.( это от безисходности)
Ставил просто дрова. Аналогично.
Понижал и повышал ядро, поставил и снес штук 50 виртуалок, порвал два дедовских бубна и мозги на немецкий крест.
В сети по ошибке «nvidia-smi No devices were found» добрался до края гугла ( там за краем только реклама казино под ссылками бурлит и пахнет )
Хельп !
Проверяем BIOS ./rom-parser image.rom
Если вы видите подобное PCIR: type 3(EFI ROM), то ваша видеокарта поддерживает OVMF.
Ваш конфиг виртуалки будет немножко отличаться.
1. Устанавливаем необходимый софт pacman -S qemu libvirt synergy
2. Нужно подкорректировать загрузку ядра, что бы не подцеплялась, наша видеокарта которую мы будем прокидывать. Нужно узнать id вендора и кода нашей видеокарты. Для этого выводим lspci Находим там код видеокарты, запоминаем его, и вводим уже lspci -n Теперь правим параметры загрузки grub, для этого открываем /etc/default/grub
и добавляем параметр в GRUB_CMDLINE_LINUX_DEFAULT vfio-pci.ids=10de:11c6,10de:0e0b
У меня следующего вида
Применяем параметры grub-mkconfig -o /boot/grub/grub.cfg , после перезагрузки, должно быть нечто подобное dmesg | grep vfio_pci :
Подкорректируем /etc/mkinitcpio.conf:
Применим mkinitcpio -p linux (linux изменить на имя вашего ядра)
3. После окончания установки, настало время прокинуть видеокарту.
Раскоментируем строку в конфиге
и запустим виртуалку.
Если все прошло хорошо, должно определиться новое устройство, скачиваем и устанавливаем драйвера для видеокарты, я не ставил никакого лишнего софта, только драйвера, пишут что Catalyst control center да и nvidia experience загоняет в синий экран, не проверял.
Нужно не забыть установить synergy, без этой программы управление(мышкой и клавиатурой) виртуалкой будет невозможно.
Найдете ее на торрентах или прочих сайтах, там в настройках надо указать client: 10.0.2.2(дефолтный ip хоста) и имя экрана, допустим Windows. Теперь настроим synergy на хосте(компьютер с Linux), создадим конфиг следующего содержания:
synergy.conf
Windows и Linux это имена экранов, измените на ваши
Запустим synergy synergys --config synergy.conf --debug INFO , и при передвижение мышки за левую часть экрана, она должна переходить на виртуалку.
Если все получилось, выключаем виртуальную машину, в конфиге меняем строку -vga std на -vga none , подключаем к выходу проброшенной видеокарты кабель к монитору, запускаем виртуалку и у нас на экране должна появится картинка с процессом загрузки. Проверяем функциональность synergy, кнопка F12 блокирует курсор на текущем экране.
Выклаываю полный скрипт запуска виртуалки
Так же рекомендую отключить запрос на восстановление системы при загрузке после сбоев
В данную тему я нырнул лишь ради интереса и возможности поиграть в ММО Black Desert, отлично кстати работает.
UPD 01.06.2019
Обновил компьютер до Ryzen и столкнулся с проблемой
Подробности здесь AMD Ryzen и проблемы с пробросом видеокарты в QEMU KVM
UPD 15.09.2019
После очередного обновления начались неприятности, qemu падал в core-dump при попытке издать малейший звук, решилась эта проблема добавлением строки
1000 — id вашего юзера, все переменные QEMU_AUDIO можно убрать.
Если будет писать что нет доступа
Можно скопировать пользовательские cookie в root
На 15.09 проблема с Ryzen еще присутствует, приходится патчить ядро.
Читайте также: