Questão Como resolver problemas com o modelo de shader no VirtualBox?


Eu tenho uma máquina virtualizada do Windows 7 (32 bits) usando o software VirtualBox em um host nativo do Linux.

Para alguns softwares avançados (ArcGIS Desktop 10.1) Eu preciso:

O tempo de execução do OpenGL versão 2.0 é mínimo, e o Shader Model 3.0 ou superior é recomendado.

Eu tenho corrido um verificação de requisitos do sistema, estes são os resultados - me dizendo que não há modelo de shader disponível:

system requirements check

Agora eu estava me perguntando por quê? O VirtualBox tem suporte ao modelo de shader desde as primeiras versões. Eu baixei o software OpenGL Viewer para verificar as configurações da placa de vídeo. Estes são os resultados:

opengl viewer

O OpenGL Viewer diz que eu tenho o OpenGL 2.1, bem como a versão 3.0 do vertex e do pixel shader. Então, como é que alguns softwares não estão detectando isso?

A propósito, o ArcGIS não está funcionando corretamente - como explicado esta discussão. É por isso que acho que há alguns problemas sérios com o modelo de shader no VirtualBox.

Como consertar isto?


6


origem




Respostas:


Eu descobri: Para ativar com sucesso o modelo de shader, você precisa instalar os drivers WDDM experimentais para aceleração de hardware 3D. Gostar descrito aqui.

  1. Certifique-se de que o dispositivo tenha pelo menos 128 MB de memória de vídeo alocada (recomenda-se 256 MB).
  2. O modo de segurança não é necessário para instalar os drivers experimentais.
  3. Dispositivos> Instalar adições de convidado ... (Host + D)
  4. Selecione: Suporte Direct2D (experimental)
  5. Ele sugere para instalar o driver 3D básico em vez dos drivers do WDDM. Para instalar os drivers WDDM, basta clicar Não e Está bem.
  6. Conclua a instalação.
  7. Reinicie.

Feito.


9



Trabalhei para mim em um sistema convidado do Windows XP. No entanto, tive que reinicializar no modo de segurança executando msconfige checando /SAFEBOOT na guia Boot.ini antes que eu pudesse instalar o driver 3D. - joelpet


Bem, minha resposta é sobre suporte a shader do DirectX, espero que seja útil para alguém, porque às vezes Opengl e DirectX são intercambiáveis.

As adições de convidados com o driver experimental WDDM não ativam o modelo de shader de pixel ou vértice 3,0 para DirectX ou OpenGL. Eu tentei spoofers em vez disso: DXTweaker e Swiftshader.

O DXTweaker, também conhecido como DirectX Tweaker, falsifica os valores, mas os apps / games fazem algumas verificações adicionais e não detectam os shaders 3.0. By the way, só existe como beta com tempo bombardeado e você precisa definir a data na VM para algum lugar em 2005 para que ela funcione se você quiser testar seus ajustes.

Swiftshader funciona, mas está disponível apenas como demonstração e exibe seu logotipo sobre a imagem renderizada. Também cai para mim de várias maneiras:

  • Se eu começar um jogo em tela cheia - VM vai para BSOD
  • Se eu configurar um jogo para qualquer resolução diferente da minha hospedeiro nativo (1366 * 768) - cai. Mesmo se eu executar VM com resolução diferente, com janelas ou tela cheia.

Também tenha em mente que os sombreadores falsificados não são emulados e não serão renderizados. Você verá falhas na imagem resultante.


1