Bumblebee and Primus for Ubuntu 12.10

Tym razem troszeczkę bardziej praktyczny wpis, czyli jak można podkręcić hybrydową kartę graficzną (Intel plus Nvidia) pod dystrybucjami Ubuntu 12.10 oraz Mint 14. Oczywiście po to, żeby była jeszcze bardziej wydajna niż dotychczas.

Co najpierw trzeba zrobić, to zainstalować programik Bumblebee Project, za pomocą którego będziemy mogli korzystać nie tylko zintegrowanej z procesorem karty graficznej Intel, ale również z drugiej (bardziej wydajnej) dedykowanej karty graficznej Nvidia.

Instalacja wygląda w następujący sposób, czyli w konsoli wpisujemy:


sudo add-apt-repository ppa:bumblebee/stable

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates

sudo apt-get update

sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic

Jeśli wszystko się zainstalowało, to możemy ponowie uruchomić komputer.

Teraz możemy sprawdzić, czy działa program bumblebee, wpisując w konsoli np.:

 
optirun firefox  

Zresztą tutaj jest to porządnie opisane, czyli jak się instaluje i używa bumblebee: Ubuntu wiki

Kolejną czynnością, która trzeba wykonać jest zainstalowanie dodatku do projektu Bumblebee, czyli tzw. primus, dzięki któremu nasza dedykowana karta graficzna Nvidia będzie miała jeszcze lepszą wydajność.

Wystarczy w konsoli wpisać:


sudo add-apt-repository ppa:zhurikhin/primus

sudo apt-get update

sudo apt-get install primus

Dla przykładu chcę pokazać jaka jest różnicą, czyli kilka testów na FPS - potocznie nazywa się to klatka na sekundę. Do tego celu użyjemy: glxspheres.

Tak wygląda szybkość zintegrowanej kart graficznej Intel.


mariusz@aspire ~ $ glxspheres 
Polygons in scene: 62464
Visual ID of window: 0xa1
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2
60.365621 frames/sec - 59.205877 Mpixels/sec
60.168687 frames/sec - 59.012726 Mpixels/sec
60.169329 frames/sec - 59.013356 Mpixels/sec
60.146721 frames/sec - 58.991182 Mpixels/sec
60.166224 frames/sec - 59.010310 Mpixels/sec
60.174797 frames/sec - 59.018719 Mpixels/sec
60.126156 frames/sec - 58.971012 Mpixels/sec
mariusz@aspire ~ $ 

Szybkość dedykowanej karty graficznej Nvidia, uruchomionej poleceniem:


 optirun


mariusz@aspire ~ $ optirun glxspheres 
Polygons in scene: 62464
Visual ID of window: 0x21
Context is Direct
OpenGL Renderer: GeForce GT 540M/PCIe/SSE2
130.298836 frames/sec - 127.795535 Mpixels/sec
135.428183 frames/sec - 132.826337 Mpixels/sec
129.341148 frames/sec - 126.856245 Mpixels/sec
127.546758 frames/sec - 125.096329 Mpixels/sec
126.988452 frames/sec - 124.548750 Mpixels/sec
139.432488 frames/sec - 136.753711 Mpixels/sec
mariusz@aspire ~ $ 

Szybkość również dedykowanej karty graficznej Nvidia, ale tym razem bumblebee oraz primus, czyli polecenie:


 vblank_mode=0 primusrun


mariusz@aspire ~ $ vblank_mode=0 primusrun glxspheres 
Polygons in scene: 62464
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
Visual ID of window: 0xa1
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
Context is Direct
OpenGL Renderer: GeForce GT 540M/PCIe/SSE2
primus: sorry, not implemented: glXUseXFont
271.604915 frames/sec - 266.386842 Mpixels/sec
275.019543 frames/sec - 269.735868 Mpixels/sec
274.482706 frames/sec - 269.209344 Mpixels/sec
274.343591 frames/sec - 269.072902 Mpixels/sec
273.912865 frames/sec - 268.650451 Mpixels/sec
272.634253 frames/sec - 267.396404 Mpixels/sec
274.099136 frames/sec - 268.833143 Mpixels/sec
273.309664 frames/sec - 268.058839 Mpixels/sec
mariusz@aspire ~ $ 

Jak widać jest różnica w szybkości, a co za tym idzie, oczywiście lepsza wydajność w grach. Bo chyba tylko drugą, lepszą kartę graficzną używamy do gier. Właśnie ja tak robię, jeśli dana gierka nie chce działać na karcie Intel HD Graphics 3000 lub idzie na niej słabo, uruchamiam drugą kartę Nvidia GT 540M.

Podobne testy możemy wykonać, wpisując w konsoli:


glxgears 

optirun glxgears

vblank_mode=0 primusrun glxgears

Dlatego teraz będziemy mogli uruchomić przykładowa grę na dwa sposoby, tak jak to robiliśmy dotychczas, wpisując w konsoli np.:


optirun nexuiz

lub drugim sposobem, żeby gra chodziła jeszcze lepiej, płynniej, czyli troszeczkę dłuższą formułkę wpiszemy w konsoli:


vblank_mode=0 primusrun nexuiz

Takie jest właśnie kombinowanie pod Linuksem, jak się ma hybrydową kartę graficzną Intel + Nvidia. Kombinowanie, do którego naturalnie można się przyzwyczaić. Krążą plotki, że w końcu zrobią porządek z technologią Nvidia Optimus w systemach Linux, ale nie wiadomo, kiedy to będzie. Znowuż pocieszające jest to, że linuksowa platforma Steam będzie również robiona pod kątem Bumblebee Project.

Mam nadzieje, że w miarę logicznie opisałem całość zagadnienia. Na pewno niejeden używa Bumblebee Project i będzie wiedział, o co dokładnie chodzi.

Pozdrawiam.