Atualmente, você tem (no melhor de meu conhecimento) três possibilidades em relação aos gráficos híbridos da Nvidia (a chamada tecnologia Optimus) no Linux:
- Bumblebee. Embora este projeto possa parecer morto, não é (revelador: eu faço parte da equipe de desenvolvedores). Está se desenvolvendo lentamente há muito tempo, porque estávamos todos muito ocupados, mas as coisas melhoraram recentemente e recebemos a ajuda de novos colaboradores. A versão 4.0 está no caminho certo, principalmente correções de bugs e o back end do primus se tornando o padrão (a maioria das pessoas não notará, já que elas já estavam sendo usadas). O Bumblebee permite que você execute sua área de trabalho e exiba no chip Intel integrado, enquanto executa aplicativos selecionados na placa Nvidia discreta. Ele pode usar o driver nouveau ou nvidia (dado que eles suportam seu cartão, o que eles devem fazer) e depende do bbswitch para gerenciamento de energia (com a opção de usar vga_switcheroo se estiver usando nouveau). No lado do desempenho, por causa de como funciona, o Bumblebee é limitado no PCIe, o que significa que você não pode atingir taxas de quadros muito altas (o que não é muito útil de qualquer maneira), mas também que você nunca pode alcançar a capacidade total da sua placa Nvidia. No caso de algumas das saídas de exibição em seu laptop estarem conectadas ao chip Nvidia (geralmente o caso do HDMI no laptop Lenovo), o Bumblebee permite usá-las, mas requer um pouco de configuração, é provavelmente muito menor que o ideal e acima tudo não testado, já que nenhum dos desenvolvedores da Bumblebee possui um laptop afetado. Caso contrário, o Bumblebee trabalha com DRI2 ou DRI3.
- PRIME. Esta é a solução adequada para esta tecnologia, e é implementada no nível certo: drivers, kernel, Xorg… O PRIME permite a você a mesma configuração do Bumblebee, no entanto, devido a questões legais, apenas o nouveau é suportado. Fora isso, também tem alguns problemas com o rasgo por causa das mudanças necessárias no driver i915. Além disso, o nouveau ainda tem muitos problemas em relação a performances, então até obter um bom reclocking, você pode ter menos perfs do que na configuração do Bumblebee + nvidia (o Bumblebee + nouveau sofre do mesmo problema obviamente). O PRIME não depende do bbswitch para gerenciamento de energia, mas usa o nouveau / kernel integrado. PRIME também permite que você use saídas conectadas ao chip Nvidia de forma bastante transparente AFAIK. Quando rodando no DRI2, ele requer um pouco de configuração (dependendo se você também tem o Bumblebee / bbswitch instalado, o valor exato pode variar), mas nada de mais. O VDPAU também é suportado neste modo (mas somente com o driver nouveau novamente). Quando rodando no DRI3, é muito fácil de usar (tanto que o Bumblebee provavelmente ganhará suporte para este modo na próxima versão). No entanto, você não recebe suporte para VDPAU e, aparentemente, também não há suporte para as saídas da Nvidia.
- Reverse PRIME. Aqui, a ideia é usar a placa Nvidia para tudo, incluindo a área de trabalho, e usar apenas o chip Intel como saída para a tela do laptop. Isto é suportado tanto pelo nouveau (com os mesmos problemas de performance como acima) como pela nvidia (com a ferramenta dedicada nvidia-prime no Ubuntu, por exemplo). Isso significa que você não economiza energia (e aumenta o consumo de energia em todos os estágios), mas, como no PRIME, você pode utilizar qualquer saída de vídeo de forma fácil e completa. Neste modo, você obtém o melhor do seu cartão dedicado ao usar o driver nvidia. Esta é também a única configuração onde você pode obter o VDPAU trabalhando no chip Nvidia usando o driver nvidia. No entanto, também tem alguns problemas com o rasgo devido a alterações necessárias no driver i915. Este modo só funciona com DRI2. Na verdade, é pelo mesmo motivo que você não pode usar as saídas no PRIME + DRI3: O Reverse PRIME é na verdade o nome do suporte para usar outras saídas de placa (sejam as Intel enquanto rodam na Nvidia aqui ou na Nvidia quando executado na Intel acima), e que atualmente não funciona sob DRI3.
Note que coisas como CUDA ou OpenCL não requerem nenhuma dessas ferramentas, apenas um pouco de configuração, mas o Bumblebee como um modo de usá-las facilmente enquanto ainda obtém outras vantagens.
PRIME e Bumblebee podem coabitar ao usar DRI3, mas sob DRI2 ou alternar para Reverse PRIME requer uma troca de arquivos de configuração e reinicialização do servidor X. Então, dependendo de suas necessidades, é isso que eu aconselharia:
- Se você não se importa com o desempenho, mas se preocupa com a facilidade de utilização (principalmente para produtos externos - se for afetado) e FLOSS, escolha PRIME.
- Se você se preocupa mais com apresentações, mas geralmente usa seu laptop no modo de bateria e não quer reiniciar o servidor X o tempo todo, escolha Bumblebee.
- Se você se preocupa com performances e principalmente usa seu laptop enquanto está conectado a AC (e não se importa com uma economia extra de W), dê uma olhada em Reverse PRIME usando nvidia (você pode usar nvidia -prime para alternar para o modo Intel apenas quando executado ocasionalmente com bateria, mas não tenho certeza se a placa Nvidia está desativada nesta configuração).