Přeskočit na obsah

Notebook s Dvojicí GPU - Příručka

Co jsou hybridní grafiky?

Hybridní grafiky jsou hardwarová konfigurace, ve které máte dvě grafické karty, které mohou pracovat společně. Tento přístup se nejčastěji vyskytuje v noteboocích, kde máte integrovanou grafiku (iGPU) procesoru a dedikovanou grafiku (dGPU). Hlavní výhodou je, že integrovaná grafika by měla být (ale není to nutné) používána pouze pro méně náročné úkoly, jako je prohlížení internetu, sledování videí apod. Na druhou stranu, dedikovaná grafika se používá pro vysoce výkonné úlohy, jako je hraní her, editace videí, 3D modelování a podobně. Pokud tedy dvě GPU sdílejí „velké“ a „malé“ úkoly, pak pokud právě probíhají pouze „malé“ úkoly, není nutné používat dGPU, takže může být jednoduše deaktivováno (jako by spalo), což výrazně snižuje spotřebu energie. Takto, když je dGPU opět potřeba (spustíme aplikaci, která ji využívá), probudí se a začne pracovat.

Co je PRIME Offload?

PRIME je sjednocující technologie pro práci s různými sadami hybridních grafik na Linuxu, jako je NVIDIA Optimus/AMD Dynamic Switchable Graphics. PRIME Offload je implementace myšlenky přesunu vykreslování z jednoho GPU na druhé v Linuxu. Podpora PRIME v uzavřeném ovladači NVIDIA začala až s ovladačem verze 435.17. Pokud tedy používáte zastaralé větve ovladačů 390xx nebo dokonce 340xx, PRIME Offload pro vás nebude fungovat. Také důrazně nedoporučujeme používat zastaralé způsoby práce s hybridními grafikami, jako je nvidia-xrun nebo Bumblebee. Tyto technologie jsou zastaralé, nepodporované (Bumblebee nebyl aktualizován více než 8 let), fungují pouze na hackech a mají nízký výkon. Zároveň ovladač Nouveau podporuje PRIME Offload, což může být alternativou pro starší dGPU.

V CachyOS není potřeba nic konfigurovat, aby PRIME Offload fungoval. S balíčkem nvidia-utils a cachyos-settings již máte vše, co potřebujete k použití PRIME Offload.

Vyhněte se také používání nástrojů jako optimus-manager. Mohou se vám zdát užitečné, ale věřte nám, mohou způsobit spoustu problémů, a pokud vaše dGPU podporuje PRIME Offload a dynamickou správu napájení, skutečně je nepotřebujete.

Jak používat PRIME Offload

Abyste PRIME naznačili, že chcete používat dedikovanou grafiku místo integrované grafiky, musíte před spuštěním programu nastavit několik proměnných prostředí:

Terminál
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia <program>

Tato sada proměnných vypadá velmi neohrabaně a je snadné na ni zapomenout, proto si můžete nainstalovat balíček nvidia-prime (sudo pacman -S nvidia-prime), který obsahuje skript-alias pro všechny tyto proměnné. Pak spustit aplikaci s tímto nastavením bude vypadat takto:

Terminál
prime-run <program>

Kde <program> je název příkazu, který spouští vaši aplikaci.

Pro konfigurace, kde jsou obě grafické karty spravovány otevřenými ovladači Mesa (např. AMD+AMD, AMD+Intel nebo dokonce Intel+NVIDIA, kde je NVIDIA spravována otevřeným ovladačem Nouveau), není třeba nic konfigurovat a pro použití dedikované grafiky stačí před spuštěním aplikací nebo her nastavit proměnnou prostředí DRI_PRIME=1, podobně jako u proměnných popsaných výše pro NVIDIA.

Grafická metoda

Spouštění všech potřebných aplikací přes terminál pomocí prime-run může být nepohodlné. Naštěstí některé aplikace a pracovní prostředí poskytují nástroje pro ovládání, která GPU se použije pro konkrétní aplikace.

Lutris

Chcete-li nakonfigurovat hry, aby běžely s dedikovanou grafikou v Lutris, přejděte do nastavení (tři čárky v pravém dolním rohu okna a tlačítko „Preferences“). Poté přejděte na „Global Options“ -> „Display“. Zde můžete vybrat GPU, na kterém bude hra běžet.


Steam

Steam nemá konkrétní nastavení pro vynucení použití dedikované grafiky u hry. Můžete však přistoupit k vlastnostem hry kliknutím na ikonu ozubeného kola před spuštěním. Do pole “Launch options” můžete přidat příkaz prime-run nebo proměnné prostředí. Příklad:

Terminál
prime-run %command%

Ujistěte se, že po prime-run přidáte %command%. Nezapomeňte, že možnosti hry přicházejí až za tímto zástupcem, zatímco proměnné prostředí nebo příkazy by měly být před ním.


KDE Plasma

Plasma má velmi praktický způsob nastavení spouštění aplikací s dedikovanou grafikou. Tato metoda však funguje pouze v případě, že je na vašem systému nainstalován balíček switcheroo-control a jeho odpovídající služba.

V nové instalaci CachyOS by měl být tento balíček a služba již výchozí nastaveny pomocí chwd.

Terminál
sudo pacman -S switcheroo-control
sudo systemctl enable --now switcheroo-control

Po provedení obou příkazů klikněte pravým tlačítkem myši na zástupce aplikace na ploše nebo v aplikačním menu, poté přejděte na „Properties“ -> „Application“ -> „Advanced Options“.

Měli byste mít zaškrtnuto políčko „Run using dedicated graphics card“.


GNOME

V GNOME byste měli také nainstalovat switcheroo-control, jak je uvedeno výše, a kliknout pravým tlačítkem na ikonu aplikace a vybrat „Run using discrete graphics“. Upozorňujeme však, že GNOME si tuto volbu pro příště nepamatuje, a příště, když aplikaci spustíte z ikony, poběží s integrovanou grafikou místo dedikované.

Cinnamon

Podobně jako Plasma umožňuje Cinnamon také výběr GPU pro konkrétní aplikace. Klikněte pravým tlačítkem na zástupce aplikace na ploše, přejděte do Vlastností a povolte příslušnou možnost.


Pokud není dostupná, ujistěte se, že máte nainstalován switcheroo-control a povolenu jeho službu, protože všechna pracovní prostředí na něm tuto funkcionalitu zakládají.

Řešení problémů

„Můj externí monitor je velmi pomalý s PRIME“

Jedná se o známý problém ovladače NVIDIA. Měli byste mít nainstalovaný nejnovější ovladač NVIDIA a používat Wayland s kompozitorem, který podporuje explicitní synchronizaci. Pro GNOME byl tento problém vyřešen ve verzi 46.2. Pro Plasmu 6 bude pravděpodobně vyřešen ve verzi 6.1, i když někteří uživatelé hlásí normální výkon již ve verzi 6.0. Ostatní prostředí/spravci oken tento problém stále mají, takže je potřeba přejít na nejnovější verzi GNOME nebo Plasmy k jeho vyřešení.