O Bumblebee tem dois componentes:
- Gerenciamento de energia (PM)
- Permitir que você use o GPU dedicado
O componente PM coloca a placa Nvidia no estado D3 para economizar energia quando o Bumblebee acha que você não precisa da GPU dedicada.
O segundo componente (sobre o qual você está perguntando) é realizado iniciando um servidor X que se liga à placa Nvidia. Cada cliente que deseja renderizar algo na placa Nvidia precisa deste servidor X para renderização. Uma vez que este servidor é sem cabeça, você não verá nada até que seja desenhado para uma exibição. A área de trabalho que você executa na Intel GPU é usada para exibir os quadros renderizados. Para transferir os quadros do servidor X de renderização para o servidor X de exibição, é necessária uma ponte como VirtualGL ou primus.
Arte ASCII que mostra a arquitetura quando três aplicativos diferentes estão em execução usando o primus e o virtualgl como transporte:
| rendering X server (Nvidia) |
\================++=============++/
|| || ||
VirtualGL-\ /--primus /-primus
|| \ / || | ||
|glxgears| || |glxgears| | |java|
|| |
/========++================+======\
| displaying X server (Intel) |
Portanto, não, você não pode usar optirun startx
ou algo para desenhar sua área de trabalho completa na placa Nvidia. Lembre-se que a GPU Nvidia é sem cabeça, renderizando algo na placa nvidia e transportando-a de volta para exibição na mesma GPU sem cabeça é completamente inútil. Se você tem um monitor externo, pode ser possível (varia entre o hardware) renderizar / exibir tudo nessa tela (veja Wiki Bumblebee ).
Você também pode estar interessado no link