У меня есть ноутбук с Ubuntu 15.04 на нем и видеокарта Nvidia GT840M. Я установил видеодрайвер таким образом:
sudo apt-get purge nvidia*
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-340
sudo apt-get install nvidia-settings
sudo nvidia-xconfig
После этого я установил bumblebee и primus
sudo apt-get install bumblebee
sudo apt-get install bbswitch-dkms
sudo apt-get install primus
sudo systemctl enable bumblebeed
В /etc/modules-load.d/modules.conf я добавил строки
i915
bbswitch
И в /etc/modprobe.d/nouveau.conf я добавил строку
blacklist nouveau
Почти все работает нормально. В настройках nvidia (sudo gksu nvidia-settings) я выбрал CPU, который я хочу использовать Intel (power saving mode), и моя дискретная видеокарта отключена по умолчанию (как я и хотел, потому что мне нужен мой ноутбук в университете, где у меня не так много розетки для зарядки и включения видеокарты использует много энергии). Когда я запускаю свой компьютер и набираю lspci -v, у меня есть сообщение
03:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 840M] (rev ff) (prog-if ff)
!!! Unknown header type 7f
, в котором говорится, что моя карта отключена - теперь все в порядке.
The problem is, когда я пытаюсь использовать свою карту, например. primusrun firefox он включается, и когда я останавливаю firefox, он не отключается. Поэтому я продолжаю включать и использовать много энергии. Единственный способ отключить его -
# echo OFF > /proc/acpi/bbswitch
Но я не хочу делать это все время, когда я его использую. Как это сделать автоматически?
Эта проблема возникла только тогда, когда я начал использовать Ubuntu 15.04. Перед этим (у меня был Ubuntu 14.10) он работал нормально.
Я не знаю, как это сделать «автоматически», само по себе, но вы можете просто попробовать поместить shellscript на свой рабочий стол, а затем запускать его каждый раз, когда вы закрываете любую программу, которую используете. Не обязательно то, что вы ищете, но временное, менее утомительное решение, по крайней мере.