6

У меня есть виртуальная машина Windows 7 (32-битная), использующая программное обеспечение VirtualBox на нативном хосте Linux.

Для некоторых передовых программ (ArcGIS Desktop 10.1) мне нужно:

Требуется минимум времени выполнения OpenGL версии 2.0 и рекомендуется Shader Model 3.0 или выше.

Я проводил проверку системных требований, вот результаты, говорящие мне, что нет доступной модели шейдера:

проверка системных требований

Теперь мне было интересно, почему? VirtualBox поддерживает ранние версии шейдеров. Я скачал программное обеспечение OpenGL Viewer, чтобы проверить настройки видеокарты. Вот результаты:

OpenGL Viewer

OpenGL Viewer сообщает мне, что у меня установлена версия OpenGL 2.1, а также версия 3.0 вершинного и пиксельного шейдеров. Так почему же некоторые программы не обнаруживают это?

Кстати ArcGIS не работает правильно - как объяснено в этой теме. Вот почему я думаю, что есть некоторые серьезные проблемы с шейдерной моделью в VirtualBox.

Как это исправить?

2 ответа2

9

Я понял: чтобы успешно включить модель шейдера, вам нужно установить экспериментальные драйверы WDDM для аппаратного ускорения 3d. Как описано здесь.

  1. Убедитесь, что устройству выделено не менее 128 МБ видеопамяти (рекомендуется 256 МБ).
  2. Безопасный режим не требуется для установки экспериментальных драйверов.
  3. Устройства> Установить гостевые дополнения ... (Host + D)
  4. Выберите: Direct2D-Support (экспериментальная)
  5. Он предлагает установить базовый драйвер 3d вместо драйверов WDDM. Чтобы установить драйверы WDDM, просто нажмите No и Ok.
  6. Завершите установку.
  7. Перезагружать.

Готово.

1

Ну, мой ответ о поддержке шейдеров DirectX, я надеюсь, что это будет кому-то полезно, потому что иногда Opengl и DirectX взаимозаменяемы.

Гостевые дополнения с экспериментальным драйвером WDDM не поддерживают модель 3.0 пиксельных или вершинных шейдеров для DirectX или OpenGL. Вместо этого я попробовал спуферы : DXTweaker и Swiftshader .

DXTweaker aka DirectX Tweaker подделывает значения, но приложения / игры выполняют некоторые дополнительные проверки и не обнаруживают шейдеры 3.0. Кстати, он существует только как бета-версия с временной бомбой, и вам нужно установить дату в VM где-нибудь в 2005 году, чтобы она заработала, если вы хотите попробовать ее настройки.

Swiftshader работает, но он доступен только в демонстрационной версии и отображает логотип над визуализированным изображением. Также это вылетает для меня несколькими способами:

  • Если я запускаю игру в полноэкранном режиме - VM переходит на BSOD
  • Если я настраиваю игру в любом разрешении, отличном от моего основного хоста (1366 * 768) - она вылетает Даже если я запускаю ВМ с другим разрешением, оконным или полноэкранным.

Также имейте в виду, что подделанные шейдеры не эмулируются и не будут отображаться. Вы увидите глюки в результирующем изображении.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .