bbswitch não consegue desativar gráficos discretos

6

Devido a alguns problemas , Eu tive que reinstalar o fedora. Atualmente tenho o fedora-19 com a versão do kernel 3.11.4-201.

Eu não instalei drivers NVIDIA e estou usando os drivers nouveau padrão para gráficos. Bumblebee e bbswitch foram instalados corretamente, mas o bbswitch não consegue desativar os gráficos discretos. eu fiz tee /proc/acpi/bbswitch<<<OFF mas quando eu verifico o status, ele informa. dmesg|grep bbswitch dá isto:

[   25.192983] bbswitch: module verification failed: signature and/or required key missing - tainting kernel
[   25.193158] bbswitch: version 0.7
[   25.193165] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[   25.193172] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP
[   25.193316] bbswitch: detected an Optimus _DSM function
[   25.193325] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
[ 1383.773601] bbswitch: device 0000:01:00.0 is in use by driver 'nouveau', refusing OFF

Bumblebee-daemon está funcionando, mas optirun glxgears -info dá isto:

[ 2441.794492] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) Failed to load module "mouse" (module does not exist, 0)

[ 2441.794545] [ERROR]Aborting because fallback start is disabled.

No momento não há nenhum arquivo chamado bbswitch.conf em /etc/modprobe.d/ ou em /etc/modules-load.d/. É aconselhável criar um arquivo manualmente e adicionar bbswitch load_state=0 para isso?

Como faço para desligar a placa gráfica discreta? Aconteceu muito bem no meu anterior fedora-17 que eu fedido para o fedora-19. A bumblebeed não deveria desligá-lo sem intervenção manual? Como sei se o bbswitch é compatível com o kernel?

EDITAR

Durante uma inicialização, os gráficos foram desligados, mas foram ligados novamente quando eu tentei optirun glxgears -info (que btw deu o mesmo erro). Eu reinstalei bbswitch e zangão mas não resolve o problema.

WYSIWYG
fonte

Respostas:

7

o README do bbswitch é bastante claro sobre isso:

Usuários de kmod deve criar /etc/modprobe.d/bbswitch.conf contendo options bbswitch load_state=0 para definir as opções padrão. Para carregar o   módulo, os usuários systemd devem criar /etc/modules-load.d/bbswitch.conf contendo bbswitch.

Para permitir que o bbswitch desligue a placa de vídeo, você também deve evitar que os módulos da nvidia sejam carregados (nouveau no seu caso). No meu sistema, eu criei /etc/modprobe.d/nvidia.conf contendo:

blacklist nvidia
blacklist nouveau
options bbswitch load_state=0

Em seguida, o initrd deve ser atualizado usando dracut --force

Ao usar o Bumblebee, o estrito acima não é estritamente necessário (o daemon irá descarregar os módulos e usar o bbswitch no start-up). Devido às condições de corrida, no entanto, é possível que o daemon bumblebee seja iniciado simultaneamente enquanto o driver Nouveau estiver sendo carregado. Portanto, ainda é aconselhável colocar os módulos na lista negra.

Note que quando optirun foo falhar sob algumas condições, a placa nvidia não está desativada. É por isso que você observa que os gráficos nvidia ainda estão habilitados.

Lekensteyn
fonte
Eu fiz exatamente o que você disse. apenas isso em vez de nvidia.conf Eu fiz um arquivo chamado nouveau.conf. dmesg|grep bbswitch dá a mesma mensagem: device 0000:01:00.0 is in use by driver 'nouveau', refusing OFF
WYSIWYG
@bharat_iyengar Após o README, você vê que pode ter que atualizar seu ramdisk inicial. Eu não estou tão familiarizado com o Fedora, mas de acordo com sua wiki , você pode correr mkinitrd. Como o Fedora parece usar o systemd, eles provavelmente também usam o kmod. Normalmente você não precisa ativar o cartão no desligamento.
Lekensteyn
dracut --force fez o trabalho .. Obrigado
WYSIWYG
2

Eu tive problemas semelhantes, a mesma saída para relatórios como seu primeiro post. Em resposta à sua pergunta, para conseguir mudar, acabei removendo Bumblebee completamente. Purgou isso. Em vez disso, usei a instalação ppa do driver nvidia-340, a mais recente entre as proprietárias no momento. Isso suavemente conseguiu blacklist nouveau e lidar com o servidor X, executou o kernel necessário e conf alterações. Tem o prime e o bbswitch como dependências e tudo funcionou bem a partir daí. Em seguida, execute o comando 'sudo prime-select intel' para que o intel funcione com o principal e atualize os drivers mais recentes para ele. Quando abri as configurações do NVIDIA X Server, consegui alternar sem problemas Para uso do CUDA no Blender eu também tive que adicionar o nvidia-modprobe. Para uma descrição mais detalhada veja este tópico

Christos
fonte