Após a atualização, a placa nVidia está ativada por padrão

1

Após uma atualização recente em 16.04.1, que envolveu os drivers nvidia, a placa nvidia (optimus) é ativada por padrão a cada inicialização, causando superaquecimento.

Eu posso dizer que o cartão está ligado porque cat /proc/acpi/bbswitch retorna 0000:01:00.0 ON . Para desativá-lo, uso sudo tee /proc/acpi/bbswitch <<<OFF .

No passado, quando eu estava experimentando com drivers nvidia e o repositório PPA de editores Xorg, eu experimentei um problema similar, que resolvi limpando o repositório e reinstalando os drivers no repositório do Ubuntu. Como o último é o driver que estou usando atualmente, imagino o que posso fazer agora para corrigir o problema.

    
por Phoenix87 06.11.2016 / 22:29

1 resposta

1

Depois de misturar soluções de Bumblebee não desabilitando a NVIDIA e link parece que tudo está de volta agora.

Aqui estão os passos que eu realizei (módulo de memória ruim!)

  1. Limpe o bumblebee * e o primus *

  2. Instale nvidia-prime

  3. Certifique-se de que os drivers da nvidia estejam instalados nas Configurações do sistema - > Software & amp; Atualizações - > Drivers adicionais. Eu tentei nvidia-370, mas não funcionou na primeira vez. Você pode tentar, mas no final eu tenho tudo funcionando com o driver proprietário nvidia-367.

  4. sudo prime-select intel (se isso falhar na primeira vez, uma reinicialização poderá ajudar).

  5. Instale o BPA de teste do Bumblebee ppa:bumblebee/testing e instale bumblebee

  6. Bloqueie os drivers que você optou em /etc/modprobe.d/bumblebee.conf . No meu caso eu tive que adicionar

    # 367
    blacklist nvidia-367
    blacklist nvidia-367-updates
    blacklist nvidia-experimental-367
    remove nvidia rmmod nvidia-drm nvidia-modeset nvidia-uvm nvidia

    Aparentemente, a última linha é crucial e a única coisa que fez com que essa solução realmente funcionasse para mim (sem essa linha eu ainda tenho a placa nvidia para funcionar, mas ela liga automaticamente na inicialização e não desliga com bbswitch ).

  7. Configure bumblebee editando /etc/bumblebee/bumblebee.conf . Procure cuidadosamente por Driver= na seção [bumblebeed] . Provavelmente não é necessário, mas se estiver em branco após o = , basta colocar nvidia . Em seguida, verifique se você tem essas configurações

    [driver-nvidia]
    KernelDriver=nvidia-367
    PMMethod=auto
    LibraryPath=/usr/lib/nvidia-367:/usr/lib32/nvidia-367
    XorgModulePath=/usr/lib/nvidia-367/xorg,/usr/lib/xorg/modules
    XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

    Substitua 367 pela sua versão escolhida.

  8. sudo update-initramfs -u

  9. Reinicie.

Para testar se tudo está OK, execute o comando:

'read a b <<< 'cat /proc/acpi/bbswitch'; echo "nVidia card at $a is $b"'

Você deve receber

nVidia card at 0000:01:00.0 is OFF

Ao executar glxinfo over optirun , por exemplo optirun glxinfo | grep OpenGL , você deve obter algo assim

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 540M/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 367.57
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 367.57
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:

que mostra que os drivers nvidia são usados por optirun .

Os passos 6-8 podem ser automatizados com o seguinte script bash.

if [ "$EUID" -ne 0 ]
  then echo "This script requires superuser privileges to run"
fi

sudo apt update

echo "Here is a list of (possibly) all the NVIDIA drivers available from your current software repositories"

apt-cache search nvidia- | grep "nvidia-[0-9]\+ - N"

echo -n "Enter the version that you wish to install and hit [ENTER]: "
read ver
echo $ver

echo "Installing the specified driver..."
sudo apt install -y nvidia-${ver}

echo -n "Removing duplicate entries in /etc/modprobe.d/bumblebee.conf... "
sed "/blacklist nvidia.\+$ver/d" /etc/modprobe.d/bumblebee.conf > bumblebee.conf
sed -i "/\#.\+$ver/d" bumblebee.conf
sed -i "/remove nvidia rmmod nvidia-drm nvidia-modeset nvidia-uvm nvidia/d" bumblebee.conf
echo "Done."

echo -n "Blacklisting the drivers... "
echo "# ${ver}" >> bumblebee.conf
echo "blacklist nvidia-${ver}" >> bumblebee.conf
echo "blacklist nvidia-${ver}-updates" >> bumblebee.conf
echo "blacklist nvidia-experimental-${ver}" >> bumblebee.conf
echo "remove nvidia rmmod nvidia-drm nvidia-modeset nvidia-uvm nvidia" >> bumblebee.conf
sudo cp /etc/modprobe.d/bumblebee.conf /etc/modprobe.d/bumblebee.conf.bak
sudo mv bumblebee.conf /etc/modprobe.d/bumblebee.conf
echo "Done."

echo -n "Configuring Bumblebee... "
sed "s/^Driver=$/Driver=nvidia/g" /etc/bumblebee/bumblebee.conf > bumblebee.conf
sed -i "s/^KernelDriver=nvidia-.*/KernelDriver=nvidia-${ver}/g" bumblebee.conf
sed -i "s|\(/usr/lib[32]*/nvidia-\)[^,:/\n]\+|${ver}|g" bumblebee.conf
sudo cp /etc/bumblebee/bumblebee.conf /etc/bumblebee/bumblebee.conf.bak
sudo mv bumblebee.conf /etc/bumblebee/bumblebee.conf
echo "Done."

sudo update-initramfs -u

echo ""
echo "Please restart your system for the changes to take effect."
    
por Phoenix87 12.11.2016 / 12:12