Hráme hry na plný výkon na grafikách NVIDIA Optimus

20.12.2016 11:13 | Články | mirek biňas

Jedným z najčastejšie uvádzaných dôvodov, pre ktorý sa stále neoplatí prejsť na Linux, je jeho slabá podpora v oblasti hier. Aj tento dôvod však prestáva byť vďaka Steam-u pomaly tým hlavným a častokrát jediným, prečo neprejsť. Už dnes je z čoho vyberať a to nie len zo zoznamu indie hier, ale rovnako aj zo zoznamu áčkových titulov.

Okrem podpory hier samotných je však stále problémom aj podpora grafických kariet a ich ovládačov. Inštalácia častokrát nie je tak priamočiara, ako na konkurenčných operačných systémoch a kvalita otvorených ovládačov zasa za tými proprietárnymi stále zaostáva. Nehľadiac na skutočnosť, že inštalácia proprietárnych ovládačov si v mnohých prípadoch vyžaduje aj isté znalosti a skúsenosti, ktoré môžu byť pre začínajúcich používateľov neprekonateľné.

V tomto článku sa pozrieme na to, ako "rozbehať" dedikovanú grafickú kartu, pokiaľ ste majiteľom laptop-u disponujúcim hybridnou/prepínateľnou grafickou kartou NVIDIA Optimus.

NVIDIA Optimus a projekt Bumblebee

Technológia Optimus predstavuje softvérové (a samozrejme aj hardvérové) riešenie na automatické prepínanie medzi integrovanou grafickou kartou (napr. od Intel-u) a výkonnou grafickou kartou (od NVIDIA). Táto technológia je určená špecificky pre laptopy, kde sa integrovaná karta používa na bežnú prácu a výkonná grafická karta sa používa na graficky náročné operácie (najmä na hry). Tým dochádza k úspore zdrojov (najmä napätia), čo je pri používaní laptopov veľmi dôležité.

Ak chcete zistiť, či máte alebo nemáte laptop podporujúci technológiu NVIDIA Optimus, napíšte do konzoly nasledujúci príkaz:
 

$ lspci |grep VGA
 

Na obrazovke sa vám zobrazí výstup podobný tomuto:


00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
02:00.0 VGA compatible controller: NVIDIA Corporation GK208M [GeForce GT 730M] (rev a1)

 

Ak sa vám na výstupe zobrazia dve grafické karty, kde jedna je označená ako "Integrated Graphics Controller"  a druhá ako "NVIDIA Corporation", je veľmi pravdepodobné, že máte kartu podporujúcu technológiu NVIDIA Optimus. Pre istotu si ešte ako používateľ root overte, či vo vašom systéme existuje súbor /sys/kernel/debug/vgaswitcheroo/switch. Ak áno, máte grafickú kartu podporujúcu technológiu NVIDIA Optimus.

Alternatívou k proprietárnym ovládačom od NVIDIA je projekt nouveau, ktorého cieľom je vyvinúť plnohodnotný, vysoko kvalitný a hlavne voľný ovládač (resp. sadu ovládačov) pre grafické karty vyrábané spoločnosťou NVIDIA. Tento ovládač je už bežnou súčasťou dnešných distribúcií a jeho prítomnosť v systéme si môžete overiť pomocou nasledovného príkazu:

 

$ lsmod|grep nouveau
nouveau              1564672  1
mxm_wmi                16384  1 nouveau
ttm                    94208  1 nouveau
i2c_algo_bit           16384  2 nouveau,i915
drm_kms_helper        151552  2 nouveau,i915
drm                   344064  13 nouveau,i915,ttm,drm_kms_helper
wmi                    16384  2 mxm_wmi,nouveau
video                  40960  3 thinkpad_acpi,nouveau,i915

 

Na stránkach projektu nouveau sa nachádza aj časť venovaná práve grafickým kartám podporujúcim technológiu Optimus. My sa však nebudeme venovať tomu, ako sa tento problém snažia vyriešiť v rámci tohto projektu, ale pozrieme sa na sadu nástrojov z projektu Bumblebee, ktorý používa oficiálne ovládače od spoločnosti NVIDIA. V nasledujúcej časti článku sa teda budeme venovať inštalácii a následnej poinštalačnej konfigurácii projektu Bumblebee pre distribúciu Fedora 25. Ak používate inú distribúciu, odporúčam sa pozrieť do oficiálnej dokumentácie projektu.

Inštalácia

Podkladom pre tento návod je stránka Bumblebee z wiki stránok projektu Fedora. Aj napriek informáciám o aktualizácii repozitára http://negativo17.org/ o NVIDIA ovládače a aj napriek ďalším informáciám o zlepšení podpory hybridných grafických kariet v novej Fedore a aj nedávnemu súhrnu od Jirka Eischmanna, som použil tento návod. V prípade, že máte niekto skúsenosti s uvedenými novinkami, podeľte sa s nimi v diskusii pod článkom.

Pred samotnou inštaláciou potrebných balíčkov je potrebné pridať dva repozitáre - jeden pre Bumblebee projekt a druhý pre ovládače NVIDIA. Pri pridávaní repozitárov nezabudnite použiť ten správny vzhľadom na verziu vašej distribúcie.

Začneme teda tým, že pridáme repozitár projektu Bumblebee. Pre Fedoru 25 spustíme ako superpoužívateľ nasledujúci riadok:

 

$ sudo dnf -y --nogpgcheck install \
http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora25/noarch/bumblebee-release-1.2-1.noarch.rpm

 

Pri výbere repozitára pre ovládače NVIDIA máte dve možnosti - buď môžete do systému pridať spravovanú verziu repozitára alebo nespravovanú. V tomto návode použijem spravovanú verziu repozitára. Ak sa však rozhodnete použiť nespravovanú, budete si musieť aktuálne ovládače do systému "dotiahnuť" sami.

S právami superpoužívateľa teda stačí spustiť tento riadok:

 

$ sudo dnf -y --nogpgcheck install \
http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora25/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm

 

Nakoniec už zostáva iba nainštalovať potrebné balíčky:

 

$ sudo dnf install bumblebee-NVIDIA bbswitch-dkms VirtualGL.x86_64 VirtualGL.i686 primus.x86_64 primus.i686 kernel-devel

 

Pred ďalším postupom je potrebné reštartovať počítač.

Poinštalačná konfigurácia

Obsahom nainštalovaných balíčkov sú aj dva kľúčové moduly jadra, ktoré budeme potrebovať. Jedným z nich je modul nvidia, ktorý reprezentuje ovládač dedikovanej grafickej karty a druhým modulom je bbswitch, ktorý sa stará o prepínanie kariet. Po reštartovaní najprv spustíme nástroj bumblebee-nvidia, ktorý overí, či boli moduly bbswitch a nvidia preložené v poriadku. Spustíme teda príkaz s prepínačom --check:

 

$ bumblebee-nvidia --check
 

Výstup príkazu bol v mojom prípade nasledovný:

nvidia.ko compiled into in the kernel tree ok.
modinfo output for NVIDIA:

filename:       /lib/modules/4.8.12-300.fc25.x86_64/kernel/drivers/video/nvidia.ko
alias:          char-major-195-*
version:        375.20
supported:      external
license:        NVIDIA
srcversion:     FC24FD22E9C8583479BBC09
alias:          pci:v000010DEd00000E00sv*sd*bc04sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        
vermagic:       4.8.12-300.fc25.x86_64 SMP mod_unload
parm:           NVreg_Mobile:int
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_UpdateMemoryTypes:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_MapRegistersEarly:int
parm:           NVreg_RegisterForACPIEvents:int
parm:           NVreg_CheckPCIConfigSpace:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_TCEBypassMode:int
parm:           NVreg_UseThreadedInterrupts:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_AssignGpus:charp

Check bbswitch kernel module...

Warning! bbswitch is not loaded into this kernel!
Since bbswitch is not loaded into the kernel, lets do additional checks on it...
dkms status bbswitch output:
bbswitch, 0.8.0: added

if the bbswitch package is installed, you may wish to try:
/usr/sbin/dkms add -m bbswitch -v 0.8.0
/usr/sbin/dkms build -m bbswitch -v 0.8.0
/usr/sbin/dkms install -m bbswitch -v 0.8.0
/sbin/modprobe bbswitch

To get clues as to why bbswitch is failing on this kernel...
All checks completed successfully! NVIDIA driver appears to have compiled ok.

Documentation on bumblebee for RHEL / CentOS / fedora can be found at:
https://www.linux.ncsu.edu/bumblebee/

 

Výstup upozorňuje, že modul nvidia bol síce vytvorený v poriadku, ale modul bbswitch nie. Našťastie sa vo výstupe nachádza aj postup, ktorý je potrebné aplikovať, aby sme v poriadku vytvorili aj modul bbswitch. Postupne teda tento postup aplikujeme a spustíme všetky štyri príkazy s právami administrátora:

 

$ sudo /usr/sbin/dkms add -m bbswitch -v 0.8.0
$ sudo /usr/sbin/dkms build -m bbswitch -v 0.8.0
$ sudo /usr/sbin/dkms install -m bbswitch -v 0.8.0
$ sudo /sbin/modprobe bbswitch

 

Tým dôjde k prekladu, nainštalovaniu a zavedeniu modulu bbswitch do aktuálneho jadra. To si môžeme rovno overiť spustením príkazu:

 

$ lsmod | grep bbswitch
bbswitch               16384  0

 

Skontrolujeme opäť stav pomocou príkazu bublebee-nvidia:

 

$ bumblebee-nvidia --check


nvidia.ko compiled into in the kernel tree ok.
modinfo output for NVIDIA:

filename:       /lib/modules/4.8.12-300.fc25.x86_64/kernel/drivers/video/nvidia.ko
alias:          char-major-195-*
version:        375.20
supported:      external
license:        NVIDIA
srcversion:     FC24FD22E9C8583479BBC09
alias:          pci:v000010DEd00000E00sv*sd*bc04sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
depends:        
vermagic:       4.8.12-300.fc25.x86_64 SMP mod_unload
parm:           NVreg_Mobile:int
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_UpdateMemoryTypes:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_MapRegistersEarly:int
parm:           NVreg_RegisterForACPIEvents:int
parm:           NVreg_CheckPCIConfigSpace:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_TCEBypassMode:int
parm:           NVreg_UseThreadedInterrupts:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_AssignGpus:charp

Check bbswitch kernel module...

bbswitch is loaded into the current kernel ok.

All checks completed successfully! NVIDIA driver appears to have compiled ok.

Documentation on bumblebee for RHEL / CentOS / fedora can be found at:
https://www.linux.ncsu.edu/bumblebee/

 

Tentokrát kontrola prebehla v poriadku a my sa môžeme tešiť na dlhé zimné večery strávené hraním áčkových titulov. Alebo aj tých béčkových. Ale nepredbiehajme...

Prvé kroky

Pozrime sa najprv na to, aký výkon dosahuje naša grafická karta. Na testovanie budeme používať aplikáciu glxspheres. Samozrejme je možné použiť aj glxgears, ale výstup v glxspheres je o niečo kompaktnejší, pretože okrem aktuálnej snímkovacej frekvencie rovno zobrazí aj informáciu o tom, na ktorej grafickej karte sa obraz renderuje.
Aplikáciu glxspheres spustíme napísaním príkazu glxspheres do konzoly. Po spustení sa zobrazí okno s "mocnou" animáciou a informáciou o aktuálnej snímkovacej frekvencii.

 

Sr_4NSeBOj

Obr.1: glxspheres renderované pomocou integrovanej grafickej karty od Intel-u

 

To, čo nás však bude zaujímať, je výstup v konzole. Ten je v mojom prípade takýto:

 

$ glxspheres
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
Visual ID of window: 0xb6    
Context is Direct
OpenGL Renderer: Mesa DRI Intel(R) Haswell Mobile
61.225316 frames/sec - 68.327452 Mpixels/sec
60.026500 frames/sec - 66.989574 Mpixels/sec

 

Z uvedeného výstupu vyplýva, že pre renderovanie mocnej animácie sa nepoužíva grafická karta NVIDIA, ale integrovaná grafická karta od Intel-u, čomu zodpovedá aj snímkovacia frekvencia. Ako teda spustiť aplikáciu tak, aby pre svoje zobrazovanie používala "ozajstnú" grafickú kartu?

Výhodou technológie NVIDIA Optimus je, že umožňuje spúšťať s využitím dedikovanej grafickej karty len vybrané aplikácie. Nie je teda nutné reštartovať X server poprípade celý systém, aby boli použité výlučne ovládače pre dedikovanú grafickú kartu. Stačí len zvolenú aplikáciu spustiť tak, aby bola renderovaná práve na dedikovanej grafickej karte. A presne to nám zabezpečí nástroj optirun.

Nástroj optirun umožňuje spúšťať aplikácie pomocou dedikovanej grafickej karty. Základná syntax je jednoduchá - ak chceme spustiť nejaký príkaz na dedikovanej grafickej karte, jednoducho napíšeme do príkazového riadku: optirun prikaz. Ak teda chcem spustiť glxspheres na dedikovanej grafickej karte, do príkazového riadku napíšem:

 

$ optirun glxspheres
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 730M/PCIe/SSE2
201.391475 frames/sec - 224.752886 Mpixels/sec
204.948382 frames/sec - 228.722394 Mpixels/sec

 

Ako je vidieť z výstupu, snímkovacia frekvencia je v tomto prípade 3.3 násobne vyššia, ako tomu bolo v prípade renderovania pomocou integrovanej grafickej karty.

 

8TTgUVzN1J

Obr. 2: glxspheres renderované pomocou dedikovanej grafickej karty.

 

Občas sa však zíde aj prístup, kedy je potrebné spustiť celé sedenie tak, aby sa každý ďalší spúšťaný príkaz vykonával na dedikovanej grafickej karte. V tom prípade je možné ako aplikáciu spustiť priamo interpretér príkazov:
 

$ optirun bash

$ glxspheres
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 730M/PCIe/SSE2
196.150963 frames/sec - 218.904475 Mpixels/sec
201.191056 frames/sec - 224.529219 Mpixels/sec

 

Pokiaľ sa pozrieme do manuálovej stránky nástroja optirun a dostaneme sa k príkladom použitia, jedným z nich je aj tento:

 

$ optirun -c yuv glxspheres

 

ktorý spustí glxspheres s "YUV transportnou metódou" pre dosiahnutie lepšieho výkonu. Pozrime sa teda, či je tomu naozaj tak:

 

$ optirun -c yuv glxspheres
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
Visual ID of window: 0x20
Context is Direct
OpenGL Renderer: GeForce GT 730M/PCIe/SSE2
222.036566 frames/sec - 247.792808 Mpixels/sec
228.320893 frames/sec - 254.806116 Mpixels/sec

 

Oproti spusteniu na integrovanej grafickej karte došlo opäť k zvýšeniu snímkovacej frekvencie a tentokrát je to už 3.8 násobok pôvodnej hodnoty.

Ďalšie zvýšenie výkonu je možné dosiahnuť zmenou tzv. bridge metódy, ktorej zodpovedá prepínač -b. Prípustnými hodnotami sú none, auto, virtualgl a primus. Predvolenou hodnotou je práve virtualgl. Od verzie bumblebee 4.0, ktorá by mala doraziť už čoskoro, sa však stane predvolenou hodnotou primus, vďaka ktorej vieme dosiahnuť opäť o niečo lepší výkon. Ak teda chceme spustiť aplikáciu glxspheres pomocou primus bridge metódy, napíšeme do príkazového riadku nasledovný príkaz:

$ optirun -b primus glxspheres

Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
Visual ID of window: 0xb6
Context is Direct
OpenGL Renderer: GeForce GT 730M/PCIe/SSE2
62.187918 frames/sec - 69.401716 Mpixels/sec
60.000659 frames/sec - 66.960735 Mpixels/sec

 

Tentokrát však k avizovanému zvýšeniu výkonu nedošlo. Práve naopak. Čo sa stalo?

V prípade použitia primusrun je totiž automaticky zapnutý VSYNC, ktorý môže spôsobiť oneskorenie pri použití myši alebo dokonca môže viesť ku zníženiu výkonu, ako je tomu v mojom prípade. Preto VSYNC pred ďalším spustením vypnem:

 

$ vblank_mode=0 optirun -b primus glxspheres
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
Visual ID of window: 0xb6
Context is Direct
OpenGL Renderer: GeForce GT 730M/PCIe/SSE2
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
267.999336 frames/sec - 299.087258 Mpixels/sec
270.615310 frames/sec - 302.006686 Mpixels/sec

 

V tomto prípade sa jedná dokonca o 4,5 násobné zvýšenie snímkovacej frekvencie oproti použitiu integrovanej grafickej karty. A až pri použití tohto režimu to v Columbii (BioShock Infinite) vyzeralo naozaj tak, ako na obrázkoch v recenziách...

Pre zapnutie tohto režimu existuje aj kratší spôsob v podobe príkazu primusrun, ktorý je len shell skriptom spúšťajúcim optirun. Zápis

 

$ optirun -b primus glxspheres

 

a

 

$ primusrun glxspheres

 

sú ekvivalentné. Samozrejme nezabudnite vypnúť VSYNC, ak budete mať podobný problém ako ja.

Spúšťanie hier zo Steam-u

Ak máte niektoré hry kúpené cez Steam a máte problém s ich spustením, môže to byť práve kvôli tomu, že sa hru pokúšate spustiť na integrovanej grafickej karte. Ak chcete hru spustiť na dedikovanej grafickej karte, postupujte nasledovne:

  1. Vo svojej knižnici kliknite pravým tlačidlom myši na hru, ktorá vás zaujíma a vyberte z menu položku Properties.

  2. V okne, ktoré sa vám zobrazí, kliknite na tlačidlo SET LAUNCH OPTIONS…

  3. Do vstupného poľa zadajte:
    vblank_mode=0 primusrun %command%

  4. Potvrďte stlačením tlačidla OK


 

Selection_032.png

Obr. 3: Nastavenie spúšťania hry Tomb Rider na dedikovanej grafickej karte

 

Z uvedeného by malo byť jasné, čo sme spravili - zabezpečili sme, aby sa hra spustila na dedikovanej grafickej karte v režime primus. Ak sa pokúsime hru spustiť znova, tentokrát bude naozaj spúšťaná na dedikovanej grafickej karte.

 

Screenshot from 2016-12-13 13-45-02.png

Obr. 4: Lara Croftová vyrenderovaná tak, ako som ju doteraz nevidel - na Linuxe.

Na záver

Asi tak raz až dvakrát za rok dostanem chuť si niečo zahrať. Nikdy som si však nenašiel čas na to, aby som si nakonfiguroval svoj systém pre použitie dedikovanej grafickej karty pomocou technológie NVIDIA Optimus. A to som sám netušil, aké jednoduché to je. Odvtedy si však veľmi rád niečo zahrám pravidelne. A už teraz sa teším na všetky vianočné akcie. Niektoré už dokonca aj začali - napríklad adventný herný kalendár na HumbleBundle alebo zimná akcia na BundleStars. Zatiaľ to vyzerá na naozaj veľmi dlhé zimné večery...

Použité zdroje

  1. http://bumblebee-project.org/ - Domovská stránka projektu Bumblebee.

  2. https://fedoraproject.org/wiki/Bumblebee - Inštrukcie pre nainštalovanie projektu Bumblebee do distribúcie Fedora.

  3. https://github.com/Bumblebee-Project/Bumblebee/wiki/FAQ - FAQ projektu Bumlbebee na github-e

  4. https://nouveau.freedesktop.org/wiki/ - Domovská stránka projektu nouveau

  5. https://blogs.gnome.org/uraeus/2016/11/01/discrete-graphics-and-fedora-workstation-25/ - Hybrid graphics and Fedora Workstation 25

  6. https://mojefedora.cz/prepinatelne-grafiky-a-ovladac-NVIDIA-ve-fedore-25/ - Přepínatelné grafiky a ovladač Nvidia ve Fedoře 25

    • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 20.12.2016 | 13:05
      Avatar Andrej Lacho Debian, CentOS obcas Kubuntu  Administrátor

      Velmi pekne, naozaj super +1

      Ja som zastancom AMD no teraz to je docela dost v kybli s tymi ovladacmi...

      Linux without fckin systemd
    • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 20.12.2016 | 13:55
      Avatar qw11 ubuntu 16.04 64bit Asus X751LB  Používateľ

      Cize ak mi prikaz lspci |grep VGA nevypise 2 GK tak nemam podporu pre Optimus?

      lspci |grep VGA
      00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
      
      Aj ked 2 GK mam.

      lspci |grep "VGA\|3D"
      00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
      04:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev a2)
      

      Subor switch tiez nemam. Pritom podla stranky by som mal podporu mat.(ak to tam spravne chapem) http://www.geforce.com/hardware/notebook-gpus/geforce-940m Mimochodom nouveau mi nvidiu oznacuje ako nezname zariadenie. Na prepinanie pouzivam Prime. Ubuntu Mate 16.04.

      • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 20.12.2016 | 14:48
        Avatar mirek biňas Fedora 25  Administrátor

        ja mam po ruke dve zariadenia (dva notasy) s Optimusmi. v oboch pripadoch identifikator obsahuje retazec VGA. v principe som ale vychadzal z uvedeneho wiki navodu, kde je ten grep uvedeny. samozrejme - ak mas Optimus kartu, ale ten identifikator podretazec VGA neobsahuje, neznamena to, ze ju nemas ;) podla tej stranky, ktoru uvadzas, by si ju mat mal.

        nouveau je po nainstalovani bumblebee vypnuty, resp. nie je po startnuti systemu zavedeny. to je kvoli tomu, ze bumblebee pouziva proprietarne ovladace. skus rozviest, ako to pouzivas, ked pises, ze na prepinanie pouzivas prime. nemam nainstalovane ubuntu, tak nemam skusenost ;)

        • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 20.12.2016 | 15:48
          Avatar qw11 ubuntu 16.04 64bit Asus X751LB  Používateľ

          Prime sa nainstalovalo automaticky s instalaciou nvidia ovladacov cez dodatocne ovladace v ubuntu. Bumblebee som uz skusal instalovat asi 2x ale vzdy to skoncilo na ciernej obrazovke po boote a s tym som uz nepohol.

          Neviem ako to je na inych ntb ale u mna vidim problem asi s tym ze nvidia ma vyvedeny video vystup cez intel GK. Toto mi tiez sposobuje ze nvidia-settings bezi v dajakom virtualnom rezime kde mam v nastaveni rozlisenia uvedene virtual size a neda sa ine vybrat, tiez monitor je iba ako X Screen 0.

          GK prepinam rucne a musim sa pri prepnuti odhlasit.

          http://pff.16mb.com/wp-content/uploads/2016/10/Screenshot-at-2016-10-10-093908.png

          • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 20.12.2016 | 16:06
            Avatar mirek biňas Fedora 25  Administrátor

            hmm... necitim sa byt odbornikom v tejto veci, ale vyzera to tak podla toho co pises, ze ti asi X server bezi cely cas na ovladacoch od nvidie. skus spustit:

            lsmod | grep nvidia

            a tiez otazka - ako dlho ti vydrzi notas v takomto rezime?

            mozno by som skusil odinstalovat to, co ti ubuntu ponuklo po cerstvej instalacii a vyskusat navod odkazujuci z bumblebee projektu: https://wiki.ubuntu.com/Bumblebee#Installation

            • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 20.12.2016 | 17:28
              Avatar qw11 ubuntu 16.04 64bit Asus X751LB  Používateľ
              lsmod | grep nvidia
              nvidia_uvm            745472  0
              nvidia_drm             45056  3
              nvidia_modeset        765952  3 nvidia_drm
              drm_kms_helper        155648  2 i915,nvidia_drm
              nvidia              11489280  54 nvidia_modeset,nvidia_uvm
              drm                   364544  6 i915,drm_kms_helper,nvidia_drm
              

              Ano, Prime sa prepina rucne medzi grafikami. Mam aj spraveny skript ktori mi ukazuje aka grafika ide a je to nvidia. Vydrz nemozem povedat lebo som ho este nenechal vystavit. Ked odpojim napajanie tak ukaze asi 3.5hod. Je to 17.3" ntb s proc. intel 5200u.

              Niekedy bumblebee zasa vyskusam ale teraz si nebudem rozhadzovat system, len som chcel vediet ci by mi to malo ist alebo ci je zbytocne to skusat. Na bumblebee sa mi paci ze mozes prikazat ktori program sa ma spustit s vykonnejsou GK.

              • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 20.12.2016 | 21:28
                Avatar mirek biňas Fedora 25  Administrátor

                nuz - nepomozem. mozno niekto, kto to ma rozbehane v ubuntu sa tu v diskusii najde.

    • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 29.12.2016 | 00:35
      Avatar caopyp linux mint 18 mate-64-bit  Používateľ

      Mam podobný problem ako qw11 mam 2 grafiky a na win10 mi funguje prepínanie medzi nimi automaticky predpokladám že mam technológiu optimus ale pre istotu posielam vypis :

      00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09)
      
      a

      lsmod | grep nvidia
      nvidia_uvm            745472  0
      nvidia_drm             45056  1
      nvidia_modeset        765952  4 nvidia_drm
      nvidia              11489280  68 nvidia_modeset,nvidia_uvm
      drm_kms_helper        139264  2 i915,nvidia_drm
      drm                   360448  8 i915,drm_kms_helper,nvidia_drm
      

      nie som si istý či naozaj mam ten optimus moje graficky : Intel HD 5200 a Nvidia 940m a na win10 citim znateľne väčšiu vydrž baterky ak nehraje hry ..

      Pridavam ešte jeden vypis pre utvrdenie

      lspci -nnk | grep -i "VGA\|3D\|Display" -A2 
      00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 09)
      	Subsystem: Acer Incorporated [ALI] Broadwell-U Integrated Graphics [1025:0974]
      	Kernel driver in use: i915
      --
      04:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 940M] [10de:1347] (rev a2)
      	Subsystem: Acer Incorporated [ALI] GM108M [GeForce 940M] [1025:0974]
      	Kernel driver in use: nvidia
      

      Tak mi napíšte či môžem smelo pokračovať v postupe , ďakujem .

      • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 29.12.2016 | 09:39
        Avatar bedňa antiX, Devuan, LegacyIce  Administrátor

        Smelo do toho :)

        Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
      • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 02.01 | 01:05
        Avatar mirek biňas Fedora 25  Administrátor

        Hmmm zeby tiez ubuntu? Daj vediet ako si skoncil. Ak sa bepodari, tak sa skusim na to pozriet a napisem druhy clanok.

    • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 29.12.2016 | 00:50
      Avatar caopyp linux mint 18 mate-64-bit  Používateľ

      ako sa spušťa detekovaná grafika keď hru hrajem cez wine ?

      • RE: Hráme hry na plný výkon na grafikách NVIDIA Optimus 29.12.2016 | 09:39
        Avatar bedňa antiX, Devuan, LegacyIce  Administrátor

        optirun wine game.exe

        Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org