Parametry jádra ACPI a jak je vybrat

Představení notebooků Optimus a dalších funkcí pro úsporu energie vytvořilo pro uživatele Linuxu nové výzvy. Některé z problémů zahrnují to, že vlastní grafická karta funguje při spouštění systému, nesprávné škálování CPU a obecná nestabilita systému. Mnohokrát se doporučuje přidat do grub parametr jádra ACPI (Advanced Configuration and Power Interface). I když může být uveden specifický parametr jádra ACPI, někdy není vhodný pro hardware, na který je aplikován. To může způsobit nestabilitu systému a některé funkce notebooku nebudou fungovat správně. Jakmile uživatel najde parametr, který funguje, je mu řečeno, aby jej přidal do svého konfiguračního souboru grub, takže bude automaticky načten při bootování. To může způsobit své vlastní problémy. Pokud uživatel při přidávání tohoto parametru nepoužije správnou syntaxi, bude tento parametr ignorován a nebude fungovat. Pojďme se podívat na to, jak vybrat správný parametr jádra ACPI a jak jej správně přidat do konfiguračního souboru grub.

Než se rozhodnete, který parametr ACPI jádra potřebujete, musíte si položit jednu otázku.

Potřebuji vůbec parametr jádra ACPI?

Kromě prohledávání protokolů a hledání chyb ACPI existuje několik způsobů, jak zjistit, zda je parametr jádra ACPI potřeba.

1.

Toto je pravděpodobně nejjednodušší způsob, jak zjistit, zda potřebujete parametr jádra ACPI. Tento problém lze zjistit, zda používáte Linux z Live USB nebo je nainstalován na místním pevném disku. Když vypnete počítač a před vypnutím se zasekne a vy jej musíte vypnout stisknutím tlačítka napájení, možná budete potřebovat parametr jádra ACPI.

2.

Používáte notebook a nainstalovali jste proprietární ovladač Nvidia. Spustíte svůj notebook a máte následující problémy:

* „Zahájeno spuštění/vypnutí systému TLP“

* "Dosáhl cílového grafického rozhraní"

* Chybová zpráva o konfiguraci "Podsvícení"

* Váš notebook se pouze spustí s černou obrazovkou a ventilátory začnou neustále běžet.

Pokud si všimnete některého z těchto chování, možná budete muset přidat parametr jádra ACPI.

3.

To vyžaduje od uživatele trochu více úsilí. Stiskněte „E“ na obrazovce grub a odeberte parametr „quiet“ kernel před spuštěním počítače. Při spouštění počítače se vám zobrazí seznam toho, co se načítá. Než se jádro začne načítat, provede rychlou kontrolu hardwaru. Pokud má problém se zapínáním jakéhokoli hardwaru, vypíše chybu ACPI. Pokud vidíte chybu ACPI, možná budete potřebovat parametr jádra ACPI.

Výběr parametru jádra ACPI.

Bios nebo UEFI používané vaším notebookem vyhledává určité „identifikátory“ v tom, jak zacházet s vaším hardwarem na základě operačního systému (OS), pro který byl navržen. Dělá to prostřednictvím „volání“ ACPI z operačního systému do biosu. Když vidíte problémy, jako jsou uvedeny výše, znamená to, že bios nerozumí hovorům, které mu OS posílá. Dobrá věc je, že ACPI používané ve Windows i Linuxu se řídí specifikacemi UEFI1, oba používají stejné řetězce OSI k identifikaci použitého OS. Na rozdíl od jádra Windows může jádro Linuxu určit, jaká „volání napájení“ se odesílají do biosu pomocí těchto řetězců OSI v parametru jádra ACPI. Přidáním těchto parametrů můžete v podstatě říci Linuxu, aby „napodoboval“ volání ACPI odesílané jiným OS.

Když jste si notebook zakoupili, pravděpodobně byl dodán s předinstalovaným systémem Windows. Verze systému Windows, která byla nainstalována, je vaším prvním vodítkem při zjišťování, který řetězec OSI potřebuje váš parametr jádra ACPI. Od Windows 2000 do Windows 8.1 můžete použít název vydání Windows k nalezení řetězce OSI, který byste měli použít. Protože však Windows 10 používá model „rolling-release“, nalezení řetězce OSI, který potřebujete použít, vyžaduje trochu více práce. Chcete-li zjistit číslo instalační verze systému Windows, otevřete příkazový řádek ve Windows a zadejte winver. Tím získáte verzi systému Windows následujícím způsobem, Windows 10 verze 1607 . To jsou informace, které potřebujete k určení řetězce OSI, který váš parametr jádra potřebuje.

Jakmile budete mít svou verzi Windows, pomocí níže uvedené tabulky zjistěte, jak má být vaše verze Windows zastoupena v parametru jádra.

Argumenty OSI pro Windows

Jakmile budete mít svůj řetězec OSI, máte nyní všechny informace potřebné pro váš parametr jádra.

Aby Linux napodoboval vaši verzi Windows, musíte přidat následující parametr jádra, acpi_osi='OSI String'

Příklady:

Windows 7 - acpi_osi='Windows 2009'

Windows 10 ver. 1709 – acpi_osi='Windows 2017'

Všimnete si, že Windows 10 verze 1709 má OSI řetězec Windows 2017.2 a místo toho jsem použil Windows 2017. Při testování jsem zjistil, že Windows 2017.2 nebyl rozpoznán jako platný argument.

Poznámka k acpi_osi=!

Tento argument zakáže všechny řetězce dodavatele, které mohou být přítomny. Mělo by se používat pouze v případě, že jeden z výše uvedených řetězců OSI nefunguje sám o sobě. Pokud jej používáte, když to není potřeba, můžete být schopni zavést systém bez chyb ACPI, ale váš touchpad nebo wifi nebude fungovat. Musí být také použit v kombinaci s jedním z výše uvedených řetězců OSI.

Příklad:

acpi_osi=! acpi_osi='Windows 2012'

Tím se deaktivují všechny řetězce dodavatele a pak jádru řeknete, aby „napodobilo“ Windows 8, když bude mluvit s BIOSem.

Poznámka pro notebooky Dell

Někdy výše uvedené parametry jádra nebudou na některých noteboocích Dell fungovat správně. Pokud je to váš případ, můžete zkusit následující: acpi_rev_override=#nahraďte „#“ číslem od 1 do 5. Aby byl tento parametr jádra správně aplikován, může být nutné dvakrát spustit studený start (úplné vypnutí systému před restartováním).

Testování parametru jádra ACPI

1.Stiskněte „E“ na obrazovce grub a najděte řádek s parametrem „quiet“.

2.Nahraďte slovo „guiet“ parametrem, který jste určili, že potřebujete.

3. Stisknutím F-10 spusťte počítač.

Přidání jádra ACPI do grub

Jakmile najdete argument jádra, který nejlépe funguje pro váš hardware, musíte jej přidat do grub, aby byl použit při každém spuštění systému. Je to jednodušší, než to zní. Problém většiny uživatelů je syntaxe nebo způsob, jak ji napsat na příslušný řádek. Klíčem k uznání argumentu je používat pouze „jednoduché uvozovky“, nebo jak jim ve Spojených státech říkáme apostrof. Chcete-li přidat argument do grub, otevřete terminál a zadejte následující:

1. sudo nano /etc/default/grub

2.Přidejte argument jádra na následující řádek: GRUB_CMDLINE_LINUX_DEFAULT .

Příklad:

            GRUB_CMDLINE_LINUX_DEFAULT="acpi_osi='Windows 2018' rd.udev.log-priority=3 
            nvme_core.default_ps_max_latency_us=5500"
          

3. ctrl+x pro ukončení a „Y“ pro uložení.

4. sudo update-grub nebo pokud nemáte update-grub nainstalován AUR, spusťte sudo grub-mkconfig -o /boot/grub/grub.cfg.

Nyní byl váš argument jádra přidán do grub a bude načten při každém spuštění notebooku.

Toto není v žádném případě vyčerpávající průvodce používáním parametrů jádra ACPI. Chtělo by to mnohem delší dokument. Místo toho poskytuje některé základní pokyny, které lze dodržovat, aby byl systém uveden do provozu. Pokud stále máte problémy s ACPI a potřebujete pomoc s jejich řešením, máte několik možností. Nejprve prohledejte fórum, abyste zjistili, zda byl váš problém již dříve vyřešen. Pokud to váš problém nevyřeší, vytvořte nové vlákno podpory na fóru, kde bude váš problém diskutován. A to buď na našem discordu nebo jákém koliv s linuxovou komunitou.

Další poznámky:

Parametr jádra apci_osi=Linux lze použít v novějších (konec roku 2019 a novějších) noteboocích Asus k vyřešení problému, kdy externí port HDMI nefunguje. Použijte tento namísto parametru souvisejícího s Windows .

Zdroje:

https://uefi.org/specifications

https://docs.microsoft.com/en-us/windows-hardware/drivers/acpi/winacpi-osi

https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt

Původní článek z roku 2021

Kankys 18.4.2024