После обновления карта Nvidia идет по умолчанию

После недавнего обновления на 16.04.1, который включил драйверы Nvidia, карта Nvidia (Optimus) включена по умолчанию при каждой начальной загрузке, вызвав перегрев.

Я могу сказать, что карта идет потому что cat /proc/acpi/bbswitch возвраты 0000:01:00.0 ON. Для выключения его, я использую sudo tee /proc/acpi/bbswitch <<<OFF.

В прошлом, когда я экспериментировал с драйверами Nvidia и обрезными станками Xorg PPA repo, я испытал подобную проблему, которую я решил путем чистки repo и переустановки драйверов в Ubuntu repo. Так как последний является драйвером, который я в настоящее время использую, интересно, что я могу теперь сделать для решения проблемы.

1
задан 7 November 2016 в 00:29

1 ответ

После смешивания решений от Шмеля не disabeling NVIDIA и http://www.webupd8.org/2016/08/how-to-install-and-configure-bumblebee.html кажется, что у меня есть все назад в место теперь.

Вот шаги, которые я выполнил (по модулю плохая память!)

  1. Произведите чистку шмеля* и primus*

  2. Установка nvidia-prime

  3. Удостоверьтесь, что драйверы Nvidia установлены от Параметров настройки системы-> программное обеспечение и Обновления-> Дополнительные Драйверы. Я попробовал nvidia-370, но он не работал в первый раз. Можно дать ему попытку, но в конце у меня есть все работающее с собственным драйвером nvidia-367.

  4. sudo prime-select intel (если это перестало работать в первый раз, когда перезагрузка могла бы помочь).

  5. Установите Шмеля, тестирующего PPA ppa:bumblebee/testing и затем установка bumblebee

  6. Поместите в черный список драйверы, которые Вы выбрали в /etc/modprobe.d/bumblebee.conf. В моем случае я должен был добавить

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

    По-видимому, последняя строка крайне важна и одна вещь, которая получила это решение действительно работать на меня (без той строки, я все еще заставил карту Nvidia работать, но это включает автоматически при начальной загрузке, и это не повернется долой bbswitch).

  7. Настроить bumblebee путем редактирования /etc/bumblebee/bumblebee.conf. Посмотрите тщательно для Driver= в [bumblebeed] раздел. Вероятно, не необходимо, но если это - пробел после =, просто помещенный nvidia. Затем удостоверьтесь, что у Вас есть эти настройки

    [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

    Замените 367 своей выбранной версией.

  8. sudo update-initramfs -u

  9. Перезагрузка.

Для тестирования этого, все хорошо выполняется команда:

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

Необходимо добраться

nVidia card at 0000:01:00.0 is OFF

Путем выполнения glxinfo optirun, например, optirun glxinfo | grep OpenGL, необходимо получить что-то вроде этого

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:

который показывает, что драйверы Nvidia используются optirun.

Шаги 6-8 могут быть автоматизированы со следующим сценарием удара.

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]\+|\1${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."
1
ответ дан 7 December 2019 в 15:45

Другие вопросы по тегам:

Похожие вопросы: