Ubuntu 12.04 (és 14.04) Nvidia Optimusszal

Frissítve Ubuntu 14.04-es instrukciókkal

Az Nvidia Optimus technológia lehetővé teszi a váltást az alaplapi, energiatakarékos Intel grafikus vezérlő és a nagy teljesítmenyű Nvidia grafikus vezérlő között. A Windowsban automatikus a váltás, az Ubuntuban viszont nem az.

Akik a 12.04.2-es vagy korábbi cd-ről telepítették az Ubuntut, azoknak a gépén csak az alaplapi grafikus vezérlőt kapcsolja be az Ubuntu, így sokáig bírja ugyan az akkumulátor, de nem futnak jól a nagyobb grafikai igényű programok. Akik a 12.04.3-as dvd-ről telepítették, azoknak állandóan be van kapcsolva az Nvidia vezérlő, így minden jól fut, csak túl hamar lemerül az akkumulátor.

Az lenne optimális mosoly, ha a Windowshoz hasonlóan alapjáraton csak az energiatakarékos alaplapi grafikus vezérlő futna, de bármikor be lehetne kapcsolni az Nvidiát is. Erre való a Bumblebee.

Tartalom

A Bumblebee telepítése és beállítása

1. A Bumblebee telepítése

A Bumblebeeből nincs csomag az Ubuntu tárolóiban, ezért előbb fel kell vennünk a tárolóját. Indítsuk el a Terminált:

Terminál indítása

Másoljuk be az alábbi parancsot, és nyomjuk le az Entert:

sudo add-apt-repository ppa:bumblebee/stable

A Terminál kérni fogja a jelszavunkat. Gépeljük be (nem fog látszani, de ez így jó), majd nyomjuk le az Entert. A Terminál röviden ismerteti, hogy mire való a Bumblebee, majd kiírja, hogy a folytatáshoz nyomjuk le az Entert, vagy visszakozzunk Ctrl+C-vel. Nyomjuk le az Entert.

A tároló sikeres hozzáadása után frissítsük a csomaglistát:

sudo apt-get update

Még mielőtt telepítenénk a Bumblebeet, távolítsuk el az nvidia-prime csomagot. Ez nem biztos, hogy telepítve van, de ha igen, zavarja a Bumblebeet:

sudo apt-get remove nvidia-prime

Most már telepíthetjük a Bumblebeet:

sudo apt-get install nvidia-331 bumblebee virtualgl primus

A Bumblebeet csak olyan felhasználó tudja használni, aki tagja a bumblebee csoportnak. Aki a Bumblebeet telepítette, az automatikusan tagja lesz, de a többiek nem. Ha másnak is van fiókja a gépen, és azt akarjuk, hogy ő is használhassa a Bumblebeet, így adhatjuk hozzá a bumblebee csoporthoz:

sudo gpasswd -a felhasznalonev bumblebee

Még ne indítsuk újra a gépet, mert előtte még szerkesztenünk kell az /etc/bumblebee/xorg.conf.nvidia fájlt.

[Tartalom]

2. Az xorg.conf.nvidia beállítófájl szerkesztése

A Bumblebee telepítése után még be kell írnunk az Nvidia grafikus vezérlő buszazonosítóját az /etc/bumblebee/xorg.conf.nvidia fájlba. Ha ezt elmulasztjuk, nem fogjuk tudni az Nvidiát használni.

Az /etc/bumblebee/xorg.conf.nvidia fájlt csak rendszergazdajoggal lehet szerkeszteni. Ezt a jogot a gksu programmal fogjuk majd megkapni. A gksu program az Ubuntu 12.04-ben alapból benne van, Ubuntu 14.04 alá viszont nekünk magunknak kell telepítenünk.

Terminál Terminálba gépeljük be az alábbi parancsot, és nyomjuk le az Entert:

lspci | grep -i nvidia

A Terminál ki fog írni egy sort, elején a grafikus vezérlő buszazonosítójával. Az én gépemen ezt írja ki:

01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 520M] (rev ff)

Ebből a 01:00.0 a buszazonosító.

Az Alt+F2 billentyűkombinációval hívjuk elő a Parancs futtatását:

Alt+F2: Parancs futtatása

Egyes laptopokon (pl. Lenovókon) az Fn billentyűt is lenyomva kell közben tartani: Fn+Alt+F2.

Gépeljük be, hogy gksu gedit, és nyomjuk le az Entert:

gksu gedit

Megnyitás Kattintsunk a Megnyitásra. A Fájlok megnyitása párbeszédablak Helyek panelében kattintsunk a Fájlrendszerre, a Név panelben pedig menjünk bele az /etc/bumblebee mappába, és nyissuk meg az xorg.conf.nvidia fájlt:

/etc/bumblebee/xorg.conf.nvidia megnyitása

A fájlban ez után:

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"

írjuk be a buszazonosítót (példánkban 01:00.0) úgy, hogy a pontot cseréljük benne kettőspontra (01:00:0):

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"
    BusID       "PCI:01:00:0"

Ne a példából írjuk be a buszazonosítót, hanem ennek a parancsnak a kimenetéből:

lspci | grep -i nvidia

Mentés Mentsük a fájlt, de még ne lépjünk ki a geditből, mert ha az nvidia-331 illesztőprogramot használjuk az Nvidia grafikus kártyához, akkor még szerkesztenünk kell az /etc/bumblebee/bumblebee.conf beállítófájlt is.

[Tartalom]

3. A bumblebee.conf beállítófájl szerkesztése

Megnyitás Nyissuk meg az /etc/bumblebee/bumblebee.conf fájlt, és keressük meg benne ezt a sort:

Driver=

Írjuk be az egyenlőségjel után csupa kisbetűvel, hogy nvidia:

Driver=nvidia

Ezután kattintsunk a Keresésre, azon belül pedig a Cserére, és cseréljük ki az nvidia-current összes példányát arra, hogy nvidia-331:

nvidia-331

Mentés Mentsük a fájlt, lépjünk ki a szövegszerkesztőből, és indítsuk újra a gépet.

[Tartalom]

A Bumblebee használata

Miután telepítettük a Bumblebeet, és újraindítottuk a gépet, alapból az energiatakarékos integrált grafikus vezérlő fog futni, de bármely programot indíthatunk úgy, hogy bekapcsoljuk hozzá az Nvidiát. Az alábbi példákban a GLX Spheres tesztprogramot fogjuk különféle módokon indítani.

Indítsuk el a Terminál Terminált, gépeljük az alábbi parancsot, és nyomjuk le az Entert:

glxspheres64

32 bites rendszeren csak annyit gépeljünk be, hogy glxspheres

Így, hogy csak a parancsot gépeltük be, a GLX Spheres az alaplapi grafikus vezérlőt fogja használni. Hagyjuk pár másodpercig futni, majd zárjuk be, és indítsuk el így:

optirun glxspheres64

Így már az Nvidia grafikus vezérlőt fogja használni a GLX Spheres (minden más viszont továbbra is az energiatakarékos Intel grafikus vezérlőt).

Az Nvidia grafikus vezérlő bekapcsolásának egy másik módja a primusrun:

primusrun glxspheres64

Azon az alapon, hogy az LCD-kijelzők egyébként sem váltanak másodpercenként 60-nál többször képet, a primusrun nem viszi ennél feljebb a képkockarátát, hacsak nem így indítjuk:

vblank_mode=0 primusrun glxspheres64

De így csak azt érjük el, hogy szaggatni fog a kép, és gyorsabban merül az akkumulátor.

GLX Spheres

[Tartalom]

Parancsikonok szerkesztése

Ahhoz, hogy a nagyobb grafikai igényű programok (ilyen például a Google Föld vagy az Ubuntu szoftverközpontból telepíthető gl-117 repülőgép-szimulátor) ne csak Terminálból indítva használhassák az Nvidia grafikus vezérlőt, hanem a Dashből vagy az Indítóból indítva is, szerkesztenünk kell a parancsikonjukat.

Dash & Indító

De ne essünk túlzásba! Azokhoz a programokhoz, amelyek jól elfutnak az Intel grafikus vezérlővel is (és a legtöbb program ilyen) teljesen fölösleges bekapcsolni az Nvidiát, mert gyorsabbak nem lesznek tőle, csak az akkumulátor fog sokkal hamarabb lemerülni.

A parancsikonokat a saját fiókunkban és rendszerszinten is szerkeszthetjük. Mindkettőnek megvan az előnye és a hátránya. A saját fiókban szerkesztett parancsikont nem írják felül a programfrissítések, viszont többfelhasználós gépen minden fiókban külön meg kell csinálni (vagy legalábbis mindenki fiókjába át kell másolni a mienkből). A rendszerszintű módosítás minden felhasználót érint, de ha frissül a program, ismét át kell írni a parancsikont.

[Tartalom]

Parancsikon szerkesztése saját fiókban

Kattintsuk a Dash-ikonra, gépeljük be, hogy gedit, és nyomjuk le az Entert:

Szövegszerkesztő indítása

Megnyitás Nyissuk meg a szerkeszteni kívánt parancsikont, pl. a gl-117 repülőgép-szimulátorét. A Fájlok megnyitása párbeszédablak Helyek panelében kattintsunk a Fájlrendszerre, a Név panelben pedig menjünk bele a /usr/share/applications mappába, és nyissuk meg a gl-117.desktop-ot:

gl-117.desktop megnyitása

Az Exec sorban szúrjuk be a parancs elé azt, hogy optirun (vagy primusrun):

Exec=optirun gl-117

Az optirun és a parancs között legyen szóköz.

A fájlt ne a Mentés Mentésre kattintva mentsük (arra hiába is kattintanánk, rendszergazdajog nélkül úgysem menthetünk a /usr/share/applications mappába), hanem vigyük fel az egérmutatót a menüsorig, és a Fájl menüben válasszuk azt, hogy Mentés másként:

Mentés másként

A Mentés másként párbeszédablak Helyek panelében kattintsunk a felhasználónevünkre, majd jobb gombbal kattintsunk bele a Név panelbe, és bal gombbal kattintsunk arra, hogy Rejtett fájlok megjelenítése:

Rejtett fájlok megjelenítése

Menjünk bele a láthatóvá vált .local mappába, azon belül pedig a share-be. Nézzük meg, hogy van-e benne applications mappa. Ha van, menjünk bele, és mentsük a fájlt. Ha nincs, kattintsunk arra, hogy Mappa létrehozása, adjuk az új mappának azt a nevet, hogy applications, és mentsük bele a fájlt:

~/.local/share/applications

[Tartalom]

Hol vannak még .desktop fájlok?

Van, hogy egy alkalmazásnak van parancsikonja a Dashben, de nincs meg a hozzá tartozó .desktop fájl a /usr/share/applications mappában. Ilyenkor két helyen érdemes még körülnézni. A forrásból fordított programok (és néhány 3. féltől származó program) a /usr/local/share/applications mappába telepítik a parancsikonjukat. A saját fiókba települő, 3. féltől származó programok pedig a ~/.local/share/applications mappába (a ~ a saját mappa unixos rövidítése).

Heroes of Newerth

[Tartalom]

Parancsikon szerkesztése rendszerszinten

Ez nem a legjobb ötlet, mert a program frissítésekor a frissítés lecseréli az általunk szerkesztett .desktop fájlt a csomagban levőre, de többfelhasználós gépen van annyi előnye, hogy nem kell külön-külön minden felhasználó fiókjában megcsinálni.

Az Alt+F2 billentyűkombinációval hívjuk elő a Parancs futtatását, gépeljük be, hogy gksu gedit, és nyomjuk le az Entert:

Alt+F2 – gksu gedit

Megnyitás Kattintsunk a Megnyitásra. A Fájlok megnyitása párbeszédablak Helyek panelében kattintsunk a Fájlrendszerre, a Név panelben pedig menjünk bele a /usr/share/applications mappába, és nyissuk meg a szerkeszteni kívánt .desktop fájlt:

Fájl megnyitása

Az Exec sorban szúrjuk be a parancs elé azt, hogy optirun (vagy primusrun):

Exec=optirun gl-117

Az optirun és a parancs között legyen szóköz.

Mentés Mentsük a fájlt.

[Tartalom]

Amikor nem a parancsikont kell szerkeszteni

Steames játékok indítása

Azt, hogy melyik steames játékhoz legyen bekapcsolva az Nvidia grafikus vezérlő, a Steam kezelőfelületén a Könyvtár menüben lehet beállítani.

Jobb gombbal kattintsunk a kiválasztott játékra, bal gombbal pedig a Tulajdonságokra:

Champions of Regnum: Tulajdonságok

Kattintsunk az Indítási opciók beállítására:

Indítási opciók beállítása

Gépeljük be, hogy primusrun %command% (vagy optirun %command%):

primusrun %command%

OK, majd zárjuk be a Tulajdonságokat.

[Tartalom]

Wrapper scripttel induló programok: Ryzom

Vannak olyan programok, amelyeknek hiába szerkesztjük a parancsikonjukat, nem váltanak át Nvidiára. Ha ennek csak az az oka, hogy a .desktop fájlba beírt parancs nem közvetlenül, hanem egy ún. wrapper scripten keresztül indítja a programot, akkor megpróbálhatjuk a wrapper scriptben bekapcsolni az Nvidiát.

Ilyen, wrapper scripttel induló program az Ubuntu szoftverközpontból telepíthető Ryzom. A Ryzom wrapper scriptje az /opt/ryzom mappában van, ezért a szerkesztéséhez rendszergazdajogot kell szereznünk.

Az Alt+F2 billentyűkombinációval hívjuk elő a Parancs futtatását, gépeljük be, hogy gksu gedit, és nyomjuk le az Entert:

Alt+F2 – gksu gedit

Megnyitás Nyissuk meg az /opt/ryzom/ryzom.sh fájlt, és tekerjünk le egészen idáig:

# Launch Ryzom client if it exists
if [ -f $RYZOM_CLIENT ]
then
  echo "Launching Ryzom..."

  $RYZOM_CLIENT $1 $2 $3
fi

A $RYZOM_CLIENT $1 $2 $3 elé írjuk be, hogy optirun (vagy primusrun):

# Launch Ryzom client if it exists
if [ -f $RYZOM_CLIENT ]
then
  echo "Launching Ryzom..."

  optirun $RYZOM_CLIENT $1 $2 $3
fi

Mentés Mentsük a fájlt.

[Tartalom]

Honnan kapta a nevét a Bumblebee és a Primus?

Az Nvidia Optimusról Optimus Fővezér jutott a fejlesztők eszébe, róla pedig egy másik autobot, Űrdongó (angolul Bumblebee). Primus a transzformerek teremtője.

[Tartalom]

Reklámok

11 thoughts on “Ubuntu 12.04 (és 14.04) Nvidia Optimusszal

  1. Nagyon hasznos és jól használható az oldal.
    Tudnál esetleg segteni az Intel és az Amd vezérlők hasonló váltásának lehetővé tételében?

  2. glxspheres
    glxspheres: a parancs nem található
    optirun glxspheres
    [ 115.055588] [ERROR]Cannot access secondary GPU – error: [XORG] (EE) NOUVEAU(0): [drm] failed to set drm interface version.

    [ 115.055689] [ERROR]Aborting because fallback start is disabled.
    primusrun glxpheres
    /usr/bin/primusrun: 52. sor: exec: glxpheres: nem található
    mit tegyek???? kérlek segítsetek!

      • Szia!
        Megcsináltam mindent amit leírtál szép szabályosan, de újra indításkor végig sikoltozta, hogy nem tudja használni az nvidia kártyát, és csak parancssoros működést engedélyezett!
        Mit szúrtam el ,vagy mi lehet a baj?

      • A hiba elhárítva!
        Szánom-bánom, de az én hülyeségem volt, BIOS-ban nem kapcsoltam be az optimust!

        Most már minden OK!
        Mégegyszer köszi a super leírást!

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s