С выходом нового Bumblebee 3.1 и новых драйверов от nvidia 310-x у пользователей возникло много проблем с работоспособностью гибридной графики optimus в linux-e
Опишу поэтапную инструкцию установки,
актуально для ubuntu 12.10 и походных
(Мой конфиг:Dell inspirion 7720, i7-3620,vertex4 ssd, gt650m+intel4000
Linux Mint 14 Cianomon x64 (на ubuntu 12.10))
под катом инструкция:
Открываем терминал
Добавляем респозиторий Bumblebee
sudo add-apt-repository ppa:bumblebee/stable
Добавляем респозиторий драйверов nvidia
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install linux-headers-generic bumblebee bumblebee-nvidia
sudo apt-get install nvidia-experimental-310
sudo apt-get install nvidia-settings-experimental-310
Установка primus
(если у вы его уже устанавливали ранее удалите респозиторий ppa:zhurikhin/primus с источников приложений, он уже есть в ppa:bumblebee,выше добавленом )
sudo apt-get install primus
Если у вас 64 битная система установите еще:
sudo apt-get install primus-libs-ia32
Далее отредактируем конфиги под новые драйвера
sudo gedit /etc/bumblebee/bumblebee.conf
и изменяем там такие строки: (в номерах строк возможно расхождение, смотрим по содержимому)
- строка 22, делаем такой вид
Driver=nvidia
- строка 47 делаем такой вид:
KernelDriver=nvidia-experimental-310
- строка 51 делаем такой вид:
LibraryPath=/usr/lib/nvidia-experimental-310:/usr/lib32/nvidia-experimental-310
- строка 54 делаем такой вид:
XorgModulePath=/usr/lib/nvidia-experimental-310/xorg,/usr/lib/xorg/modules
---
Далее правим конфиг primus
sudo gedit /usr/bin/primusrun
Строка 16:
export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/lib/nvidia-experimental-310/libGL.so.1:/usr/lib32/nvidia-experimental-310/libGL.so.1'}
Строка 26:
case $PRIMUS_libGLa in
/usr/lib*/nvidia-experimental-310*)
---
Все. С установкой закончили.В терминале
sudo service bumblebeed restart
Перезагружаемся.
Открываем терминал, выполняем
lspci -vnn | grep '\''[030[02]\]'
(Должно отобразится 2 видеокарты, если одна, как у меня, делаем так: выключаем ноутбук Полностью!, включаем, загружаемся, проверяем снова командой выше)
должно быть на подобии этого
Поехали далее.$ lspci -vnn | grep '\''[030[02]\]'00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA controller])01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107 [GeForce GT 650M] [10de:0fd1] (rev ff) (prog-if ff)
В терминале выполняем (показать статус дискретной карты)
cat /proc/acpi/bbswitch
если видите надпись вроде
0000:01:00.0 OFF, значит все хорошо, переходим в конец статьи.
Если же выдает ошибку делаем так:
sudo gedit /etc/rc.local
прописываем в автозагрузку команду
вставляем текст после строки
# By default this script does nothing.
sleep 5 && sudo service bumblebeed restartВыключаем компьютер (важно)
Снова В терминале выполняем (показать статус дискретной карты)
cat /proc/acpi/bbswitch
надпись должна быть:
0000:01:00.0 OFFЗаключение. Использование
чтобы отключить вертикальную синхронизацию (для тестов, для игр в повседневной работе ее не нужно отключать) перед командой пишем: vblank_mode=0
пример запуск : glxspheres
С интегрированой видеокартой, в терминале:
vblank_mode=0 glxspheres
С дискретной через optirun
vblank_mode=0 optirun glxspheres
С дискретной через primusrun
vblank_mode=0 primusrun glxspheres
или
vblank_mode=0 optirun -b primus glxspheres
Результаты роботы на моей intel 4000 + gt 650m
Интегрированая 172.931228 frames/sec - 192.991251 Mpixels/sec
С дискретной через optirun 181.912737 frames/sec - 145.471977 Mpixels/sec
С дискретной через primusrun 350.961342 frames/sec - 399.672857 Mpixels/sec
Запуск steam:
primusrun steam
(Далее все игры будут запускаться со стима через дискретную)
запустить без вертикальной синхронизации (отключить ограничение в 60 фпс в игре)
vblank_mode=0 primusrun steam
Пример запуска не установленной игры с ntfs диска
primusrun /media/EEEE/Games/Nexuiz/nexuiz-linux-x86_64-glx -basedir /media/EEEE/Games/Nexuiz/
Пример запуска windows игры через wine с дискретной картой
primusrun wine "/media/EEEE/Games/Dead Rising 2 Off The Record/deadrising2otr.exe"
(можно сделать скрипт на рабочем столе и выполнять его как ярлык)
---
Возможные проблемы и решения
Если steam игры не запускаются зайдите в свойства игры в клиенте и отключите сообщество steam.
Демон bumblebee не запущен
проверяем , выполняем
lspci -vnn | grep '\''[030[02]\]'(Должно отобразится 2 видеокарты, если одна то выключаем компьютер и загружаемся, не перезагрузка а отключение, есть глюки иногда)
если в списке 2 видеокарты пробуем
перезапускаем
sudo service bumblebeed restart
Если у вас шмель запущен но не работает optirun/ primusran
в файле /etc/bumblebe/xorg.conf.nvidia изменяем "ConnectedMonitor" "DFP" на "UseDisplayDevice" "none"