AMD OpenGL renderer

. . .

Nedávno sa na Linux Mint fóre objavil príspevok s požiadavkou ako zapnúť pre použitie na notebooku
s viacerými grafickými kartami tú výkonnejšiu, diskrétnu AMD.
Asi to všetci viete, ale pre istotu to upresním. Toto označenie, ktoré sa používa pre samostatnú grafickú kartu je odvodené od slova z angličtiny discrete – oddelený.

. . .

Ktoré grafické karty sú v notebooku prítomné sa dá zistiť, napríklad zadaním príkazu v termináli:

inxi -G

Výpis na ukážku vyzerá takto:

~$ inxi -G
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics driver: i915 v: kernel 
  Device-2: AMD Turks [Radeon HD 7550M/7570M/7650M] driver: radeon v: kernel 
  Display: x11 server: X.Org 1.20.4 driver: ati,modesetting,radeon unloaded: fbdev,vesa 
  resolution: 1366x768~60Hz 
  OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile v: 4.2 Mesa 18.3.6 

Vidíme, že v základe je použitá ako OpenGL renderer grafická karta intel, ktorá spotrebuje menej energie.

V posledných rokoch sa situácia pre AMD/ATI grafické karty výrazne zlepšila, majú podporu a ovládače
v linuxovom jadre.
Preto je možné v takomto prípade použiť príkaz na uvedenie do činnosti AMD tak, že zadáte v termináli
najprv DRI_PRIME=1 medzeru a potom názov programu pre ktorý bude použitá.
Napríklad pre výpis inxi -G:

DRI_PRIME=1 inxi -G
~$ DRI_PRIME=1 inxi -G
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics driver: i915 v: kernel 
  Device-2: AMD Turks [Radeon HD 7550M/7570M/7650M] driver: radeon v: kernel 
  Display: x11 server: X.Org 1.20.4 driver: ati,modesetting,radeon unloaded: fbdev,vesa 
  resolution: 1366x768~60Hz 
  OpenGL: renderer: AMD TURKS (DRM 2.50.0 / 4.19.0-6-amd64 LLVM 7.0.1) 
  v: 3.3 Mesa 18.3.6

Tu už vidíme že ako OpenGL renderer je v činnosti AMD.

v-sync

. . .

Ak to podobne vyskúšate, ale nevnímate rozdiel vo výkone, môže za to pravdepodobne zapnutá v-sync.
Vertikálna synchronizácia býva permanentne zapnutá hneď v základnom nastavení.
Ako si však môže užívateľ overiť že je naozaj zapnutá výkonnejšia grafická karta ?

glxgears

. . .

Týmto príkazom spustíme test glxgears:

DRI_PRIME=1 glxgears
~$ DRI_PRIME=1 glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
260 frames in 5.0 seconds = 51.973 FPS
301 frames in 5.0 seconds = 60.040 FPS
301 frames in 5.0 seconds = 60.042 FPS
301 frames in 5.0 seconds = 60.041 FPS
301 frames in 5.0 seconds = 60.041 FPS 

Test ukončíme tak, že klikneme do okna terminálu a spoločne stlačíme dve klávesy Ctrl a C.
Tu vidíme, že výkon je okolo 60 FPS čo zodpovedá výkonu grafickej karty intel po zadaní príkazu glxgears.
Diskrétna grafická karta je však určite silnejšia a medzi výkonom tých dvoch kariet by mal byť
viditeľný rozdiel.
Riešenie je v použití nastavenia vblank_mode=0 , ktoré prebije vopred nastavenú hodnotu:

DRI_PRIME=1 vblank_mode=0 glxgears
~$ DRI_PRIME=1 vblank_mode=0 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
8895 frames in 5.0 seconds = 1778.865 FPS
10663 frames in 5.0 seconds = 2132.556 FPS
10661 frames in 5.0 seconds = 2132.193 FPS
10648 frames in 5.0 seconds = 2129.531 FPS
10670 frames in 5.0 seconds = 2133.977 FPS

Tu už vidíme nárast výkonu.

Príklad použitia pre prehliadač chromium:

DRI_PRIME=1 vblank_mode=0 chromium

Záver

. . .

Na záver môžem napísať, že zapnúť AMD pre použitie v linuxe sa dá, aj keď sa to môže zdať nepohodlné pre
nutnosť zadávať príkazy v termináli.
Potom treba počítať aj s vyššou spotrebou elektrickej energie čo nemusí byť vhodné pri napájaní z batérie.
Záleží na užívateľovi či to chce využiť. Má k dispozícii možnosť so zapnutou alebo vypnutou vertikálnou
synchronizáciou spúšťať jednotlivé programy v dnešnej dobe moderne nazývané ako aplikácie.

.

Štítky , .Záložka pro permanentní odkaz.

5 reakcí na AMD OpenGL renderer

  1. caine říká:

    Téda! Testy glxgears mi ukázaly totéž, co vám, takže to opravdu funguje, akorát když jsem zadal příkaz: DRI_PRIME=1 vblank_mode=0 kdenlive, nebyl ve výsledném čase renderování videa žádný rozdíl oproti běžnému spuštění kdenlive. Tomu nerozumím?
    Ale moc děkuju za článek.

    • menom říká:

      Priznam sa, ze Kdenlive nepouzivam, je mozne ze to zavisi od programu ci vie vyuzit v tomto pripade hw akceleraciu.
      Ak to chcete riesit tak mozete napisat na forum LM, tam v sekci Ostatní distribuce ak to neni LM.

  2. caine říká:

    Vážně je to tak! Kdenlive 17.12 (stažené normálně z repozitáře) hw akceleraci nejspíš neumí využít. Dnes jsem totiž zkusil spustit vámi navrženým způsobem appimage nejnovějšího Kdenlive 20.12 a jak přehrávání stříhaného obrazu, tak i renderování je podstatně rychlejší!
    Víte, už delší dobu jsem si s tím problémem „nefunkční“ diskrétní grafiky ve svém notebooku lámal hlavu, ale jako neodborník a neangličtinář jsem asi googlil vždy „těsně vedle“ 🙂 Opravdu jste mi svým článkem moc pomohl. Ještě jednou díky!

  3. FERRANTO506 říká:

    Thank you!!1

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.