Lenovo IdeaPad Y580 + NVidia GTX 660M + Ubuntu 12.04

Lenovo IdeaPad Y580

Za napunjenih prvih 35 godina života častio sam sebe jednim finim laptopom – Lenovo IdeaPad Y580 20132 koga pokreće procesor Intel i5 3210M, grafička karta NVIDIA GeForce GTX 660M sa 2 GB DDR5 memorije, 4 GB DDR3 memorije, hard disk Seagate od 1 TB, i još koješta.

Dok čekam da Valve napravi Steam i Left4Dead 2 za Linuks, zasukao sam rukave i osposobio pingvina da komunicira sa tehnologijom NVidia Optimus koja omogućava upotrebu integrisane (Intel 4000 HD, u mom slučaju) grafike za obične poslove, čime se značajno štedi energija a posebno baterija na laptopu, i samo u slučaju da treba raditi negu zahtevnu grafičku obradu pokreće „diskretna grafika“, t.j. punokrvna grafička kartica, u ovom slučaju NVIDIA. Dakle, ovo ne radi „out of the box“ već mora malo da se hakuje.

Dok sama NVIDIA ne sredi funkcionalni Optimus na Linuksu unutar svojih vlasničkih drajvera, koristiće nam projekat Bumblebee.

Dodavanje Bumblebee i drugih PPA riznica

Prvo ćemo da dodamo Bublebee PPA riznicu komandom

sudo add-apt-repository ppa:bumblebee/stable

Iskusniji kažu da je za starije verzije Ubuntua (11.10 i starije) potrebno dodati i PPA riznicu X-SWAT, a ja sam je dodao i na 12.04 komandom:

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

Sledi osvežavanje APT keša i instalacija paketa bumblebee i bumblebee-nvidia:

sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia

Dodatne intervencije za Y580

Ovo što je do sada urađeno bi uglavnom trebalo da bude sve, i da nakon ponovnog logovanja ili restartovanja mašine bude omogućena upotreba NVidia grafike, ali na ovom laptopu (a i na dosta drugih, bar tako kaže Google), treba još malo prčkanja po terminalu.

Zbog nekakvog problema sa kontrolom energije koji ima BIOS na Y580, treba da se instalira acpi-handle-hack, što nije nikakav problem ako sledite sledeće uputstvo (preuzeo sam ga odavde):

$ git clone git://github.com/Bumblebee-Project/bbswitch.git -b hack-lenovo
$ cd bbswitch
# mkdir /usr/src/acpi-handle-hack-0.0.1
# cp Makefile acpi-handle-hack.c /usr/src/acpi-handle-hack-0.0.1
# cp dkms/acpi-handle-hack.conf /usr/src/acpi-handle-hack-0.0.1/dkms.conf
# apt-get install linux-headers-$(uname -r)
# dkms add acpi-handle-hack/0.0.1
# dkms build acpi-handle-hack/0.0.1
# dkms install acpi-handle-hack/0.0.1

Ako sve ovo prođe bez greške, a trebalo bi (bar je kod mene prošlo), omogućićemo našoj mašini da ovaj hak učitava prilikom pokretanja sistema kucanjem sledećih komandi u terminalu:

echo acpi-handle-hack | sudo tee -a /etc/modules
sudo update-initramfs -u

Još malo da Bumblebee poleti

Sad ću kao oni u telešopovima: Ali! To nije sve! :) Otvaramo datoteku /etc/bumblebee/bumblebee.conf

sudo gedit /etc/bumblebee/bumblebee.conf

i u liniji gde stoji samo

Driver=

dodajemo jedno nvidia:

Driver=nvidia

Sačuvamo ove izmene i odmah otvaramo datoteku /etc/bumblebee/xorg.conf.nvidia za još malo izmena. Ako ovaj korak preskočite, postoji mogućnost da stvar ne funkcioniše i da prilikom pokretanja mašinerije u dmesg izlazu uočite sledeće greške:

[   18.249991] bbswitch: version 0.4.2
[   18.249998] bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
[   18.250006] bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.VGA_
[   18.250023] bbswitch: failed to evaluate _DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[   18.250031] bbswitch: failed to evaluate _DSM {0xA0,0xA0,0x95,0x9D,0x60,0x00,0x48,0x4D,0xB3,0x4D,0x7E,0x5F,0xEA,0x12,0x9F,0xD4} 0x102 0x0 {0x00,0x00,0x00,0x00}: AE_NOT_FOUND
[   18.250063] bbswitch: No suitable _DSM call found.

Dakle, otvaramo:

sudo gedit /etc/bumblebee/xorg.conf.nvidia

i u sekciji Device zakomentarišemo liniju:

Option "ConnectedMonitor" "DFP"

a dodamo novu ispod nje

Option "UseDisplayDevice" "none"

Sačuvamo ove izmene i ostaje još ili da se mašina restartuje ili da se korisnik izloguje i ponovo uloguje.

Kako Bumblebee radi?

E sad, kad treba da se pokrene neki program čija će grafika da bude obrađivana od strane NVidia karte, ispred komande programa ubacujemo optirun. Dakle, ako hoćemo da pokrenemo GIMP, recimo, kucamo komandu:

$ optirun gimp

Da bi utvrdili da li ovo zapravo funkcioniše, možete da iskoristite glxgears. Na slici ispod možete da vidite kakvo je stanje kod mene, bez i sa NVidia grafikom.
glxgears bez i sa NVIDIA grafikom

9 responses to Lenovo IdeaPad Y580 + NVidia GTX 660M + Ubuntu 12.04

Odlično, mnogi muku muče sa optimusom (i pri tome ne mislim na desepticone) i ovo će im svakako pomoći, ali, jedan savet za tebe, iz serviserskog iskustva – hladi dobro tog Lenova. Lapovi sa nVidia grafikama su najčešći posetioci servisa… Redovno čišćenje, dodatno hlađenje i praćenje temperature su najbolja preventiva.

Veruj, ja ni svoj lap koji je čist intel ne koristim bez dodatnog hlađenja ako ne moram, a ove sa nVidiom pod obavezno… kakav god, samo da piri pod njim, bolje sprečiti nego lečiti…

Eto, a ja sam moj Lenovo N500 sa integrisanom grafikom celo leto ganjao bez lađenja (doduše, stajao je na hladnjaku koji je bio isključen) i pretek’o je i treću godinu u radu 24/7 :)

Al za ovaj sam planirao neki http://www.coolermaster.com/product.php?product_id=6703 ili http://www.coolermaster.com/product.php?product_id=6694 jer imaju veliki ventilator od 160 mm i skroz perforiranu mrežu ka podnožju laptopa. Ili imaš neki bolji predlog?

Integrisana rešenja nisu problematična, diskretna jesu, jača su, troše više struje ergo veće zagrevanje… Bilo koji od ta dva će biti više nego dovoljan :)

Pravo da ti kažem, ne znam. Pod Vindouzom postoji alat kojim omogućavaš baš to – produžavanje veka bateriji smanjivanjem postotka napunjenosti. Ja sam bateriju izvadio i laptop mi je neprekidno na napajanju.

Leave a Reply