Talvez uma explicação entre gráficos em um convidado virtual e o host real O / S possa ajudar aqui.
Primeiro o básico:
Tudo em um convidado virtual é uma abstração - o que isso significa é que cada dispositivo e driver em um convidado virtual O / S não depende do dispositivo host real & amp; motorista.
Para dar um exemplo simples. Um mouse é visto como um dispositivo específico - o kernel do Linux vê esse dispositivo e permite que o sistema operacional convidado use esse dispositivo. Este "dispositivo virtual" é mapeado para o dispositivo físico real pela ferramenta de virtualização - VirtualBox, VMWare, Xen etc. Assim, o sistema operacional convidado nunca precisa entender o que é o mouse físico, ele só vê o que a ferramenta de virtualização mapeou para ele . O valor dessa abordagem é que você pode mover o convidado virtual para Hosts diferentes - ele funcionará da mesma maneira, porque não há dependência direta no Host em si.
Para mostrar isso na prática, você pode executar lsusb
no host e no convidado - no meu host O / S eu tenho os seguintes dispositivos USB:
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0402:9665 ALi Corp.
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
No meu convidado oneiric O / S eu posso ver os seguintes dispositivos USB - estes são diferentes do host:
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Qualquer convidado O / S, seja windows ou linux, só verá este dispositivo convidado virtual.
Gráficos anfitriões vs. gráficos convidados
É o mesmo para gráficos.
Meus gráficos de hospedagem são:
sudo lshw -class display
*-display
description: VGA compatible controller
product: Core Processor Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 18
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:41 memory:90000000-903fffff memory:80000000-8fffffff ioport:3050(size=8)
No meu convidado oneiric O / S ele pode ver a seguinte placa gráfica - você pode ver que não é o mesmo que o host:
sudo lshw -class display
*-display UNCLAIMED
description: VGA compatible controller
product: VirtualBox Graphics Adapter
vendor: InnoTek Systemberatung GmbH
physical id: 2
bus info: pci@0000:00:02.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: vga_controller bus_master
configuration: latency=64
resources: memory:e0000000-e7ffffff
Da mesma forma - um O / S de convidado do Windows verá apenas um dispositivo convidado virtual semelhante.
No obscuro mundo do VirtualBox, as Guest Additions que você pode instalar manualmente (ou em 11.10 - jockey vê e recomenda instalá-lo) instala módulos adicionais do kernel ( ou drivers de dispositivo para convidados do Windows) para permitir ao convidado O / S acesso aprimorado a seus gráficos O / S de host. Novamente, não é um mapeamento direto - mas permite que gráficos acelerados em 3D sejam vistos.
Se um aplicativo dentro de sua máquina virtual usa recursos 3D através da interface de programação OpenGL (ou para um guest Windows O / S - suas chamadas DirectX), em vez de emulá-los em software (o que seria lento), o VirtualBox tentará use o hardware 3D do seu host.
Mais uma vez eu enfatizo, o convidado O / S não vê sua placa gráfica real, apenas passa a chamada OpenGL (ou DirectX) do Guest diretamente para o hardware Host para processar.
Nas configurações do VirtualBox, você deve alterar a configuração da memória da placa de vídeo e da placa gráfica 3D. Seu convidado O / S, em seguida, verá uma "placa 3D Accelerated" com 128 MB de RAM. Não importa se a sua placa de vídeo host é melhor do que isso - o seu convidado O / S só verá esta placa gráfica virtual "simples".
Desde que você mencionou que está usando o Windows Guest O / S - a caixa de seleção 2D é aplicável a você, já que uma passagem de chamadas de interface de programação é realizada.
O Bumblebee / IronHide é um mecanismo de comutação de gráficos de e / ou - você está usando gráficos integrados ou gráficos NVidia / ATI de maior capacidade, mas não ambos ao mesmo tempo.
Como o recurso OpenGL (ou DirectX) dos gráficos comutáveis mais altos é maior que o conjunto de chips integrados, você verá um desempenho gráfico relativamente aprimorado com os aplicativos intensivos de gráficos do Guest O / S. No entanto, essa melhoria não é tão dramática quanto executar o mesmo aplicativo nativamente no host, uma vez que ele ainda está funcionando dentro das restrições do dispositivo gráfico virtual de 128 MB.