Как установить драйверы nVidia с помощью Bumblebee на Ubuntu 14.04

Как заголовок, как я могу правильно настроить технологию nvidia-optimus в Ubuntu?

1 ответ

Решение

NB: этот пост является результатом многих дней, проведенных за чтением различных материалов в Интернете, поэтому рискуйте им на свой страх и риск. Он был протестирован на Ubuntu 12.04/12.10/13.04/13.10/14.04 (все 64-битные) с графической картой nVidia GT650M. Не стесняйтесь добавлять комментарии и предложения


Установите nVidia и шмель

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. Теперь запустите лучшие команды Ubuntu

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 доступны для загрузки (не знаю, стабильны ли они).

NB: с последними версиями драйверов, он также устанавливает nvidia-prime по умолчанию. Эта технология предназначена для автоматического переключения между графической картой Intel и nVidia без вмешательства пользователя. Для этого он оставляет обе карты включенными. Optimus, с другой стороны, включает графическую карту nVidia только с явным запросом пользователя; это переводит в значительно меньшем энергопотреблении по сравнению с премьер.

Я лично предпочитаю "Оптимус", а не "Прайм", но если вы не беспокоитесь об огромных потерях энергии, остановитесь здесь В противном случае у вас есть два варианта:

  • полностью удалить премьер (sudo apt-get remove --purge nvidia-prime);

  • оставьте премьер там; в разделе "Prime with optimus" мы увидим, как заставить optirun работать и с установленным Prime

6. Теперь мы должны установить пакеты bumblebee и 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, добавив (все без кавычек)

  • Раздел [шмель]: после "Driver=" вставить "nvidia"
  • Раздел [nvidia-driver]: после "KernelDriver=" вставить "nvidia-XXX-updates"
  • Раздел [nvidia-driver]: после "LibraryPath=" insert "/usr/lib/nvidia-XXX-updates, /usr/lib/nvidia-331-updates:/usr/lib32/nvidia-XXX-updates"
  • Раздел [nvidia-driver]: после "XorgModulePath=" вставьте "/usr/lib/nvidia-XXX-updates/xorg,/usr/lib/xorg/modules"

Убедитесь, что "XorgConfFile" в [nvidia-driver] равен "/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-drivers, откройте другой терминал, пока optirun <application> работает, затем введите sudo lshw -c display | grep driver, Результат должен быть примерно таким.

configuration: driver=nvidia latency=0
configuration: driver=i915 latency=0

Если, с другой стороны, вы закрываете все приложения, запущенные с optirun он должен показывать только драйвер Intel. Это оно!!


Установить интерфейс Bumblebee

Благодаря этому ответу от Павака Пола, вот инструкции по добавлению пользовательского интерфейса шмеля в Ubuntu 14.04 для управления приложениями, которые будут открываться с помощью nVidia.

1. Установите индикатор приложения Python:

sudo apt-get install python-appindicator

2. Установите Git:

sudo apt-get install git

3. Создайте каталог для git:

mkdir git && cd git

4. Проверьте хранилище:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

5. Зайдите в "Автозагрузка приложений" и добавьте шмель-индикатор [нажмите "Добавить", затем введите желаемое имя и комментарий; вставить bumblebee-indicator в командной строке и нажмите кнопку Добавить).

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 (Performance)", выберите его в настройках nvidia, затем войдите / выйдите из системы, и все должно работать автоматически. Единственное, что вам не нужно запускать bumblebeed демон с этим профилем выбран, потому что это может вызвать проблемы.

Если у вас есть проблемы:

1. Если вы хотите использовать только nvidia-prime:

sudo apt-get --purge remove bumblebee*

Затем перезагрузите компьютер.

2. Если вы хотите использовать только optimus без удаления nvidia-prime, снова отредактируйте предыдущий файл:

sudo gedit /etc/modprobe.d/bumblebee.conf

Раскомментирование (удаление символа #) из ранее измененных строк:

# XXX
blacklist nvidia-XXX
blacklist nvidia-XXX-updates
blacklist nvidia-experimental-XXX

И перезагрузка. В этом случае вы можете оставить запуск шмеля во время загрузки:

sudo rm /etc/init/bumbebeed.override
Другие вопросы по тегам