Por que minha máquina virtual do Windows 8 não está usando minha placa NVIDIA?

0

Eu tenho um Dell XPS com uma placa NVIDIA GT540 e é com o Optimus. O principal sistema operacional é o Windows 7.

Eu instalei o Windows 8 dentro do VMware Workstation 8 e ele funciona muito lentamente. Dentro do NVIDIA Control Panel, ele me diz que nenhum aplicativo está usando a GPU. Por quê?

Por que a VM está usando a GPU Intel quando tenho uma NVIDIA à minha disposição?

ATUALIZAÇÃO : bem, eu instalei ferramentas VMware e o desempenho melhorou. Mas ainda sinto que a nVidia não está se acostumando. :(

ATUALIZAÇÃO : E agora que vejo na área de notificação,vmx.exeé de fato usando o meu gpu. :) yipeee !!

garras
fonte
2
Tenho quase certeza de que as máquinas virtuais não têm acesso à GPU - mas estou disposto a provar que estou errado.
ChrisF
@ChrisF, em algum hardware, eles teoricamente poderiam se a CPU e o hipervisor suportassem o VT-d. AFAIK, nenhuma solução de desktop VM suporta isso ainda embora.
Zoredache
Normalmente, não há aceleração de hardware para sistemas operacionais virtuais. Seu hardware, software e o sistema operacional virtual precisariam de suporte adequado. Não sei sobre o seu hardware, o VMware Workstation provavelmente suporta a aceleração de GPU e você precisa de drivers VMware instalados no Windows 8, o que provavelmente não é suportado pelo VMware, pois ainda está em desenvolvimento.
Oxwivi
@Zoredache Achei que VMware, Xen, KVM suportam a extensão VT-d (e equivalente da AMD) para virtualização de hardware e paravirtualização? É claro que isso é separado da aceleração de GPU, que pode funcionar com os drivers necessários no sistema operacional convidado (embora lentamente).
Oxwivi
@Oxwivi, estou bastante familiarizado com os produtos Vmware, e a única versão do Vmware que faz o VT-d é o ESXi. Eu não posso falar com o Xen / KVM.
Zoredache

Respostas:

5

Uma máquina virtual não obtém acesso direto ao seu hardware. O hipervisor emula o hardware, o hardware que é emulado depende de qual hipervisor você está usando.

O Guia de Compatibilidade de VMware inclui detalhes sobre exatamente quais sistemas operacionais Convidados são suportados. O Windows 8 não está na lista.

Para sistemas operacionais guest com suporte, a VMware fornece um conjunto de drivers para suportar oficialmente sistemas operacionais que melhoram muito o desempenho dessa emulação. Com o Windows 7, o desempenho gráfico é bom o suficiente para o Aero funcionar. O Windows 8 não é suportado, e eu apostaria que provavelmente não será suportado por um tempo.

Zoredache
fonte
então o pedido de exibição vai para o meu cartão de intel (via algum mecanismo complexo, eu sei)?
prongs
Não, eu suspeito que o Vmware está emulando uma placa de vídeo Intel genérica.
Zoredache
por isso está sendo transferido para o meu cpu?
prongs
2

Que eu saiba, a maioria das VMs usa um driver convidado especial para emular gráficos; em alguns casos, passando as capacidades da GPU hospedeira através do driver convidado acima mencionado.

O manual do usuário do VirtualBox descreve como o VirtualBox (em particular) emula a aceleração 2D / 3D.

https://www.virtualbox.org/manual/ch04.html#guestadd-video

emanuel.b
fonte
1

Sua máquina virtual não possui uma placa nVidia virtual para usar. A máquina física tem uma placa física da nVidia e, presumivelmente, ela está sendo usada. Máquinas virtuais operam em hardware virtual ou físico que é virtualizado. A placa de vídeo não é virtualizada.

David Schwartz
fonte
0

IMPORTANTE: Eu tive que remover links devido ao sistema de reputação. Eu não posso fornecer mais respostas com os links que eu queria mostrar (12 no momento).

Você está usando um laptop?

Sobre o Windows como um host de virtualização: Desculpe, não tenho idéia. Talvez você possa ter alguma sorte com o "XenGT", mas eu não tenho idéia

Sobre o Linux ...

Você seria capaz de usar PCI Passthrough pelo menos no Linux, mas o Optimus é um grande show-stopper nisso. Há uma possibilidade se você tiver uma saída de vídeo conectada à GPU da Nvidia (alguns laptops têm), mas você perderia a portabilidade em troca desse recurso (e isso é uma droga demais em um laptop).

Há a Intel GVT-d | s | g "vGPU" (a Intel insiste em chamar a Tecnologia de Virtualização de Gráficos porque a Nvidia usou o termo vGPU em sua solução proprietária, mas acho muito fácil lembrar o vGPU) no Linux, isso é um bom começo. O código foi mesclado no kernel do Linux e parece também ser relevante para o próprio kernel Linux (não 100% de certeza ). O código relevante ainda não foi mesclado a repositórios upstream do hipervisor Qemu e Xen (existem os garfos Intel Xen e Qemu com suporte GVT-g, mas nenhuma novidade sobre fusão há mais de DOIS anos.

A Nvidia tem uma tecnologia similar, eles a chamam de vGPU e faz parte da NVIDIA GRID. Infelizmente, essa tecnologia é muito proprietária e parece ser oferecida apenas para servidores. Não tenho certeza se os drivers Quadro suportam algo semelhante e se alguém foi capaz de usar esses drivers em hardware de consumidor, espero que alguém possa explicar mais sobre isso.

Tem havido muitos heróis (um no reddit, outro na lista de usuários vfio da Red Hat tentando fazer o PCI Passthrough sobre o Intel GVT (vGPU), mas eu não vi nenhuma história de sucesso sobre ele.

Eu vi pessoas tendo problemas com o GVT-g sozinho no reddit. Eu vi um guia do início de 2017 por kraxel e ele mesmo menciona no início de 2017 sobre a exibição local da saída do vGPU também.

De qualquer forma, farei mais algumas pesquisas e depois de alguns experimentos, escreverei um e-mail detalhado para a lista de discussão da Intel GVT-g.

timofônico timofônico
fonte
1
Então, qual é a solução proposta novamente nesta resposta?
Pimp Juice IT
Eu ainda estou em fase de pesquisa. Eu tenho que pedir mais e preparar meu sistema para alguns testes. Eu poderei dar mais informações na próxima semana aproximadamente.
timofonic timofonic