Как заголовок, как я могу правильно установить технологию Optimus Nvidia на Ubuntu?
NB: это сообщение является результатом многих дней, проведенных, читая различные материалы в сети, поэтому берет его на Ваш собственный риск. Это было протестировано на Ubuntu 12.04/12.10/13.04/13.10/14.04 (все 64 бита) с видеокартой nVidia GT650M. Не стесняйтесь добавлять комментарии и предложения
1. В первую очередь, мы должны удалить все видеодрайверы на компьютере:
sudo apt-get remove --purge nvidia*
Затем шмель в случае, если, если Вы установили его ранее:
sudo apt-get remove --purge bumblebee*
Мы должны также удалить весь nouveau драйвер с:
sudo apt-get --purge remove xserver-xorg-video-nouveau
Чтобы убедиться удалить целые материалы, попытайтесь ввести dpkg -l | grep nvidia
и dpkg -l | grep bumblebee
: это ничего не должно возвращать. Для dpkg -l | grep nouveau
вероятно, что это возвращает некоторое высказывание строк libdrm-nouveauXXXXX
; на данный момент просто проигнорируйте их.
2. Затем мы должны гарантировать, чтобы иметь весь ввод заголовков:
sudo apt-get install linux-source && sudo apt-get install linux-headers-$(uname -r)
3. Следующая вещь сделать состоит в том, чтобы поместить в черный список остающиеся nouveau драйверы и некоторые другие пакеты, которые могли вызвать проблемы:
sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.bak
sudo gedit /etc/modprobe.d/blacklist.conf
Добавление следующих строк в конце файла:
# Necessary to install nvidia drivers
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off
options nouveau modeset=0
Просто сохраните и выйдите.
4. Теперь, работайте, лучшее знает команды человечности
sudo apt-get update && sudo apt-get dist-upgrade -y
5. С этого времени мы работаем над tty. Откройте tty1 консоль с CTRL+ALT+F1 и вход в систему с Вашим именем пользователя и паролем. Затем выполнитесь:
sudo service lightdm stop
Теперь мы установим драйверы. Выполнитесь:
sudo apt-get install nvidia-XXX-updates nvidia-settings
где XXX последние стабильные драйверы. Я использую этот 331 драйвер, но я считал где-нибудь, что эти 343 доступны загрузке (не знайте, стабильны ли они).
N.B: С последними версиями драйвера это также устанавливает nvidia-prime
по умолчанию. Эта технология предназначается для автоматического переключения между видеокартой Intel и Nvidia без вмешательства пользователя. Чтобы сделать это, это оставляет обоих картами включенный. Optimus, с другой стороны, включает видеокарту Nvidia только с явным пользовательским запросом; это переводит в значительно меньшем уважении потребляемой мощности к началу.
Я лично предпочитаю Optimus по началу, но если Вы не беспокоитесь об огромной трате энергии, остановитесь здесь. Иначе у Вас есть две опции:
полностью удалите главный (sudo apt-get remove --purge nvidia-prime
);
отпуск, главный там; в разделе "Prime with optimus" мы будем видеть, как заставить optirun работать также с установленным началом
6. Теперь, мы должны установить шмеля и virtualgl пакеты с
sudo apt-get install bumblebee bumblebee-nvidia virtualgl virtualgl-libs virtualgl-libs-ia32:i386 virtualgl-libs:i386
Затем мы должны добавить нашего пользователя в группе шмеля с:
sudo usermod -a -G bumblebee $USER
И затем перезагрузите ПК.
7. Войдите в систему на своей учетной записи пользователя, откройте новое окно терминала и тип:
cd /etc/bumblebee
ls -Al
Среди различных перечисленных файлов, должен быть два в особенности: bumblebee.conf
и xorg.nvidia.conf
. Давайте сделаем резервную копию из обоих с:
sudo cp FILE_NAME FILE_NAME.bak
Необходимо заменить FILE_NAME подлинным именем файла. Затем давайте пойдем для изменения первого файла с sudo gedit bumblebee.conf
, добавление (все без кавычек)
Гарантируйте, что "XorgConfFile" под [драйвером Nvidia] равен "/etc/bumblebee/xorg.conf.nvidia" (снова без кавычек), затем сохраните и закройте gedit.
Теперь мы должны отредактировать другой файл с sudo gedit xorg.conf.nvidia
(в этом случае мы должны вставить кавычки также!!). Замена Option "ConnectedMonitor" "DFP"
с Option "UseDisplayDevice" "none"
, сохраните и выйдите.
8. Выполненный gedit /etc/modprobe.d/bumblebee.conf
и удостоверьтесь что все строки, содержащие blacklist <something>
не прокомментированы (т.е. они не запускают с #
).
9. На данном этапе выполните следующую команду
sudo service bumblebeed start
Если это возвращает ошибку, попытайтесь выполнить снова команду с перезапуском, а не запуститься. Если у Вас есть все еще ошибки, что-то как:
restart: Unknown job: bumblebeed
Это - вероятно, что-то не так в bumblebee.conf файле; таким образом перепроверьте шаг 7.
Если вместо этого результат подобен:
bumblebeed start/running, process XXXXX
Вы скоро одеты, установив шмеля!
10. Теперь мы можем просто работать optirun glxspheres
или optirun glxspheres64
. Если вся работа как ожидалось, у Вас есть вывод как это:
$ optirun glxspheres64
Polygons in scene: 62464
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 650M/PCIe/SSE2
182.253407 frames/sec - 203.394802 Mpixels/sec
182.940725 frames/sec - 204.161849 Mpixels/sec
....
Для перепроверения этого, мы на самом деле используем драйверы Nvidia, открываем другой терминал в то время как optirun <application>
работает, затем введите sudo lshw -c display | grep driver
. Результат должен быть чем-то как этот.
configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0
Если с другой стороны, Вы закрываете все приложение, запущенное с optirun
это должно показать только драйвер Intel.Именно!!
Благодаря этому ответу от Pavak Paul вот инструкции добавить пользовательский интерфейс шмеля на Ubuntu 14.04 для управления приложениями, которые будут открыты с помощью Nvidia.
1. Установка индикатор приложения Python:
sudo apt-get install python-appindicator
2. Мерзавец установки:
sudo apt-get install git
3. Сделайте каталог для мерзавца:
mkdir git && cd git
4. Проверьте репозиторий:
git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL
5. Пойдите, чтобы Запустить Приложения и добавить, что индикатор шмеля [нажимает на Add, затем вставляет Имя и комментирует, что Вы хотите; вставить bumblebee-indicator
в поле команды и нажимают на Add).
6. Перезагрузка.
Если Вы хотите иметь опцию также использовать nvidia-prime
иногда, попытайтесь следовать инструкциям ниже.
1. Предотвратить bumblebeed
от запуска во время начальной загрузки выполнитесь:
echo "manual" | sudo tee /etc/init/bumblebeed.override
2. Эта точка является самой проблематичной; это предотвращает шмеля для помещения в черный список драйверов Nvidia и должно привести к графическому замораживанию сессии. Попробуйте его на Ваш собственный риск! Выполненный:
sudo gedit /etc/modprobe.d/bumblebee.conf
И прокомментируйте строку, содержащую Вашу Nvidia XXX драйверов. Это должно привести к чему-то как этот.
# XXX
#blacklist nvidia-XXX
#blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX
3. Перезагрузите систему и запуск nvidia-settings
. Заключительная ситуация - это:
Если Вы выбираете "Intel (Питание сохраняют)", в настройках Nvidia, у Вас есть только видеокарта Intel, включенная по умолчанию. Все еще необходимо запустить приложение с optirun
использовать видеокарту Nvidia
sudo service bumblebeed start
optirun <application>
Если вместо этого Вы хотите использовать "Nvidia (Производительность)" профиль, выберите его из настроек Nvidia, то войдите в систему/выйдите из системы, и все должны работать автоматически. Единственная вещь состоит в том, что Вы не должны запускаться bumblebeed
демон с этим профилем выбрал, потому что он мог доставить неприятности.
1. Если Вы хотите использовать только nvidia-prime
:
sudo apt-get --purge remove bumblebee*
Затем перезагрузка.
2. Если Вы хотите использовать только Optimus, не удаляя главный Nvidia, отредактируйте снова предыдущий файл:
sudo gedit /etc/modprobe.d/bumblebee.conf
Некомментарий (удаление # символа) от строк ранее изменил:
# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX
И перезагрузка. В этом случае можно оставить bumblebeed выполненным во время начальной загрузки:
sudo rm /etc/init/bumbebeed.override