Як встановити драйвери nVidia за допомогою Bumblebee на Ubuntu 14.04


Відповіді:


26

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 доступні для завантаження (не знаю, чи вони стабільні).

Примітка. З останніми версіями драйверів він також встановлюється nvidia-primeза замовчуванням. Ця технологія призначена для автоматичного перемикання між графічною карткою Intel та nVidia без втручання користувача. Для цього він залишає ввімкнені обидві карти. Optimus, з іншого боку, вмикає графічну карту nVidia лише з явним запитом користувача; це означає значно менший рівень споживання електроенергії на прайм.

Я особисто віддаю перевагу оптимусу над прем'єр-міністром, але якщо ви не турбуєтесь про величезні витрати енергії, зупиніться тут. В іншому випадку у вас є два варіанти:

  • повністю видалити prime ( sudo apt-get remove --purge nvidia-prime);

  • залишити там прайм; у розділі "Prime з оптимумом" ми побачимо, як змусити 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додавання (все без лапок)

  • [джміль] розділ: після "Драйвер =" вставити "nvidia"
  • розділ [nvidia-driver]: після "KernelDriver =" вставити "nvidia-XXX-updates"
  • розділ [nvidia-driver]: після "LibraryPath =" вставити "/ 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 / module"

Переконайтеся, що "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, відкрийте інший термінал під час 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. Встановити 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 (продуктивність)", виберіть його з налаштувань nvidia, потім увійдіть / вийдіть, і все має працювати автоматично. Єдине, що вам не доведеться запускати bumblebeedдемон із цим вибраним профілем, оскільки це може спричинити неприємності.

У разі виникнення проблем:

1. Якщо ви хочете використовувати лише nvidia-prime:

sudo apt-get --purge remove bumblebee*

Потім перезавантажте.

2. Якщо ви хочете використовувати лише оптимус, не знімаючи 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

1
Я дотримувався вказівок на Ubuntu 14.04, але мій екран після чорного екрана стає чорним, і я не можу увійти. Використовуючи Dell xps l502x, nvidia gfrc gt540m.
DeepSidhu1313

1
Ви впевнені, що дотримувались усіх вказівок з самого початку? У будь-якому випадку натисніть CTRL + ALT + F1 для доступу до програми tty, а потім введіть свої реєстраційні дані та перезапустіть спочатку.
tigerjack89

1
Гаразд, я вирішив проблему, використовуючи vblank_mode=0 primusrun ./glxgearsабо ми можемо використовувати vblank_mode=0 optirun -b primus ./glxgears. дякую :)
DeepSidhu1313

1
зверніть увагу, мені довелося встановити xorg-edgers ppa, щоб отримати пакунки virtualgl. У чистій установці Ubuntu 14.04
Ubuntuser

1
Це, безумовно, самий сучасний підручник, за який я це готую. Я перевірив, і він працює до 17.10. Хороша робота.
Doodloo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.