středa 7. ledna 2015

Tablet, Windows 8.1 a InstantGo

Můj tablet ThinkPad 10 ve spojení s Windows 8.1 mě snad poprvé nemile překvapil. Řešil jsem problém s tím, že se mi při uspání docela vybíjel. Někdy vydržel v režimu sleep jen přes noc a tak jsem po tom začal jít. Opět se ukázala má základní neznalost....

Problém jsem začal větřit v okamžiku, kdy jsem zaregistroval, že i po uspání tabletu dostávám akustické upozornění na novou poštu. V režimu sleep, to je hodně divné. Říkal jsem si, že se asi jen kvůli něčemu vzbudil, což se může stát. Jenže pak se objevil problém s vybíjením a už bylo jasné, že není sleep jako sleep. Ponořil jsem se do toho trochu detailněji, abych ke svému překvapení zjistil novou feature Windows 8.1, kterou je režim InstantGo. Tento režim zjednodušeně znamená, že zařízení úplně nespí, ale je v nějakém ultra low aktivním režimu a dokáže právě například generovat notifikace o nové poště apod. To by samo o sobě nebylo tak špatné, ale problém je v tom, že s tím musí být perfektně sladěn HW a vyladěny ovladače, jinak je to tragédie. Celé je to umocněno  tím, že ThinkPad 10 (a zřejmě to bude dělat většina takového HW) už klasický sleep režim S3 nepodporuje.

Pro srovnání, výpis podporovaných režimů na notebooku Lenovo W520:
Z výpisu je vidět, že je podporován režim S3 (sleep)InstantGo (Standby (Connected)) podporovaný není.

A teď výpis z tabletu:
Jak je vidět, je naopak, InstantGo je podporovaný, ale S3 ne. Tím není ni podporován Hybrid Sleep. 

Když jsem si s tím hrál, tak jsem nastavením WLAN síťové karty docílil stavu, že InstantGo začal hlásit, že není podporován, protože WLAN nepodporuje WakeUp. Zaradoval jsem sel, ale radost byla předčasná, režim S3 se neobjevil a naopak, zcela zmizela volba Sleep i z menu Windows. Protože je navíc i standardně zakázaná hibernace, tak zbyly jen možnosti Restartovat a Vypnout. Hibernace nejde nijak uživatelsky zapnout, musí se na to jít přes registry nebo gpedit (detaily například zde http://www.thetechchat.com/2014/07/14/surface-pro-3-tip-how-to-hibernate-and-keep-instantgo/ ) a naštěstí funguje. 

InstantGo samo o sobě není špatný nápad. Windows 8.1 mají i detailní nastavení, kdy mají běžet na pozadí notifikace apod., ale musí to být dobře udělané. Naštěstí Microsoft implementovat monitor toho, který HW v režimu InstantGo spotřebovává energii, lze to zjistit pomocí příkazu 
"powercfg /sleepstudy". Po spuštění se vygeneruje report, který přehledně ukazuje spotřebu HW. V mém případě to nakonec nebyl problém hardware, ale způsoboval to Google Chrome, který po nějakém proběhlém eventu zablokoval opětovné usnutí a tím se tablet vybíjel. Teď jsem tedy ve stavu, že přes přepnutím tabletu do spánku zavírám Chrome (stejně žere strašně RAM :-) ), nebo provádím hibernaci. Dále výrazně pomůže vypnout radio (nejrychlejší je aktivovat režim letadlo). Ale to vše je pakárna.

Na celé věci mě nejvíc štve, že prostě není výběr. Buď InstantGo nebo S3 :-( . Nezjistil jsem, jestli je to věc hardware (Intel nebo Lenovo), nebo zda to není jen nějaké omezení implementované na úrovni BIOSu.

Pro zájemce uvádím odkazy na zajímavé čtení o InstantGo: