Вопрос или проблема
Я использую VMware Workstation 12 Player на хосте Ubuntu 16.04, и все гости, которые я запускаю, жалуются, что:
Поддержка 3D недоступна от хоста.
и:
Аппаратное ускорение графики не доступно.
Ускорение 3D графики отключено в плеере. У меня AMD RX480 GPU 8 ГБ с драйверами AMD:
$ sudo lspci -knn | grep -A2 VGA
02:00.0 VGA совместимый контроллер [0300]: Advanced Micro Devices, Inc. [AMD/ATI]
Устройство [1002:67df] (rev c7)
Подсистема: PC Partner Limited / Sapphire Technology Устройство [174b:e347]
Драйвер ядра в использовании: amdgpu
$ glxinfo | grep direct
direct rendering: Yes
$ vmplayer &
Gtk-Message: Не удалось загрузить модуль "atk-bridge": /usr/lib/x86_64-linux-gnu/libatspi.so.0: неразрешенный символ: g_type_class_adjust_private_offset
Gtk-Message: Не удалось загрузить модуль "unity-gtk-module": libunity-gtk-module.so: невозможно открыть файл общего доступа: Нет такого файла или каталога
(vmware-modconfig:4752): Gtk-WARNING **: Невозможно найти движок темы в пути модуля: "murrine",
...повторяется x20 ...
vmware-modconfig:4752): Gtk-WARNING **: Невозможно найти движок темы в пути модуля: "murrine",
(vmware-modconfig:4752): Gtk-WARNING **: Невозможно найти движок темы в пути модуля: "murrine",
Gtk-Message: Не удалось загрузить модуль "canberra-gtk-module": libcanberra-gtk-module.so: невозможно открыть файл общего доступа: Нет такого файла или каталога
Gtk-Message: Не удалось загрузить модуль "atk-bridge": /usr/lib/x86_64-linux-gnu/libatspi.so.0: неразрешенный символ: g_type_class_adjust_private_offset
Gtk-Message: Не удалось загрузить модуль "unity-gtk-module": libunity-gtk-module.so: невозможно открыть файл общего доступа: Нет такого файла или каталога
(vmplayer:4747): Gtk-WARNING **: Невозможно найти движок темы в пути модуля: "murrine",
(vmplayer:4747): Gtk-WARNING **: Невозможно найти движок темы в пути модуля: "murrine",
Gtk-Message: Не удалось загрузить модуль "canberra-gtk-module": libcanberra-gtk-module.so: невозможно открыть файл общего доступа: Нет такого файла или каталога
I/O предупреждение : не удалось загрузить внешний объект "/etc/vmware/hostd/proxy.xml"
У меня были такие же две ошибки, которые вы упоминаете. Что сработало для меня, это:
-
Откройте
~/.vmware/preferences
с помощью вашего любимого текстового редактора (здесьvim
):vim ~/.vmware/preferences
-
Добавьте следующую строку:
mks.gl.allowBlacklistedDrivers = "TRUE"
Моя конфигурация:
- Ubuntu 16.10 64-битный хост (обновленный с 16.04)
- VMware Workstation 12.5x
- Windows 10 64-битный гость
Ответ или решение
Ошибка "No 3D support is available from the host" в VMware возникает из-за отсутствия поддержки 3D-ускорения на стороне хоста, что мешает гостевой операционной системе использовать аппаратное ускорение графики. Это особенно критично для пользователей, работающих с графическими приложениями или желающих задействовать потенциал своей видеокарты в виртуальной среде. Давайте рассмотрим проблему подробнее используя подход TEA (Теория, Пример, Применение).
Теория
3D-ускорение позволяет виртуальной машине эффективно использовать GPU хоста для обработки графических данных. Без него, выполнение графически интенсивных задач в гостевой системе может привести к чрезмерной нагрузке на CPU и снижению производительности. Проблема "No 3D support is available from the host" может быть вызвана различными факторами, среди которых:
- Неактуальные драйверы графического адаптера. Обновление или устаревшие драйверы могут неправильно работать с 3D-ускорением.
- Ограничения на уровне программного обеспечения VMware. Иногда приложение может блокировать использование 3D-ускорения для определённых моделей GPU.
- Проблемы с совместимостью компонентов окружения Ubuntu, такие как GTK модули, которые могут вызывать дополнительные предупреждения и ошибки.
- Конфигурация VMware, где может отсутствовать включение соответствующих настроек для поддержки 3D-ускорения.
Пример
В приведенной вами ситуации используется Ubuntu 16.04 в качестве хоста с установкой VMware Workstation 12 Player. Согласно выходным данным команды lspci
, присутствует GPU AMD RX480 с активированным драйвером amdgpu
. Проблема в том, что сообщение об ошибке явно указывает на отключение возможности аппаратного ускорения на всех гостевых системах.
Применение
Для исправления данной ситуации сделаем несколько шагов:
-
Проверьте и обновите драйверы вашей видеокарты. Убедитесь, что драйвер
amdgpu
актуален. Для этого можно использовать Ubuntu’s package manager:sudo apt update sudo apt upgrade
-
Убедитесь, что VMware настроен на поддержку 3D-ускорения. В VMware Player откройте настройки вашей виртуальной машины и в разделе "Display" активируйте опцию "Accelerate 3D graphics".
-
Внесите изменения в файл конфигурации VMware:
- Откройте файл
~/.vmware/preferences
с помощью любимого текстового редактора, например,vim
:vim ~/.vmware/preferences
- Добавьте строку:
mks.gl.allowBlacklistedDrivers = "TRUE"
Это позволит VMware использовать GPU даже если драйвер находится в списке несовместимых (blacklisted).
- Откройте файл
-
Установите недостающие GTK модули, которые могут влиять на работу с графикой:
sudo apt install libcanberra-gtk-module libcanberra-gtk3-module sudo apt install adwaita-gtk2-theme
-
Перезагрузите систему и повторно запустите виртуальную машину. После выполнения вышеуказанных действий загрузите вашу виртуальную машину, чтобы проверить, устранилась ли проблема.
-
Проверка восприятия: откройте в гостевой системе приложение, требующее ускорения графики, чтобы убедиться в наличии изменений в производительности.
Надеемся, что эти шаги помогут вам решить проблему с отсутствием 3D-поддержки в ваших гостевых системах под управлением VMware. Если проблема сохраняется, возможны случаи несовместимости конкретной версии VMware с используемым оборудованием или ОС, и может потребоваться обновление до более новой версии VMware или использование альтернативных методов виртуализации с поддержкой вашего оборудования.