Garbage in primus com nvidia bumblebee em Trusty

12

Aparece o seguinte ao executar optirun glxgears com primus e nvidia-331-updates configurado em bumblebee.conf :

Este é o 14.04 Trusty Tahr, atualizado de 13.10. O aplicativo parece rodar no nvidia gpu, mas não é exibido corretamente como na versão anterior da distribuição. Eu suspeito que isso seja um bug no primus nos 14.04 repos, a menos que um dos meus pacotes esteja mal configurado.

A janela atualiza e exibe parte da imagem glxgears, mas somente quando eu reduzir a janela e uma vez por quadro que a janela está sendo redimensionada. O viewport do GL também é dimensionado incorretamente nesse processo.

Continuando alguns testes, o sinalizador PRIMUS_UPLOAD=1 parece fazer a janela atualizar corretamente e tudo funciona conforme o esperado. Esta não é uma solução permanente.

    
por Eidolon 17.03.2014 / 06:10

2 respostas

1

Use o método de recuperação do GitHub para verificar suas especificações.

$ lspci -vnn | grep '\''[030[02]\]'
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 09) (prog-if 00 [VGA controller])
08:00.0 3D controller [0302]: NVIDIA Corporation GK208M [GeForce GT 740M] [10de:1292] (rev a1)
  • Observe a notação 08:00.0 com um único dote.
Apenas os portáteis têm este tipo de cartão Optimus da nVidia, pelo que este projecto não se aplica aos desktops (por agora). Os cartões da série 4xxM e mais recente são todos compatíveis com o Optimus. O M significa "Mobile". Mas ter um cartão 4xxM não é suficiente para ter certeza de que você está tendo um laptop Optimus. Também deve haver um controlador de vídeo integrado no seu processador. Para verificar isso, execute este comando em um [terminal] [1]:

Caminho para o Ubuntu com Bumblebee (Wiki)

  • Configuração básica para 12.04 - 13.04

você precisa purge the ppa se tiver instalado.

  • Basic_Setup_for_13.10_and_later

Ligue o terminal e digite os comandos abaixo:

- instruções do UbuntuWiki

  1. Habilite os repositórios Universe e Multiverse - você precisa fazer isso para permitir que os pacotes bumblebee e nvidia, respectivamente, sejam instalados.

  2. sudo apt-get instale o bumblebee bumblebee-nvidia primus linux-headers-genérico

  3. Reinicializar

agora

Tenha certeza de que a versão atual da nvidia é 304 é muito legal.

Após a instalação -

$ ls -l /etc/bumblebee/
-rw-r--r-- 1 root root 2957 Dez  1 00:38 bumblebee.conf
drwxr-xr-x 2 root root 4096 Nov 30 23:57 xorg.conf.d
-rw-r--r-- 1 root root  513 Dez  1 00:37 xorg.conf.nouveau
-rw-r--r-- 1 root root 1380 Dez  1 00:37 xorg.conf.nvidia

RECORDE 08:00.0 ?

$ cat /etc/bumblebee/xorg.conf.n*
$ view /etc/bumblebee/xorg.conf.nouveau # and
$ view /etc/bumblebee/xorg.conf.nvidia  # and change the last dot in

BusID "PCI:08:00.0"

Próximo:

 $ view /etc/bumblebee/bumblebee.conf
 [bumblebeed]
 VirtualDisplay=:8       # refers to PCI:08:00.0, the 1st left 0 is ignored
 KeepUnusedXServer=false
 ServerGroup=bumblebee
 TurnCardOffAtExit=false
 NoEcoModeOverride=false
 Driver=nvidia           # changed
 XorgConfDir=/etc/bumblebee/xorg.conf.d

 [optirun]
 Bridge=auto
 VGLTransport=proxy
 PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
 AllowFallbackToIGC=false

 [driver-nvidia]
 KernelDriver=nvidia-current
 PMMethod=bbswitch       # changed
 LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current
 XorgModulePath=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules
 XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

 [driver-nouveau]
 KernelDriver=nouveau
 PMMethod=auto
 XorgConfFile=/etc/bumblebee/xorg.conf.nouveau

Wanning : eu removi os comentários originais (intruções) como backup.  Faça também ou navegue pelo arquivo e altere os valores sem tocar nos comentários.

Primus de teste

 DRI_PRIME=0 glxgears -info | grep "GL_VENDOR"
 DRI_PRIME=1 glxgears -info | grep "GL_VENDOR"

 $ DRI_PRIME=:8 glxgears # and finaly do it

Depois disso, siga as informações fornecidas em -

Example_update_to_nvidia-319_driver no UbuntuWiki.

Você também ajustará a versão do driver e os caminhos no arquivo acima.

Funciona muito bem para mim.

    
por ftcosta 13.12.2014 / 06:41
1

Eu recomendaria usar o "Nvidia Prime Indicator".

Primeiro remover o Bumblebee Você precisa se livrar de Bumblebee e o driver da Nvidia. Bumblebee não corre bem na minha máquina Optimus, mesmo problemas, pegue o indicador Prime. Além disso, o nvidia-331-updates será instalado com sudo apt-get upgrade após essa instalação.

Este é o meu guia de outro tópico, tente, sinto que poderia funcionar.

Cuidado nas próximas etapas, siga apenas as etapas necessárias:

Para remover e limpar o terminal de execução do bumblebee (se você tem tela preta, pressione Ctrl + Alt + F2 ) e digite:

sudo apt-get remove --purge bumblebee

Para instalar o Prime, execute todas as 3 linhas de comando:

sudo add-apt-repository ppa:nilarimogard/webupd8 &&
sudo apt-get update && sudo apt-get install prime-indicator

Deve funcionar a partir da caixa com o Indicador Prime.

Se não , limpe-os com:

sudo apt-get remove 'nvidia.*' prime-indicator && sudo apt-get autoremove

e comece do zero com:

sudo apt-get install nvidia-331 indicator-prime

Quando você trabalhar, instale o mesa-utils, o que nos permite reconhecer as GPUs:

sudo apt-get install mesa-utils

Você tem o Nvidia Optimus, os próximos passos para o driver da Intel:

Mude para GPU Intel a partir do indicador principal e obtenha Intel Graphics Installer .deb, instale-o via Software Center, localize o Instalador no Dash e execute-o para atualizar o seu Intel 4000 com os drivers mais recentes.

EDIT: Depois de instalar o pacote da Intel, se sudo apt-get update falhar na chave pública download.01.org , execute este terminal:

Isso adicionará a chave correta.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A902DDA375E52366
    
por Zbunjeni 11.12.2014 / 21:04